How will the dialogue system work in Innkeep? In this article I dive down into my solution for bringing together two conflicting orientations: one the one hand, a system that pauses and lets you take your time reading. On the other hand, a system that restricts you by making conversations consume time, forcing you to choose who to speak with, and how much.
In my previous development diary video I had occasion to dig down a bit into what I have planned for guest interaction, including conversation. Today I thought I’d explore this topic in written form and in a bit more detail. In particular I want to focus on conversations. There’s no need to have watched the above video to follow along with this piece (although by all means take a look!)
First though, for those of you who are not familiar, what kind of game is Innkeep? What is it about?
Innkeep is a game about being an Innkeeper, about running an inn located on some lonely stretch of road in a low-fantasy setting. In this fantasy, however, you aren’t the adventurer going off and delving into dungeons. You’re the fellow who serves the adventurers drinks afterwards, who shares rumors with them about an upcoming quest, who tells tall tales and bawdy jokes to raise their spirits, and who profits when said adventurers get too drunk and loose with their coin. But you are also the fellow who spies on them as they gather in the common room at night, assaying the worth of their trinkets, making a mental note of the fineness of their clothes and the fatness of their coin pouches. You are the fellow who eavesdrops on their conversations, storing away any valuable information, finding out if a merchant has done well in town, or if a dungeon raid was successful. And you are the fellow who sneaks into the rooms of the drunkest of the guests at night and rummages about in their backpacks, slipping chains from necks, checking boot heels for hidden gold, wiggling rings from fingers. In other words, you are an accommodating and oh so welcoming host, a jolly good man, and a parasitic thief. A ‘hieroglyph of Good and Evil.’ Who do you help? And how much? Who do you rob from? And how much? For these choices, you are responsible. The scarcity of supplies, the difficulty of the situation, might serve to push you towards ‘easier’ choices, but they will remain your choices (there should always be an alternative). The skilled player might survive by merely skimming a bit off of rich merchants and foolish adventurers. The less skilled player might find it necessary to rob more from their guests, but justify it as necessary to help others. The poor player or fiend might decide to rob everybody they possibly can, but they run the risk of punishment from their victims, or at the very least a bad conscience. Whatever your approach or skill level, however, to play Innkeep means navigating this duality of looking after your guests, and ‘looking after’ your guests. And a core part of this navigation is conversation…
So… how will conversations work in Innkeep?
Let me attempt to answer that by taking a brief look back at how RPG conversation systems used to work, before we entered the era of the branching dialogues that we are now familiar with.
In the era of the 1980s and games such as the Ultima series (I-VI), you had conversations with NPC’s by typing in keywords. For example, you might type NAME, to learn the NPC’s name. JOB, to find out who they are. And BYE, to end the conversation. Typically, typing in JOB would lead to some text that would include more possible keywords. The interesting thing about this system is that at any point you could potentially talk to the NPC about anything at all. It is simply that you do not know what to ask. You might think you have exhausted all possible conversation topics with an NPC, only to find out elsewhere that you ought to speak with them about topic X. Or you might have simply overlooked a keyword (if they are not highlighted or in capital letters), missing a piece of conversation. Or you might have failed to use your own initiative in asking them about a certain topic that they –might – know something about.
Today, this system is defunct for all intents and purposes, a piece of RPG history. Its successor, the mighty branching dialogue, reigns supreme. And for good reason: Having to type in keywords made sense when the keyboard was the main tool through which we interacted with the game world, but we now live in the age of the mouse (and the gamepad). Clicking on things is second nature, and most of us would balk at the idea of manually entering in keywords. The branching dialogue is also better at simulating the flow of a conversation. When we once used our imagination to fill in the gaps of the simulation, turning 8-bit pixel characters into actual people, and short lines of text into real dialogue, we now ask the game to do most of the work, up to and including voiced dialogue. In such a context, disjointed, isolated topics of conversation make little sense.
However, as with the ‘evolution’ of many techniques or cultural artifacts, the new is not entirely superior to the old. We lost something when keyword dialogue systems faded away. What we lost, I think, is something of the mysteriousness inherent in conversations. When we speak with a person in real life we do not choose from options 1, 2, 3 and 4. There are potentially a thousand things we might ask or say. And we do not know exactly what our options are, and what we might learn. With the keyword system, the NPC retains a degree of inscrutability. Yes, in reality they are a simple system that spits out text in return for entering in a keyword. Yet the fact that you have entered all the obvious keywords within the strings of text you have read does not exclude the possibility that there are other things you could ask them about, if only you knew what. This means that they are always a little bit unknowable.
By contrast, the branching dialogue NPC more or less has all their cards on the table. The conversation branches are there for you to see and select from, and, eventually, to exhaust. Anybody who has played an RPG from the 90s (think Ultima 7), will be familiar with that phenomenon of entering a town and having it initially be full of life, full of conversations, full of things to learn. You proceed, one person at a time, to speak with every living soul in town, about every topic that they can tell you about. Until, at the end, there are no more words left. You have effectively read everything. Yes, you may have to return to some characters once a quest unlocks a new little piece of dialogue, but for all intents and purposes you have ‘completed’ the dialogue portion of the town. We have here a little bit of that valley effect (I won’t say ‘uncanny’ here, but certainly a valley), where more detail actually has a somewhat counteractive effect: i.e. the effort put into simulating real conversations can conversely make this experience of ‘completing’ a town more pronounced. (Compare this phenomenon with the cities and towns in the Witcher III or RDR2 are filled with NPCs going about their business who have no text dialogue at all, combined with ongoing revisiting of locations for the sake of extremely rich quests… a retreat from trying to simulating dialogue with every living soul can mean a somewhat more believable world.)
So much for my potted history of dialogues in RPGs. What about Innkeep? The situation with Innkeep is a little unusual, as like many indie games it straddles a few different genres. The Ultima series has obviously had a big influence on me, and I do think of Innkeep as a kind of micro-RPG in a way. I want you to be able to speak with NPCs just like you might in an RPG, enjoying the power of the written word, digging into text in order to interact with your guests and learn more about the inhabitants of the world. From the beginning, I was motivated to make a game set in an inn exactly because it is the perfect excuse to have a whole world’s worth of characters come to you, instead of the other way around. A nice work-around where you have the novelty of the new, without me having to attempt to actually create the world they belong to, outside of the walls of your establishment. On the other hand, Innkeep is also something of a management sim. You cook and serve food. You assign guests to rooms. You pour and serve drinks. There is hustle and bustle, and a timer counts down the hours left until another day is done and you are left to count the gains and losses. Here, I draw on games such as This War of Mine, or Papers Please. The problem for me is that these games use only minimal text, which is displayed (to great effect I think), while the clock is ticking. So we have here two very different approaches to in-game dialogue that are in conflict. To summarize my problem, I wanted RPG style paused dialogue, where you can take your time to read fairly lengthy strings of text, but this needed to be incorporated into a game where you do not have infinite time in a day. How could I let the player walk around talking to everybody about every possible thing, when there are guests calling out for ale? When you are supposed to be hustling and bustling about the place trying to both serve and spy on your guests at the same time?
My answer to this problem is the following: I will have paused conversations, but require that following up on conversation options will cost not only real game time (a fraction of a phase of the day), but also potentially some amount of emotional energy (representing jolliness / merriment, that is periodically replenished if you have eaten or drunk, but is still fundamentally limited). This means that you can talk with somebody without rushing through the text, but at the same time, you are not free to simply click through every single bit of conversation without causing somebody else to get mad about the lack of service. Instead, you might have to talk a little, duck away to do a bit of serving, and then return later to pick up where you left off. Furthermore, and most importantly, while you might be able to talk to somebody in depth throughout the evening (perhaps you suspect they have some nice loot and want to find out), you certainly do not have time to talk to everybody that is there, especially once the game progresses and you have more than a handful of guests visiting. No matter what you do, you are going to have to leave certain conversation trees concealed, certain things unread, certain stories unheard.
This might sound fairly annoying and/or wasteful. Why bother going to the effort of writing dialogue that players are going to be unable to read? And why tease players with that dialogue? The value of this constraint, I think, is that it captures a little of what I spoke of above as being lost when we moved away from a keyword based dialogue system: that NPCs remain a little bit unknowable. By the same token, it helps prevent that phenomenon of ‘exhausting’ conversations that is typical of your classic 90s RPG. In Innkeep, the NPC’s are unique. Each one has their own story, and their own secrets. And you might be able to find out what some of those are. But, you are not the center of their universe. They are not hanging around waiting for you to ask them things. They are visiting your inn for just one night, and then they are gone. Who is to say what you missed when you decided to talk more with this person, and less with the other? Whatever your choice, the fact remains that you made a choice, and the rest remains a mystery to you. That NPC who appears poor and destitute might actually know something of value. That adventurer might have valuables in their backpack, but perhaps they have stored something of even greater value elsewhere on their person that you don’t know about. The point here though is that the negative of missing something is tied to the positive of finding it. Having a mystery makes it possible that you might uncover said mystery. And leaving things unread means that your experience of the game can be something quite unique, worth sharing with other players. It also might push to you play the game a second or third time, and make different choices.
Along with the time constraint that forces you to choose who to speak with about what, there is another dimension to this system that I think helps to enhance this positive ideal of the ‘unknown’ in NPC dialogue. I also discuss this in the above mentioned dev diary video, but the player has other ways of interacting with guests above talking with them and serving them. They can also observe (spy on) them, and eavesdrop on their conversations. Both of these actions are activated on either a single character or on a single group (table) of guests at a time, and is open ended. That is, rather than a timer that completes, it is an ongoing cycling that throws up information over time in a way that you cannot control. While you are listening in or spying on your guests (in the meantime you can serve drinks and what not), you might collect small pieces of information that are stored in your guestbook. With spying, you might notice something about the character that guides you towards spending more time figuring them out. You notice something bulky in their backpack, for example, and you want to find out what it is. Or you might notice some blood on their clothes, which raises all sorts of questions. It is also possible that things you notice may unlock further conversation options. But spying on a guest will never be a guarantee of finding something juicy. And how long it will take to notice something (if there is anything) may vary. Meanwhile, listening in on conversations can have varying results, depending on how well the characters who are speaking are getting along, and how much they have had to drink. You might be keen on finding out what a specific NPC has to say, and so this causes you to invest some time telling jokes to the table (a skill separate from the action bar that I haven’t talked about much yet) to improve their mood.
In this manner, the conversation system is part of a broader sleuthing game loop, where collecting information is both a reward for skillful play, and also a branching choice because of the restrictions of time. What I want to underscore here is that at any given point you do not know for sure that you have heard everything that even a single NPC has to say. Just as you might learn about a keyword to ask an NPC about in the old RPGs, in Innkeep you may overhear something else spoken in whispered confidence (or drunkenness) that leads to more hidden conversation branches. Likewise, talking with a guest on one day just might open up new conversation options with other guests on other days. Finally, it is possible that a guest might not want to tell you things, just because they are not sufficiently liquored up, or find you somewhat suspicious.
In summary, the entire conversation matrix of the guests who visit your inn is from a systems perspective something quite static. However, because of the way that you are restricted by time, as well as restricted by the need to ‘unlock’ certain conversation options, the effect should feel dynamic and deep. By taking power away from the player, by forcing them to choose who to speak with, and to sleuth about for extra topics to ask about, I hope to make a dialogue system that leaves the player with the feeling that the guests visiting their inn are to some degree unknowable. That there is always something left unrevealed after all is said and done. The effect, I hope, will be to encourage the player to use their sleuthing skills as much as possible, while at the same time lending all of their endeavors a kind of rich backdrop, despite their remaining in one place throughout. Well, that is the idea. Of course, as with all things in game development, the trick is in the execution!