The Name
“The Gödel Sentence” is a true but unprovable statement. It comes from Gödel’s incompleteness theorem that says that in any closed system there are things that are true but you can never prove them. The Gödel sentence is such a truth.
My game was about making decisions with incomplete data. There are truths about the world and the people that you cannot prove and yet you still need to make a decision; you have to decide who gets water, you have to decide who lives and who dies.
The name is also a pun on the word “sentence”. Your job, in deciding the fate of the five people, is a punishment. You are sentenced to choose. There is no right answer to the game, there is no way to win and so you are a prisoner to the role.
A Rhetorical Game
I read Ian Bogost’s book “Persuasive Games: The Expressive Power of Videogames” (https://kindle.amazon.com/work/persuasive-games-expressive-power-videoga...) . It describes a way of making games that are intended to give the player a deeper understanding of systems. Games designed around a “procedural rhetoric” allow the player to explore a model for how something is working.
I loved the idea and wanted to try to make this kind of game. I chose to base the “rhetoric” on the decision making process. In any decision you have a decision maker, a decision, a time deadline, some facts feeding into the decision and some outcomes that the decision maker is trying to optimize. I set up Gödel to have these very elements and pretty much nothing else.
In the game your only action is to decide who gets water and who does not. The facts come to you through the conversation and the occasional chart. At some point in the game most players will have to ask themselves what the basis is for their decision. Since there is no way to win the player may start to question and doubt the basis for their decision making. At the end of the game the player may reflect on how they came to the decisions and whether they would make the same ones again.
A Single Play Game
In order for players to have the experience I wanted I felt it was important that they knew they only had one go at the game and that they could not just save and reload and try again. It was part of the “procedural rhetoric” that a decision, once made, is permanent.
And here I cheated! Anyone who tried it knows that you can play the game again. About half way through I got worried that there might be a bug or some other reason that people had to run the game multiple times and in the context of the competition this felt like too big a risk.
So I bailed on the idea of enforcing the run-once feature but I continued to refer to this in the game load screen and in the help text. I apologise for this deception! I felt it was necessary to get people to approach the game in the way I intended and I thought that saying “it’s intended you play this only once” wouldn’t achieve the same effect.
World Building
World Building was a new technique for me and helped tremendously. I read Veronica Sicoe’s excellent blog (http://www.veronicasicoe.com/blog/2012/05/13-worldbuilding-questions/), which provides a list of questions to use to build a picture of the world your characters are living in. There are similar questions for your characters and their character arcs.
Answering these questions really helped me to build a clear picture of the world and who the characters were and who I wanted them to be by the end of the game. This made dialog much, much easier to write. Time spent in tuning aspects of the world paid back hugely when I got to writing specific conversations and monologues.
It’s not just about making it easier to write. Even though lot’s of the world building “facts” don’t make it into the game they tend to bring much more coherency to the experience.
The Characters
I wanted all the characters to be different and bring their own strengths and weaknesses to the group. It was important that there are no obvious heroes and villains since the player is supposed to have to find their own basis for decision making.
The facts reported to you, like the hydration level etc, are intended to raise suspicion but remain ambiguous. This is part of the “incompleteness” theme.
Has Amber found another well and is she keeping it to herself? Is Dax secretly eating more food? Is Brock trying to manipulate others and turn them against each other? Is Crystal going to endanger the group by bringing strangers in? Is Eva a disruptive force? Will her anger boil over?
None of these questions are resolved in the end. That’s partially by design but I would have liked to have resolved some of them because not answering any questions makes it seem a bit too loose.
The Music
I really got lucky with finding the background music on the Free Music Archive. I wanted something that would evoke the unnerving, unsettling world that the characters were in. The music had to be dynamic with highs and lows. And it had to last for the whole length of the game!
I’m so impressed that others achieved dynamic music in their games. I’d love to try this in a future game. I had to rely on the dynamism that was already in this piece.
There was a great quote from Philip Glass on making music for films where he says that he likes to create a distance between the music and the on-screen scene. Pair some sad music along with a relatively happy scene. Put some upbeat themes against a calm section of the film. He says that this creates engagement as the viewer needs to use their imagination to link the music and the action. “What is sad about this happy scene?”, “What is the underlying dynamic nature behind this calmness?”
Since most of Gödel is in the player’s mind I wanted this music to create some of the distance too. Just listening to the track on its own is a journey but not necessarily the same journey as the characters in the game.
Is There a Way To Win?
I think it is impossible to save everyone, which was by design.
You can save three people and it may be possible to save four if you immediately decide to sacrifice someone but it’s unlikely that anyone could find that in a single playing. Brock drinks quite a bit and his health drops quickly when he is thirsty. Eva and Dax don’t lose health so quickly so you can allow them to go thirsty.
This assumes your decision basis is to try to maximise the number of survivors rather than, who in particular, will survive. You can easily save one or two specific people. If you try to save everyone or prolong everyone, then you can end up with nobody alive at the end!
I built a spreadsheet model of the core health / water system and used this to tune the settings. This turned out to be immensely useful as the underlying model has lots of parameters and starting properties. The spreadsheet allowed me to play around with these very quickly to make sure I had the right balance.
Playing with the spreadsheet was quite a lot of fun and I wondered if I should expose that as an alternate play mode of the game, cutting out all the dialog altogether. I didn’t have time for this but I may think of this for the future.
Pygame and Pgzero
I used pygame and pgzero which turned out very well. Pgzero is quite mature considering its young age and takes on most of the heavy lifting with the sprites, sounds, and animation. The auto-loading of resources makes it quick to add content.
I had to add scaling, rotation, and visibility for pgzero’s actor classes and I built a Text actor to handle the text rendering in a consistent way. I needed dialogs and gauges but appart from that there wasn’t much work on the engine.
The animation system works very well with pgzero. I’m really happy with how the clock and water came out and this is mainly down to the animation. The core widgets are simple and the animation makes them look like they have some physics in there when they really don’t.
Overall
I’m very happy with how the game turned out. Thanks to all who played, ranked, and commented. I really appreciate that. People’s comments seem to indicate that the game achieved the effect I was going for.
As always it was a challenge to get everything done within the week. This time around I only had up until Thursday to work on the game and that posed a different kind of challenge since I could not rely on the final Saturday and so had to complete during the working week.
Project management and being ruthless about working on the most important aspects of the game at any given time are always key to completing.