I never really liked adventure games for one single reason: you need to read a lot. I completely changed my mind when I played Machinarium for the first time. The idea of an adventure game with no text was something amazing, just puzzles and a story, the whole joy with no friction.

These days I was thinking about the game and made myself a simple question: is it possible to create a procedurally generated adventure game? Taking Machinarium as a starting point, the game must have no text, just a sequence of puzzles combined to create an interesting story. My answer to my question: no and yes.

The “no” means there is no way to create a complex, funny and challenging adventure game out of procedurally generated tasks, scenes, characters, etc. They must come from someone’s mind, as a result of a creative process. It’s almost like a painting (procedurally generated Mona Lisa, anyone?)

The “yes” means it is possible. Assuming we have a set of existing assets (characters, backgrounds, objects, etc), some of them with states (e.g. “happy”, “angry”), it would be a matter of connecting them all together to produce a game. Simplifying the idea of an adventure game, it is a sequence of puzzles somehow connected. For instance a) you need to find a key to b) open the door. If you add “obstacles” (or small tasks) to get those two elements together, such as c) find the key and d) remove a box in front of the door, you have a set of tasks to solve. Using those new tasks, c) and d), we can add another layer of complexity, say e) the key is in possession of a man who wants coffee and f) the box blocking the door is attached to the ground, you need a hammer to release it. As a result, you have 6 tasks to complete. You can distribute some of them across different scenes, for instance, the answer to e) is in the bar, but the answer to f) is in the tools shop.

I thought it could be a good (and huge!) problem to solve, so I did some research and found Symon, a procedurally generated adventure game by  Singapore-MIT GAMBIT Game Lab. There are some notes about the game creation here. If there is one game, there can be another!

I’ve just added that idea to my (endless) TODO list. I am sure it will produce some interesting programming and brain cracking hours.