This is a follow up to my previous post: “The interrupted conversation” where characters are able to interrupt each other forever. The reason why I found the problem interesting is because there are many ways to solve it but I couldn’t figure out the right one for Twelve Minutes.
This post will go over my findings so I strongly suggest reading the original post.
“You do not really understand something unless you can explain it to your grandmother”
– Einstein (according to Wikipedia)
I find this quote to be very true. Every time I run into a problem I can’t solve, I try to explain it to someone else. It doesn’t even matter if they are listening but the act of verbalizing my ideas allows me to better understand what is going on. An alternative is to write it down, as if it was a letter to someone else…or write a blog post!
Once I had finished writing the previous post, the first thing I noticed was this line:
“Each character can interrupt the other one during a dialog, and if this happens, the interrupted character will try to resume the conversation once there is an opportunity to do so.”
This made me realize that it doesn’t make sense to allow the Player to automatically resume his conversation if interrupted. You need to feel as much agency as possible, so now you only resume your conversation if you want to.
This kinda fixed the problem since now you have to manually interrupt the Cop to keep the dialog loop happening.
The real problem is that the Wife, while being told “You are under arrest!”, still wants to continue her original casual dialog with the Player. In the real world she would definitely stop and listen to what the Cop has to say.
How can the characters be aware of the importance of what is being said?
A lot of people suggested variations on a priority system, so I decided to try it out, but I quickly realized that there are too many dialog variations, and some of them change importance through the conversation.
This means I would spend hours categorizing every single dialogue and if the 3 characters happen to start a conversation with the same priority level I would run into the original problem.
I also thought about marking the conversations that are “not worth having” but it’s just another way to look at a priority system.
Another idea was that maybe, if you are interrupted more than a certain number of times, you give up on having that conversation?
This would still cause problems since everyone would go quiet at the same time but knowing how many times you were interrupted turns out to be great.
If each character relies on knowing whether their own conversation was interrupted, I can get away without any priority system. With this in mind, this was my solution:
If the conversation you are about to start has been interrupted at least once, and the character you want to speak with is currently in a conversation, wait until he has finished.
In other words “Make the characters more polite”!
The last piece of the puzzle was to make sure that the Cop never waits for anyone since he is supposed to be feel aggressive, and since the Player only resumes his conversations manually, only the Wife follows this rule.
It has worked flawlessly so far and the fact that the Wife will still try to resume her original conversation, rather than give up, means I’m sure I’ll never skip meaningful dialogs and the whole conversation feels natural.
That first bit you mention about explaining issues is the basis behind what’s called Rubber Duck Debugging. It really works!
Your solution here is clever and it even makes sense if it were to happen in the real world.
I was able to meet you at PAX and it was great seeing the game first-hand. The blog is a great idea and an excellent read. Looking forward to more!
Just read about it on Wikipedia, I had no idea there was an actual term for it!