Since I started my series about handling movement, I’ve learned a lot more about Entity Component Systems and I’m changing the way my engine is structured to reflect this.
While this sounds like a Typical Simon Rabbit Hole, it has fundamentally changed how I approach game engine development and I have made some huge strides with very minimal effort. Thanks to the advantages of ECS, some features that I thought would have to wait for many versions down the line have become trivially easy to implement.
I’ll be writing more about these changes in the coming weeks, as well as getting to Part 3 of my series on movement.
In the meantime, I’ve been back working on the story for my first adventure game. While researching adventure game design, I came across a couple of helpful documents. The first was the Freddy Pharkas Frontier Pharmacist Design Document and the other was the Grim Fandango Puzzle Document.
The latter is Tim Schafer’s original pitch to LucasArts and lays out the entire game puzzle by puzzle. It contains character lists, location layouts, and cut scene descriptions and has been incredibly helpful.
A few things that stood out to me reading these documents:
The Grim Fandango Document Reads like a Novel
All of the puzzles and the solutions are described in prose. It doesn’t get mired down in technical details like the Pharkas document does (which, to be fair, seems like it was written further along in the process). The Pharkas document often uses pseudo-code to describe what happens at a particular location over the course of the game, which makes it a harder to follow as a reader.
Writing it out as a novel also helps make the puzzles feel less arbitrary—if they don’t make sense as part of the narrative, then they probably shouldn’t be there.
The Puzzle Flowchart
The Grim Fandango document features LucasArts’ puzzle design philosophy. We start with groups of easy, linear puzzles in a relatively small environment, then gradually open up to more difficult parallel puzzles that can be solved in any order in larger environments.
Maps and Lists
Both documents have maps for how locations link together. More usefully, the Grim Fandango location map names every characters that appears at that location. If the same character appears in multiple locations over the course of the game, then they are listed at all locations even if it’s on the same map.
The Freddy Pharkas document is big on lists, including a useful inventory list that describes each inventory item and where that item can be used. It also includes a death list that details every way that Freddy can die (turns out I only discovered about half of them).
The Joy in the Writing
The biggest feature of the Grim Fandango document for me is just how clear it is that Schafer was really excited about this game. The document is peppered with little jokes and asides which makes it fun to read and you can feel the joy of the process coming through in the writing.
No wonder it became a classic.