I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

July 04, 2007

Game Development Postmortems

I've written about the value of project postmortems before. Still, getting a project postmortem going (or, if you prefer your terminology a bit less morbid, a project retrospective) can be a daunting proposition. Game Developer Magazine's postmortem objectives offers a helpful template for conducting a postmortem yourself:

The bulk of the [postmortem] should revolve around the "5 wrongs, 5 rights" concept:

Explain what 5 goals, features or aspects of the project went off without a hitch or better than planned. Were there any phases of development that you thought would be much harder than you had planned? Did a new programmer come on the team and inject great ideas or brilliant programming ability into the effort? Did a new technology become widely adopted by consumers that solved a particularly thorny development problem? Did new development tools become available that let you add better graphics or sound? Did you save money in certain ways you hadn't expected? Cut days/weeks/months off the schedule in some way you hadn't expected to? Did the marketing or PR team get some outstanding preview coverage in a consumer magazine?

Explain what 5 goals, features or aspects of the project were problematic or failed completely. Did the lead programmer leave the company halfway throughout the project? Did adapting to new technologies (for example, MMX, DirectX, a new graphics library or AI algorithm) create unanticipated problems for the developers? Did your development tools let you down in some way or not live up to expectations? Did hidden costs creep into the project, and if so, where did they come from? Did the schedule slip for some reason? Was the configuration testing or beta testing cycle problematic for some reason? Did features get axed because of scheduling pressures? Did the lead programmer quit? Did the marketing or PR team misrepresent the game to the public, causing false hopes? Be specific in this regard -- postmortems that accentuate the "what went right" and sugar coat the "what went wrong" sections are dismissed by readers and won't be accepted by our edit staff. Be honest, that's all we are asking.

These postmortems are deemed so significant to other game developers that they're often the cover story on the magazine. I think that's exactly the priority level postmortems should have; if you're not learning from your mistakes, or even better, learning from other people's mistakes, then your next project will have a rocky future at best.

Game Developer magazine, Guitar Hero postmortem

Game Developer Magazine isn't available online without subscribing, but many of the postmortems from the magazine are compiled in the book Postmortems from Game Developer: Insights from the Developers of Unreal Tournament, Black and White, Age of Empires, and Other Top-Selling Games.

However, Gamasutra, another magazine for game developers, does post its postmortems online. As I've mentioned before, one of my very favorite postmortems is for Trespasser, one of the most notorious failures in PC gaming history. But it's instructive to soak in the successes as well as gawk at the trainwrecks. Here are a few Gamasutra postmortems I recommend (registration required):

All the postmortems are worthwhile, and you'll surely recognize a lot of the pitfalls and triumphs they describe. Even if you don't care a whit about gaming, it's instructive to read game development postmortems because game development is such a pressure cooker. It's incredibly challenging software engineering, with unclear goals (eg, "fun") under intense deadlines. Every project pathology you're likely to see on your software project has probably already materialized on one or more of these games.

[advertisement] Axosoft OnTime 2007 is a bug tracker that manages requirements, tasks, and help desk incidents. It's designed to help teams ship software on time. Available for Windows, Web, and integrated with VS.NET 2005. Installed or hosted. Free single-user license.

Posted by Jeff Atwood    View blog reactions

 

« The Technology Backlash Better Image Resizing »

 

Comments

Nice article, Jeff.

Samuel Saint-Pettersen on July 6, 2007 03:04 PM

Interesting you should refer to "Postmortems". In the military we use what is known as an After Action Review (AAR) after any mission, training, whatever.

The format is pretty simple:

* What was supposed to happen?
* What happened?
* 3 Sustains (Things that went according to plan or even better)
* 3 Improves (Things that went wrong or hurt the mission)

You do this long enough, you begin to catch possible problems before they happen. I propose that, instead of doing a postmortem after the game fails, teams conduct one along every milestone.

For more on the Army AAR, see the following:
http://www.commonknowledge.org/userimages/aar_guidelines.pdf
http://www.armystudyguide.com/content/bm~doc/after-action-review-aar.ppt
http://www.myfirecommunity.net/documents/AAR_Guide_CALL.doc
http://www.signetconsulting.com/methods_stories/proven_methods/after_action_reviews.php

The last article is very relevant as it deals with how the AAR format may be used in corporate settings.

Petskull on July 6, 2007 03:31 PM

FYI, Gamasutra is essentially the online division of Game Developer. Gamasutra postmortems often are taken straight out of the magazine.

Andrew Stine on July 6, 2007 03:42 PM

> Gamasutra is essentially the online division of Game Developer

Interesting-- there's a digital subscription offer for Game Developer where you can download 12 issues / year, or just one issue on a pay-as-you-go basis. I assume as PDFs. I didn't think they were related.

Thanks for the clarification.

Jeff Atwood on July 6, 2007 04:11 PM

I also like the Behind the Games series at Gamespot by Geoff Keighley (<a href="http://www.gamespot.com/features/btg/">link</a>). Reading the <a href="http://www.gamespot.com/features/btg-daikatana/">Daikatana</a> story was like reading a book entitled "How Not To Start a Start Up". The words "fail fast/small" seem to be conspicuously absent and it really highlights some of the management issues people should think about.

Richad on July 6, 2007 07:32 PM

I too like to use the "X wrongs, X rights" format for postmortems (although, I'd guess any video game one is more interesting than every single one of mine), but I usually go with X=3. Each developer is to bring 3 of each to the postmortem meeting. We start the meeting with a short game of some sort, a favorite being Google Words (the moderator gives everybody a noun, they add an adjective to it and whoever comes up with the combination that renders the most search results on a Google search wins).

Based on the order in which the different members of the team finished in the game, that establishes the round robin order for people individually sharing one wrong. Go round the room one wrong at a time until everybody gets to share their 3. Get all the wrongs compiled (there's usually a grouping of them) and then go in the opposite order for the rights. From the compilation, talk about how to fix the top 3 wrongs and keep doing the top 3 rights.

That format lets people blow off a little steam with a purposefully lame game (yet it still sparks competitiveness) and gives everybody a chance to contribute equally to the postmortem. There's obviously a lot of ways to do this, but that's my favorite.

Pete Johnson
HP.com Chief Architect
Personal blog: http://nerdguru.net

Pete Johnson on July 6, 2007 08:01 PM

> because game development is such a pressure cooker. It's incredibly
> challenging software engineering, with unclear goals (eg, "fun") under
> intense deadlines.

Total agree with this. Beside unclear goals, there is also another frustrating things about game development: there is no perfect goals, no
final goals.

count0 on July 7, 2007 12:06 AM

Hey count0. :)

Indeed. Alot of goals in game development are very subjective.

Some factors are entirely quantifiable. Frame rate, memory, load time, network lag, when it will be finished, etc.

Other factors are more subjective. How fun is the game? Do you like how it looks? Do the controls make sense? Does it really feel like you are doing X? Those rely more on the personal tastes and experiences of each individual, and typically these are different from person to person.

One interesting thing I find is how different disciplines fit together in the team. Some domains are very subjective: designers and artists. While programming is typically more quantitative. Although there are always exceptions: Technical Designers, Technical Artists, and Gameplay & AI Programmers. Often times the subjective areas push the quantitative boundaries which can sometimes begin to affect framerate, memory, etc. But somehow it comes together.

Blaine on July 7, 2007 12:50 AM

"Gamasutra is essentially the online division of Game Developer"

I thought that was the case but I haven't logged into Gamasutra in so long I wasn't sure.

"there's a digital subscription offer for Game Developer where you can download 12 issues"

I got a subscription to the dead tree edition some years ago ... somehow. I've never had to pay for it since. As long as I re-up before it expires, I keep getting it for free. I think I said I was interested in game development. They occasionally send me emails inviting me to sign up a friend.

Scott on July 7, 2007 06:44 AM

I've been reading the postmortems in Game Developer for years. Subscriptions are free to anyone in the game industry who is willing to answer "Yes" to the obvious "Answer yes to this question and you'll get a free subscription" question on the application. Apparently you have to know a subscriber to get that form though.

The trouble with these postmortems is that they are pretty much always the same. They go something like this:

What went right:
* Lots of iteration
* Experienced team
* Early focus on tools
* Lots of control over scope
* Took advantage of feedback from actual players
* Partnership with <company we like>

What went wrong:
* Not enough iteration
* Absolutely horrible scheduling
* Out of control scope
* Poor tools
* Inexperience
* Trouble hiring good people
* Partnership with <company we don't like>

Sometimes the specific headings are a little different, but usually the content comes around to one of these. The trouble is that there are so many disciplines at work on a game that the top 5 bullet points are never specific enough to actually benefit anyone. It's all well and good to say that you should have a well-scoped schedule with plenty of time for iteration and tools, but actually pulling that off is much more difficult. The postmortems never go into specifics on HOW because they are only 5 pages long.

A better way to get useful information is to attend one of the postmortem talks at the Game Developer's Conference. The best way is to hang out at a bar with one of the developers long enough that the drink loosens their tongues. Unfortunately none of those approaches scale, so I still find myself reading those Game Developer postmortems and wishing there were more details. :)

Joe Ludwig on July 7, 2007 11:39 AM

I have been enjoying reading the Gamasutra postmortems for a long time. There are few others that I found elsewhere.

"Devastro" - http://www.catnapgames.com/blog/159
"Democracy" - http://www.positech.co.uk/democracy/postmortem.html
"Unga Bunga" - http://gpwiki.org/index.php/Unga_Bunga_Postmortem

And some more here: http://www.gamedev.net/reference/list.asp?categoryid=64

Jake on July 7, 2007 12:45 PM

Joe:
I agree, most gamedev postmortems read-alike. It's as if there's only 10 items on each of the "what went right/wrong" list for the writers to choose from. I still enjoy reading them, because if a postmortem is presented well you can really read between the lines and feel what it must have been like to work on that project, with that team, even though they did the same mistakes like so many other software developers.

Which makes me wonder: do other software projects fail or succeed for the same or comparable reasons? I don't remember reading any "run of the mill" software development postmortem but i suppose they do. I get that notion from Peopleware and other such books.

steffenj on July 7, 2007 02:53 PM

Simply put, people keep making the same mistakes. That might just be the learning curve of new people coming in to new positions. Other times, people just underestimate the challenges associated with a production, design or technical decision.

One important thing to realize is that what affected that project could also affect your own project. So people should either try to make decisions knowing peoples' past experiences or be prepared to deal with issues that may come up.

On the positive side, postmortems are a great way to find out what really worked well for another team and try to adopt those best practices.

Blaine on July 7, 2007 03:52 PM

It turns out the form to get Game Developer for free is online after all: (Thanks to somebody who responded when I reposted the comment above on my blog)
http://www.gdmag.com/freeyear/

I assume that scheduling, staffing, and controlling scope are problems that every software project faces. The non-game projects I've worked on haven't had the same need to spend many man-years on tools that you're never going to ship, so that one's unique to games. In general I bet the lessons transfer pretty well.

Joe Ludwig on July 7, 2007 05:11 PM

The SWAT3 postmortem link points to an Unreal portmortem. Whichever was fine, but I thought I'd mention it.

Chris on July 7, 2007 06:58 PM

Yeah, I've made a few small-scale games, and I have to agree that the best learning is the one that happens after you made mistakes.

Most people don't think to research other's mistakes.

Code6226 on July 8, 2007 09:06 PM

"Experience is what you get just after you need it."

John Pirie on July 9, 2007 04:51 AM

I would love to do postmortems, but in my environment I am the only developer, and the projects never really end. I call the projects "tar-babies" because they stick to me forever.

Mattkins on July 13, 2007 08:34 AM

Strongly agree, I teach game design and I'm asking students to do a post-mortem after their first iteration. It works well because they have a game do before spring break and separate class for refining their ideas right after the first game is due. Of course, we start with reviewing a whole bunch of industry postmortems for various games. I'm still trying to fight the standard patterns of mistakes (aka traps) we all have seen on projects.

Lindsay on March 31, 2008 02:44 PM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.