How I work
My take on game design in three quotes:
“No battle plan survives contact with the enemy.” (von Moltke)
“Simple rules lead to complex behaviour. Complex rules lead to stupid behaviour.” (George Lemnaru)
“A build tells more than a thousand words.” (my own actually, but it works better in german)
In the olden days game designers would sit down for weeks or even months to write hundreds of pages of game design documentation, which they then would hand over to the coders. The coders would then take turn to create a first-playable protoype. Half a year later the team would find out the game was actually crap.
This is, of course, an exaggeration but it illustrates how I do not work. Instead I adopted a much more agile approach to game development, not only regarding agile project management but also agile game design. The process in a nut shell:
- Depending on the briefing I start with an extensive research phase.
- Then I write a brief first concept or create some slides which describe the core game loop. This brief concept provides enough food for a first round of feedback.
- I also check the gameplay against its targeted audience and run a motivator check against its core features and mechanics. That actually helps to analyse and assess the still theoretical gameplay.
- Instead of writing long documents I start with creating flowcharts and wireframes. My weapon of choice is Omnigraffle. The mixture of high level flowchart and wireframe visualises the game loop screen by screen. Publishers, coders, project managers, designers find the wireframes much more helpful than written documentation.
- Low-fi prototyping: Paper prototypes, LEGO bricks, click dummies … anything interactive is better than static information on paper.
- I extend the wireframes based on feedback. They can now even be used by server coders to create first data models and server logic from it.
- Now an iterative specification phase follows. There is no one-fits-all-template at this stage since every game project is different and demands different deliverables at different stages during the development process.
- Ongoing documentation. You can find more information in this post.