We continue working on conversations and a bunch of engine stuff!
Improvements in this Release
Updated SFML to latest. This is our sound library, so if you see weirdness with sounds, file a bug! Also, this fix is supposed to help Symantec, Avast, and other antivirus not flag SFML as problematic (even though we know it's safe) so if your antivirus is having trouble with it or with Stonehearth, let us know (and then let them know it's a false positive). Thanks to Justin for his incredible work on this very weird not-bug.
Added support for arbitrary window aspect ratios. You can now play the game at 4k resolution, or in a tiny window the size of your calculator. Or vertically, without any black bars. This was a side benefit of the work Max did to reduce fuzziness in conversations bubbles but we're very happy to have it. Unfortunately, all our monitors are the same size, so please go try it on a bunch of different machines and tell us how it works for you!
Added UI scaling to support higher resolutions.
Added the empathetic trait. Empathetic hearthlings are really sensitive to the mood of the town, and it always seems to rub off on them. Yay, more conversation traits!
Fixed hearthlings starting with less than the minimum number of total attribute points (combined mind/body/spirit) on the customization screen. E.g., hearthlings with 1/1/1 stats.
Fixed shepherded animals having a mood icon above their heads.
Whoa, Desktop Tuesday on a Monday? I'm traveling for work tomorrow, so posting this 24 hours early.
This is week four of our deep-dive into the conversation system, as part of an ongoing series that illustrates how a Stonehearth feature gets from concept into the game. This week, let’s swap over to Engineering! If you’ve ever wanted to write code for a game on a small team like ours, what goes into making a feature like conversations?
Keep the conversation going about, um, conversations! More tweaks and bug fixes inside today’s build.
What's In This Release
Reduce the happiness impact of thoughts received after a conversation by having them not stack, so that a line of good or bad conversations doesn't dramatically sway the happiness of any particular hearthling.
Fix pets getting a mood icon above their description bar.
Fix conversation icons not generating correctly for some games, which caused conversation subjects to appear blank.
Fix hearthlings falling asleep on the ground at exactly the same time on a new game.
Third in our continuing series showing how a feature gets from design into the game, with a focus on conversations! This week, let’s look at how Artist Allie, with the help of Malley and Engineer Max, designed the look and feel of the thought bubbles so that they both show subjects--things hearthlings have recently interacted with, AND how each hearthling feels about this subject.
Important Note: Stonehearth uses a common .dll (sfml-system-2.dll) to help manage audio. It seems that this file is sometimes triggering a false positive with Symantec antivirus programs. Stonehearth does NOT contain any malware, and you may have to create an exception for this file in order to run the game. Please let us know if you encounter this issue.
Alpha 22: Conversation Piece
You talking to me?
Welcome to the Steam unstable (latest branch) debut of Stonehearth Alpha 22! This release focuses on the full introduction of Conversations, a feature which builds on the Happiness and Trait systems launched in previous Alphas, the combination of which deepens the impact of hearthlings' interaction with their world and each other (and with you!).
A bit of background: As we’ve been emphasizing for a while now, we believe that Stonehearth is, at its core, a game about people -- that is to say, your intrepid band of hearthlings and their struggles and triumphs as they seek to survive and thrive in an unfamiliar environment. So we want to bring features to the game that further engages you in their lives, bringing them to life as individuals and as a community, and that reflects their development as your settlement grows.
Out of the mouths of hearthlings
While Stonehearth has had hearthling conversations for a couple of alphas already, they have until now been idles that contribute only slightly to your sense of the hearthlings as people (while also serving as a tech demo showing two entities with AI interacting outside the combat system). We knew, though, that we had to go deeper. In Alpha 22, our first step was to define the goals of conversations: how will they make the game better? We decided that conversations should further accomplish our gameplay mission of inviting you to engage with hearthlings as individuals. This means we want the conversation system to perform the following three functions:
Commemorate things that have happened in the game. If your hearthlings have recently encountered goblins, the game should change to reflect this, for example, by having your hearthlings talk about it.
Highlight hearthlings as individuals. for example, by giving them opinions about stuff that has happened to them; liking the cornbread they’ve just eaten, or not liking the goblins they just encountered. Over time, hearthling experiences would cause them to accrue different likes and dislikes from each other.
Establish conversations to create new systems that can be tied to the larger game: for example, by integrating conversations into the traits and thoughts systems.
So how do these conversations appear? You’ll see now that one hearthling may approach another to initiate a discussion. The topic of that discussion will appear as an icon above the hearthling’s head. The possible subjects for a chat are many and varied:
Concepts such as darkness, death, town status, and even those mysterious cultists (what are they up to, anyway?)
Actions such as mining, building, etc
Items such as food and crops
Animals -- free-range critters, but also the domesticated ones
Monsters because who wouldn’t talk about monsters?
Once a conversation is begun, you’ll see a back-and-forth between participants, reflected in the changing icons. Ultimately, hearthlings will have emotional responses and reactions to the discussion, which can range from positive (agreement! happy!) to neutral (whatever.) to negative (sadness or anger).Your hearthlings’ awareness of topics grows as they do more things, and their opinions on those topics grow and change as events occur to them and as others talk to them. Their opinions on topics do not yet affect gameplay (for example, does not currently change their stats) -- but that certainly is a possible future development path.
What do you think? Talk to us! (We go meta: conversation about conversation.) This initial release of the Conversation feature is by no means complete (in subjects, responses, and ultimate impact on the hearthling and the settlement) -- we’d like to hear your thoughts about the feature and how you see it affecting how you play the game.
When all is said and done
It is worth noting that Alpha 22 is an even purer version of a pattern we’ve introduced over the last few releases, in which the whole team -- artists, animators, engineers, designers -- worked collaboratively on a single primary feature. This is a departure from our past approach, where individuals would work separately on different features and then we’d throw them all together for the release. While this did result in more individual features appearing in a given release, we have come to realize that it’s not the best long-term approach for us to take in planning and developing the game.
The isolated, siloed approach meant that we did not always take into account how a given feature might impact future development on related features (perhaps forcing us to redesign or rewrite things). Working collaboratively now on more complex, deeper foundational features gives us deeper individual features and is something of a “go slower now to go faster later” approach… something that will create a strong infrastructure for the game we want to bring you.
That does not mean, however, that this Alpha is limited only to Conversations!
As part of developing this feature, we actually spent a great deal of time with Stonehearth’s engine.
Tony (yes, he’s still working on the game!), Angelo, and Max (our newest engineering heavyweight) isolated the renderer into its own abstraction layer, dramatically simplifying its impact on the codebase and making it easier to understand and use from an engineering standpoint. The game should run as it did before, so it's relevant primarily because it might cause bugs. let us know if you see visual glitches that didn't used to be there… But overall, this is a significant leap forward in how the engine functions in the game.
Justin created a new interaction service that allows you to get data out of the AI system without having to touch AI files. This is not only useful for getting subjects out of AI actions for conversations, it will be useful in Future Stonehearth for any system, internal or modded, that needs to know what hearthlings have been doing and build on that knowledge.
Max wrote a basic animation blending system that begins to clear up the "popping" that can happen as we switch from one animation to another.
As always, please give us any and all feedback you may have on our forums at discourse.stonehearth.net or on Steam. Let’s have a conversation about Conversations.Thank you once again to all of you that help us test and improve our game! We appreciate it more than you can imagine.
This week we continue with our deep-dive into the conversation system, as part two of a series that illustrates how a Stonehearth feature gets from concept into the game. Today's focus is on the 20+ animations Malley made this month to bring the conversation system to life.
Stream! Stream should happen as usual this week, on Thursday, 6/8, at 6:00pm PST.
Other Work! Some of you have asked for updates on stuff we’re working on outside of conversations, so for completeness sake, let me mention some of the long-term projects we have going on in the background–active work on building performance and AI, prototypes to work out overarching metagame design, fixing endless edge cases with water volumes, and high level art concepts for future features.
New Engineer, Max Al-Shawabkeh! I’d also like to introduce you all to team Stonehearth’s newest engineer, Max! Max’s favorite games of 2016 were Rimworld and Stardew Valley, and he’s always wanted to make a city builder. Previous to Stonehearth, Max worked on other projects at Riot, and previous to that, he was a Tech Lead at Google working on Google Earth. Since joining Stonehearth a couple of weeks ago, Max has already made dramatic improvements to our animation technology, great contributions the engine work Tony and Angelo have recently done on a massive rendering abstraction project, and worked closely with Allie, Malley, Justin and Linda on the tech for showing thoughts inside conversation topics. We’re incredibly thrilled to have his talent, perspective, and taste on our team and we think you’ll agree–currently, his favorite Stonehearth food is berries, until we add either steak or ice cream.
How does a feature evolve from a design idea into code, art, and finally get into the game? Let's take a look at each step in this process, focusing on the keystone feature of the upcoming Alpha 22, Conversations! In part one we focus on the work Designer Richard does to conceptualize a feature, and share it with the team. Note: Conversations are still in development, so the screens in this video are all in-progress.
Update: Thursday's stream this week is cancelled due to scheduling issues. But we'll be back next Thursday, 6/8, at 6:00pm PST.