Game Development Reference
should be written as a series of brief instructions so that anyone can follow the steps
and reproduce the bug. The steps should be written in second person imperative, as
though you were telling someone what to do. The last step is a sentence (or two)
describing the bad result.
1. Launch the game.
2. Watch the animated logos. Do not press ESC to skip through them.
—> Notice the bad strobing effect at the end of the Developer logo.
The fewer steps, the better, and the fewer words, the better. Remember Brad Pitt's
warning to Matt Damon in Ocean's Eleven : “Don't use seven words when four will do.�?
Likewise, don't use seven steps when four will do. Time is a precious resource when
developing a game. The less time it takes a programmer to read and understand the
bug, the more time he has left over to fix it.
1. Launch game.
2. Choose Multiplayer.
3. Choose Skirmish.
4. Choose “Sorrowful Shoals�? map.
5. Choose two players.
6. Start game.
These are very clear steps, but for the sake of brevity they should be boiled down to
1. Start a two-player skirmish game on “Sorrowful Shoals.�?
Sometimes, however, you need several steps. The following bug describes a problem
with a power-up called “mugging,�? which steals any other power-up from any other
1. Create a game against one human player. Choose Serpent tribe.
2. Send a Swordsman into a Thieves Guild to get the Mugging power-up.
3. Have your opponent create any unit and give that unit any power-up.
4. Have your Swordsman meet his unit somewhere neutral on the map.
5. Activate the Mugging battle gear.
6. Attack your opponent's unit.
—> Crash to desktop as Swordsman strikes.
This may seem like a lot of steps, but it is the quickest way to reproduce the bug. Every
step is important to isolate the behavior of the mugging code. Even small details, like
meeting in a neutral place, are important, since meeting in occupied territory might
bring allied units from one side or another into the fight, and the test might then be
impossible to perform.