Design Document Sample
I'm currently studying computer game development with Train2Game in the UK and am in the middle of my first portfolio piece. This is a dress-rehearsal for the portfolio I'll eventually be marked on and (here's hoping) qualified with.
While I'm definitely still quite new at all this, I thought it might be worth seeing what I'm working on, if only as context for what comes next – more complete and polished game ideas. This is a sample from the design document I'm writing for a game I've called Quiet On Set. The story for the game is:
Background
Joe Pitboss is a legendary director; his shoots are the biggest, most expensive monstrosities in Hollywood. He travels the world, throwing movie stars out of helicopters and apparently enjoying a devastating drug habit. The only thing more famous than the celebrities he’s driven to tears is his terrible temper.
The player is cast as junior assistant director Ryan, a young Irish film nerd eager to get into the business. Ryan arrives to the studio of Joe Pitboss’ latest international epic one morning to find bullet holes in most of the vehicles and pools of blood on the way to the set. Inside the door, Pitboss has the stars of the film (Brad Pitt and Jennifer Anniston, reunited on screen at last - frosty is an understatement) quivering at gunpoint. Pitboss, covered in blood and cocaine, smiles at Ryan and beckons with his gun.
“Hey you, kid. You wanna do your ol’ Uncle Joe a favour?” Ryan looks at the gun. Says nothing, nods slowly. “‘Course you do! I have a bunch of crowd scenes left to do. If you corral the extras without letting anything about my little episode slip, I’d look after you, take you to Hollywood when this is done. You wanna be a famous director some day?” Ryan nods again. Pitboss swaggers over to Brad Pitt and punches him in the stomach for a laugh. “Alright, let’s make a fuckin’ movie!”
Gameplay
Ryan guides the extras by placing markers on the floor for them to hit, always making sure to follow Joe’s directions (e.g. “Keep those idiots away from the talent!”, “If those morons block the view I’ll gut them!” etc). As Joe becomes more deranged, the challenges become harder.
At the end of the first day, Joe bites Ryan. Ryan wakes up hours later and goes to set under the influence of hallucinogenic drugs in his system from Joe’s saliva. This time, he is consumed by a lust for violence and begins murdering as many of the saved extras as he can.
Ending
The game ends on the end of the second day, or when there are no more extras left to kill.
The design document is an exercise in both creativity and specificity. It's having a nice idea like "a racing game where the cars can fly!" and then answering every possible question in writing, with diagrams and art if possible. Questions like "Are the cars real-life models or fictional ones? Do they have wings? Do the wheels still move when they're flying? Do they land front-wheels-first or rear-wheels-first?" and so on. Someone who has never heard anything about the game should be able to read your document and build a complete picture of what the experience of playing the finished game will be like.
I'm familiar enough with this idea; in theory a film's screenplay and storyboards should do the same thing, but there's always the expectation that the specifics will be worked out by the creative team of the cast, director, director of photography and the production designer during production, and that while the tone of the script will be preserved and explored, the scenes may all play out a little differently, but you can expect the film to reflect the original concept material.
N.B. I've employed a convention in the following diagrams to make some of the variables easier for people to track when reading the logical flow chart. There are optional dotted lines from processes back to variables to make it easier for readers to follow what's going on. If they're distracting or annoying, you can safely ignore them.
The following is what I see as the main gameplay loop for Quiet On Set.
The gameplay proceeds in multiple stages. The first is setting tiles onto the board. The figure on the next page shows the logical flow of this process.
Narrative
The UITileSet array is called and drawn to the sidebar. The level (difficultyLevel, levelIndex) is drawn with the PullLevel process.
The player can press ACTION! at any time, which will begin the process of running the board, but assuming she hasn’t yet licked the button, she can click on any tile she wants in the sidebar, which turns the mouse cursor into that tile. She can then click on the cell on the board she’d like to place the tile down on or press esc. Clicking will place the tile and return the mouse cursor to normal. Hitting esc, right-clicking or clicking back on the sidebar will return the tile to its original location and will return the mouse to normal.
When the player is happy they have placed their tiles as they want them to be placed they click the ACTION button and the game goes over to the next stage (explained further on).
Once the tiles have been laid down on the board, the game automatically runs through the process of sending extras onto the board to follow the instructions as laid down by the player.
Inversion
Once the player reaches level four, the mechanics reverse, and the variables being affected change. The following diagram is very similar to the previous one, but note the changes in the “cell is an OUT cell” question near the end and the “Load Extras -> extrasQueue” process at the start now has an extra node following it.
I'll have more to post when I get my feedback from the version I submitted, but I'll end the excerpt here. If you've made it this far, I'd love to know if you find it easy to follow given the limited information here, or what you did and didn't understand.


