DT: Multiplayer Q&A

Hey everyone, welcome to another Stonehearth Desktop Tuesday! This week marks a really momentous one for everyone on the team because now, both the new builder AND multiplayer are on the Steam Unstable branch. All week, we’ve been hearing stories about the towns you’ve built together, and we’re incredibly happy and grateful to have all of you playing in our sandbox with us. As you can see from this the clip in the video below, we’ve gotten even more into our playtests than usual: here we are playing Bruno Supremo’s excellent Archipelago mod, available right now on Steam Workshop for everyone who is currently on the unstable branch. For those of you who don’t know, it’s got waves and adorable turtles; if you haven’t played it yet, go check it out!

Questions and Answers!

Recap from the video:

Since we covered some basic multiplayer concepts a few weeks ago, let’s delve deeper into some questions you’ve had, what we’ve been working on recently, and what we want to work on next. For example, we’ve heard a number of you ask: what happens when a player who isn’t the host leaves the game? Well, their buildings remain, but their hearthlings disappear so that other players’ wandering monsters don’t take them out while nobody is paying attention. Also, if you’re playing with someone, and, heaven forbid, they’re digging up under all your houses and building walls around your stockpiles so you can’t get to your stuff? In that case, the host has the ability to remove another player from the game using the multiplayer menu. Other inter-player features: if your steam privacy settings make it difficult for you to add each other through steam’s join game UI, you can also invite players into a game directly from the multiplayer menu itself.

Speaking of host abilities, many early playtesters commented that it got really weird when everyone could just change the game speed, so now the host now has the ability to toggle whether or not game speed can be controlled by anyone on the server, or only the host. From this menu, the host can also change the number of people who can join the game after a game has been created.

We also heard that you wanted a way to let hearthlings help between each others’ towns, so that some of your hearthlings can go help build other people’s houses or help them haul stuff. Non-combat job functions like farming, crafting are disabled when a hearthling is helping out with another town. Combat classes do, however, help out by patrolling and attacking enemies when on loan to other towns. You can now do this through the citizen’s menu: select the hearthling you’d like to have volunteer their time outside your settlement, and watch them go! You can take them back at any time as well.

Another thing we heard was that you wanted to have more interactions between towns, so we’re currently in the process of adding a new kind of market stall. You specify what items you’d like this stall to stock, and how much you’d like to sell them for, and merchants will come from out of town to potentially buy them. Other players can also buy things from each other using this mechanism. If you need gold to do so, and would like to borrow some from your neighbors, we also added gold to the trade UI.

We’re also working really hard to make sure that multiplayer works well with the new builder. Ideally you’d be able to create a house together, so Engineer Morgan is making sure that just like in the other parts of the UI, you can see the other person’s cursor and what they’re currently doing. There’s still a lot of edge cases going on here, though, like what happens with undo, or how to resolve what happens with fixtures like doors and windows.

Finally, we’ve heard a lot of you ask about PVP. Though we originally envisioned an async PVP mode, we no longer feel this is in the spirit of Stonehearth, and even if it were, we think that making it feel good–ie, so that it’s more than having your hearthlings run screaming away from each other–is more work than we want to take on. That said, if you’d like to make a PVP mod, you’re more than welcome to. Here’s some hints for starters: using the lua console, you can click on a banner and get the player_id of that town by typing e:get_player_id(). In this case, the two players are “player_1” and “steam_1”. You can then use the player ID of your town, and of an opposing town to make steam_1 hostile to player_1 by typing stonehearth.player:set_amenity(“steam_1”, “player_1”, ‘hostile’). Footman hearthlings can now go attack each other. Set it back by typing the same thing, but ‘friendly’ instead of ‘hostile’ and things should return to normal, though outstanding combat orders will still resolve until you change them. If you’re into modding, check out relations.lua for more information.

From a gameplay standpoint, multiplayer is mostly working as we envisioned it, so we’re pivoting our attention now to fixing performance, lag, and security issues. Expect more of this in updates to come.

Other Announcements

It’s time for a quarterly Europe Stream at 8:30am PST on Wednesday 5/9. It’s me and Angelo, so come with lots of thoughts and questions. On Thursday for our regular dev stream at 6:00pm PST, it’s me again, thinking about the Northern Alliance. See you there!

Special props to everyone from all over the community who have become friends on steam to play multiplayer Stonehearth-it’s so amazing to watch this long awaited feature of this game become real to all of you. 🙂