I set out to finish the asking-questions flow.
Sprint 40: Pre-production and initialization
Planned and incomplete:
- Characters speak when TALKed to
I had to look back because I feel like where I left off last time was a million years ago, even though my progress might otherwise seems slow. But I had quite a few little pieces all add up together to make this update feel a bit more substantial.
So, quick recap: you could ask characters in the game about Topics, such as other characters or arbitrary topics, and some of those Topics will have Beliefs associated with them, which you can see in the asking-questions menus, but you couldn’t actually select them because I hadn’t implemented it yet.
Today, you can actually select a subtopic, such as the location of a character, and ask about it, and you will get an appropriate response.
Originally, the response was a bit generic and non-human sounding, but I think it isn’t too difficult, although maybe a bit tedious, to have variations in how text is generated for questions and responses to based on what is being asked.
A WHERE question uses different words (“Do you know where XYZ is?” -> “XYZ is in the kitchen”) than a WHAT question (“What do you know about XYZ?” -> “XYZ is a pigeon”).
Along those lines, I started work on modifying the text generated based on how a character came to believe what they believe. So instead of always saying, “I believe X”, they might say “I know” or “I heard” based on whether they directly know some information or if they were told this information by someone else. The work is still in progress, but the groundwork is there.
The big thing I accomplished was in making what text is shown on the screen translate into knowledge shared with the player’s party. So when a character says “I believe XYZ is in the kitchen” then everyone in the party updates their beliefs about XYZ.
And tying all of the work I’ve been doing for the last few weeks together, I updated the intro script so that when the parents mention making snacks for the Explorer’s Club members and ask you to go into the basement to get a jar of pickles, “the jar of pickles” becomes an available topic with an associated belief about its location.
There’s still a lot of loose ends to work out. For instance, if the party learns something, they learn it together, but what about non-party members in the room? They don’t yet learn from what someone in the vicinity has said.
Also, if you ask someone what they know about the jar of pickles, they will still say they know nothing about them, even if they do, in fact, know about their location. So what would be nice is if asking someone to tell you about a topic might grab a random belief about that topic and share it instead of feigning ignorance. They will have to wait until I program them to be deceitful on purpose.
Behind the scenes, a lot of the work involved creating helper functions to help me manage the complexity of characters, their awareness of topics, their beliefs about individual topics, and ways to display both the belief name (“the location of the jar of pickles”) and the value of that belief (“basement”) to the player.
Also behind the scenes, I am still learning about linguistics and philosophy. I am currently reading Umberto Eco’s The Role of the Reader, and even though I am still slowly making my way through the introduction, it turns out that a lot of my work for the last few months thinking about the nature of knowledge and how it might manifest in this game and how to display it to the player in sensible ways is me pretty much being an amateur semiotician.
Thanks for reading!
Want to learn when I release The Dungeon Under My House, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!