Wow, Stephanie covered most of my questions to the end of the video! Nice to know that Workshop is an option, to a necessity.
I feel it to be important to stress out that some kind of a rough in-game integrity check would be nice, to ensure all players in a multiplayer game use the same mods. Something similar to Starbound’s system would be nice, when a client warns you when your game resources don’t match those of the one who hosts the game.
One option would be to add pre-check based on comparing mod names (and maybe manifest hashes?). Is there a “mod version” field anywhere in the manifest?
Great Video, glad Stephanie covered so much. The little blurb at the bottom of the page was interesting as well.
Additionally, Before You Go!
Do you have questions about this Desktop Tuesday? Ask away! Here are some I had as I was reviewing it for posting to youtube:
Q: You say the engine is complete? What does that actually mean?
It means that we feel that the tech supporting Stonehearth’s core features is in and in a sufficiently stable place to allow other people to start making mods on top of them. These features are, at a high level: core ai, building, crafting, combat, multiplayer, and top-to-bottom moddability.
Q: But what about Dwarves, or the Northern Alliance? Does engine complete mean you’re not going to add stuff (or my favorite feature) any more?
Engine complete does not mean content complete — it means the core functionality we need is all there for us to build the content we’ve planned; it also means that modders are able to create without worrying that every alpha will upend all their great work. Last year I talked a lot about working on core features before dimensionalizing content; think of this as us moving from that first phase into this next one.
Q: BUT THE MAC PORT?!
Yes, that’s still planned, and can infact move a bit faster now that the engine is not expecting massive changes.
I think we use hashes for this. So you need to have the exact same mod version than the host in order to connect. We still have to polish some edge cases on conflicting namespaces. Disabled mods and localization mods are not checked for synchronization when you try to join a multiplayer game.
Y’all are crushin’ it so hard. It’s not just like Christmas, it’s all the holidays in one lol. We got flowers with cake then you added sprinkles …and then ya went and dropped a house on it We aren’t in Darkmoor Forest anymore poyo . Keep up the great work Stonehearth Devs!!!
I dunno, there’s snow on the ground here, I would believe it was Christmas again, lol
I am loving the updates - even actually finally got around to putting something on the workshop, woo! >.>
Curious about the engine being feature complete: Are additional or improved graphical effects still possible in the future? Thinking about an AO overhaul and other shaders like bloom, DOF and the likes.
Yes. Most of the graphic stuff is in the Stonehearth mod, and can be modded to be completely different.
Alright, thanks for the info.
I’ve since shut up about Steam Workshop. It’s pretty good, y’all.
I hear ya, snow on the ground here as well. Was all nice and clear and got up to 60F and then BAM!
No point posting here any more
Is it possible when uploaded to Steam to rezip the directory into the .smod? As it is now the file sizes are fairly large. Thanks.
I believe it is non-trivial because Steam wants folders, and working around it would not be worth the effort which could be used on more critical features and optimizations, but @ayazar would be able to answer this definitively.
Understand. I wasn’t sure if it was even possible due to the terms of using the Steam provided workshop. As it was pointed out my Armis mod is 314+ MB unzipped but just above 2MB in compressed format.
Hello yes, Steam asks for folders - from the Steam docs: “For efficient upload and download, files should not be merged or compressed into single files (e.g. zip files).”
wow that compresses well. Maybe Steam wasn’t anticipating that case when they wrote their docs
Yeah honestly it probably has more to do with P2P style of distribution but past that I really am struggling to think of any other reason. I suppose it could also be to hash all the files to ensure integrity or scan them for malicious content as it would take more overhead to scan a compressed file. Must be nice to have unlimited storage.
I bet it’s a bandwidth optimization on their side, I’m guessing they can figure out which files have changed and only upload diffs of those; that way patches are smaller when they come in and they don’t have to stream the whole thing over again to all players.
Agree as it makes the most sense. Thanks.