talkingaboutpeople

DT: Tuning Conversations

Hey everyone, in this Desktop Tuesday, we conclude our sequence on how a feature goes from idea into the game by talking about how we use your feedback to tune and test the conversation feature. Also, if you enjoy Desktop Tuesday, please take this survey to help us with future Desktop Tuesdays!

Tuning Conversations

For the last few weeks we’ve been talking about hearthling conversations as a means of illustrating the many steps required to bring a feature design Into art and code and finally into the game. But once it’s in there, how do we test if it’s working as intended?

The first person to speak for a feature’s readiness is QA Analyst Ana, who many of you may know as Relyss, co-creator of the candyland mod, creator of the terrain tiles mod, and creator of the lights and fountains in our startermod folder. Ana joined our team full time a year ago, and in her function as analyst, she must verify that a feature is functionally correct–for example, that a conversation should transition from greeting to subject to reaction. For this she tests the feature in an isolated test environment, or asks engineers like Linda to create inspection tools, like this hover that tells you what animation a hearthling is playing at any given time.

Once Ana knows a feature is technically correct, she puts on her player hat and tries to see if the feature fulfills its original gameplay goal: in the case of conversations, to commemorate events that have happened in town from your hearthling’s perspective. For conversations, she examined whether the conversations felt like they happening too often or just often enough, or if they’re too long, or if the bubbles are too distracting, or if the subjects made sense in context. For example, she pointed out that since early conversations happened only when pple were idle, a lot happened near the firepit and people ended up overlapping, since hearthlings have no collision with each other (a decision we made a long time ago for pathfinding performance reasons). As a result Linda went back and wrote more code to make sure hearthlings were standing clear of each other during conversations.

Once Ana is satisfied, we are still not finished, the team, and then you, the wider audience on Steam Unstable, play the game and send us all your feedback. Having a broad testing community is especially important since our game is a simulation, and issues can arise whenever any feature interacts with any other. For example, how do conversations interact with restocking? How about patrolling? How about eating? Conversations influence mood–do they create too much of an impact on the town either by making everyone happy all the time or by spreading around a sense of doom?

For example, one important issue that you guys helped us catch was that conversations were happening way more than they should, interrupting other, more important tasks. We had the hardest time reproducing this, and it took saves from Fornjotr, Brenton_Costa, Bruno Supremo, and Michael Handy to help us narrow the problem down and fix it. As it turns out, really big saves from older alphas had data that conflicted with an unrelated pathfinder change we made as part of engine work we did on the renderer. This was causing the CPU to max out, in turn causing hearhltings to idle, and since an idle activity is having conversations, it looked as it conversations, not CPU peggage, was interrupting all other tasks. We probably never would have found this serious issue without all of you, and so we’re always grateful for your saves and bug reports.

There were many more tuning issues in this vein that you pointed out: that conversations could make people too unhappy, which we’ve hopefully fixed by preventing negative thoughts from stacking, and that conversations can sometimes happen when people are really far away, making people look like they’re talking to themselves. There was also a hilarious bug that Angelo found, in which hearthlings who had rescued,and therefore interacted with other hearthlings, would talk about having “carried humans” which resulted in this awesome image of hearthlings talking about… hearthlings.

On the whole, though, and in addition to the hilarious bugs, we’ve been noticing that more and more people are telling stories about their hearthlings’ relationships: for example, a carpenter tells his neighbor about how horrible he finds doors. The next day she returns, confirming his observations are correct and reminding him of his frustrations. They leave cheered by their newfound solidarity that wooden doors are awful.

This means that the feature is indeed working as intended: people are getting feedback about their actions through their hearthlings. We’ll have a lot more to add in the future–social relationships, for example, built on friendships and rivalries, but for now, we think this piece of core gameplay is successfully in place.

And this brings our series on conversations to a close! As demonstrated by conversations, Team Stonehearth is discovering a new way to work, in which new features are designed and implemented as a cross-functional effort. Though things may take longer to build than they used to, we believe that they are richer, deeper than they would be otherwise, and that they’ll integrate well with future features to create an even smoother gameplay experience to come. We also hope you understand how important your feedback is to the development of the game, which is why we budget time to absorb and tune the game based on your comments and suggestions.

Last note before I end this series–as the way we work has changed, the content of Desktop Tuesday has also had to change. The goal of Desktop Tuesday has always been to show off something that was in progress or new that week, but in previous years, with everyone working on small, separate features, there was almost always something new to show week after week. Now that features take longer, and the whole team works on one primary feature, we’ve pivoted our DTs to deeper dives into each topic. Before we go too far down this road, I’d like to ask you–what topics would you like to hear about from us in future Desktop Tuesdays? What really interests you about either Stonehearth or a life in game development? Let us know your thoughts on this question here in the comments, or on our forum at discourse.stonehearth.net, or on this survey here!

Other Announcements

Stream! This week, we have another engineering stream, as Angelo continues his exploration of the modding infrastructure

Also, Desktop Tuesday will be suspended next week due to American 4th of July. We return on Tuesday, July 11th.

Team & Schedule Updates! The team has spent an increasing amount of time over the last few weeks on long-term projects–building, water, tech-debt, and high-level metagame design. Instead of starting work on Alpha 23 immediately after finishing Alpha 22, the most of the team will focus on bringing these projects to a good place before returning to feature work. This means that over the course of the next couple months, please expect only modest gameplay updates to A22–bugfixes, healing and pets, for example, before we begin work on A23 and our next gameplay target–updates to our crafting system–in late summer/early fall.