Survival games

12 Aug 2016

I’ve written about Joris Dormans’s Machinations before. I think it’s a great tool for focusing thinking and paring down to the barest essentials.

For example, suppose that we wanted to make a model of a survival game, something like “Don’t Starve”.

Like most creative tasks, this process of making a model is messy and filled with backtracking, alternating between working at detail-scale and working at a broad scale. However, (also like most creative tasks), you can describe the backtracking as proceeding forward and backward along a linear “golden” or “rational” process.

Step 1: Write down a bare-bones text description of what the player does in the game. In this case: “The player wanders a procedurally generated landscale, seeking the necessities of life. Unless the player exhibits will to live by paying attention and making the right choices, the player dies.”

Step 2: Cut the text description down to a tiny piece, and make a model of that. In this case, we make a model of simply “The player dies.”

Step 3: We add a little bit of text, and model it. In this case, “Unless the player exhibits will to live, the player dies.”

Step 4: We don’t actually want a button in the game called “pay attention and exhibit will”. We want to break it down. In order to force the player to actually pay attention, we generate a challenge, and require the player to respond appropriately.

Step 5: Now the player does have to pay attention, but the challenges and responses are abstract, and at no point do they “wander a procedurally generated world”. Let’s add wander as an explicit verb, which serves to re-generate the challenge, and let’s name the response verbs to add some survival color.

Step 6: Now the challenges and responses are symmetrical, and everything is just a bit too transparent. So let’s complicate things a little, to obscure the starkly minimal mechanics with a thin veneer of color.

At this point, we could take this model and try to write code for it. We probably would want to add some sort of graphical and geometric qualities. However, this list of verbs and pools does work together to achieve the bare-bones story that we started out to achieve; and creating a prototype like this gets you to “there is a game, which has mechanics” much faster than starting work on a procedural-graphics-and-geometry engine without thinking about what the game or mechanics are.