This Building a Village will be a little different than usual. Instead of recapping the past week's work, I want to do a deep dive on the single most important feature of Village Monsters - its dialogue system!
Each kind of game values dialogue a little differently, but it's the real bread-and-butter for a life sims like Village Monsters. Yet despite its importance, it's often a double-edged sword that can end up doing more harm than good.
When dialogue start falling apart - getting too repetitious, too predictable, or maybe even too generic - it is often a death sentence for life sims. After all, these are games that value building immersive relationships with NPCs, and there's no quicker way to ruin that then to feel like you're talking with a boring robot.
There are certainly many ways to deal with this problem: some designers prefer having strict control over the script. Others may prefer using "adlib" style conversations to give the illusion of infinite content.
For Village Monsters I wanted to try something new - and this post will talk about what I've done.
A Deck of Dialogue
Picture a deck of cards - not for a specific game or anything, just something generic.
A deck consists of many cards of various types. The cards themselves dictate how and when they can be used, and cards of the same type typically share many attributes.
The deck represents all possible cards, but you must first draw them into your hand before you can play them. After a card is played you typically discard it so you cannot draw it again.
Ok, why am I wasting your time explaining how card games work? It's relevant, I promise! You see, a deck of cards is the exact metaphor I used when designing Village Monster's dialog system.
In my metaphor, each card in the deck is a single conversation, and each conversation has a topic. For example, "Hey, you new around here? Nice to meet you!" would be a card, and its topic would be "Introduction."
The deck then represents all possible conversations and topics that a villager has available to them. Make sense? Let's see how it's used.
While the process is invisible to the player, the exact moment you enter a conversation is when the magic really happens.
First, a snapshot is taken of the world. This snapshot asks many questions about the current state of things, such as:
- What time of day is it?
- Where is this conversation taking place?
- What's the weather like?
- Did the player do anything cool lately?
- Is it a special holiday or event?
- When's the last time a piece of lore or story was shared?
The answers to these questions help establish the context the conversation is happening in. A rainy day could mean that the villager comments on the weather. A new player who hasn't gone fishing may get some advice on how to get started.
To continue the deck metaphor, this process is like searching the deck for cards of specific types and adding them to your hand.
Now it's time to 'play' one of the cards - in this context, that means selecting the actual set of dialogue for the villager to speak.
Of course, a bit of randomness is needed to make it less predictable for the player. The exact card that the villager ends up with is always randomly chosen from the hand we just made. That particular card is then discarded while the rest are shuffled back into the deck.
One last thing: in truth, the card is not really discarded. Instead, it sits outside the deck to ensure that it doesn't come up again too soon. After a period of time it's re-shuffled into the deck and can be picked again - and hopefully by then it won't come across as too repetitious.
Putting it Together
In summary, this 'deck-style' system allows villagers to have natural sounding conversations while minimizing the player's ability to predict what they'll say. By tracking which cards were 'read' we can also ensure that players are never punished with repeat conversations for talking a lot to a villager.
All of this accomplishes our main goal: speaking with a villager should be a worthwhile action throughout the entire game.
I've been very happy with how this system has worked so far, but what I didn't expect were the number of side benefits that began emerging.
In a lot of ways, the deck represents another layer of personality for each villager. This means that it's not just the dialogue itself that's important, but also the composition of the deck.
For example, a villager that works all day outside would naturally have a lot more to say about the weather than someone who stays indoors. This means that conversations with this villager are more weather focused, and this in turn reinforces their personality and role in the village.
As in real life, you may find yourself drawn to specific people because you know they have a lot to say about a subject you're interested in. You may also try speaking with the same villagers in different situations to see what new things they'll say.
I'm really looking forward for players to experience this dialogue system when Village Monsters releases later this year.