Masahiro Sakurai discusses game debugging
In last week’s issue of Famitsu, Masahiro Sakurai wrote a new column that goes into detail about the debugging process with games. Although nothing earth-shattering was revealed about the new Smash Bros., it’s quite an interesting read (though there is some Smash talk).
We’ve finally managed to put up a translation of Sakurai’s column. Head past the break to read it in full.
At the time of writing this column, the Nintendo 3DS version of Smash Bros. is in the middle of the debugging process. As debugging is an ordinary part of making games, I thought to write about that specific matter.
In short, debugging is finding and fixing flaws or problems in computer programs.
Although a computer can only operate under the logic that a human has set up, when the complexity of a program reaches high levels, things may get shaken up. When you accumulate and accumulate elements to be like a high mountain, the result may turn into something that seems to fluctuate on a whim – as if it was a life-form on it’s own.
You may think that if the program doesn’t seem to have any problems, there would be no bugs since the computer always works the same way, but that is not the case. Due to varying combinations, different things may occur.
For example, during the debugging process of a previous Smash title, if fighter A attacked with the item B and if fighters C and D got hit at the same time, a bug would make them halt. As well as fighters, there are things like items, stages, color variations, rules and modes that add up into the astronomical combination number. If you don’t really go all the way and test all the possible patterns, the debugging isn’t complete. But for a person to do that, it would take decades or hundreds of years so it is not possible to accomplish.
Moreover, even though there are situations where you can replicate a bug by replicating a certain condition, there are also situations where you can’t make the bug to reappear at all. Situations like this are really a big trouble and some luck is also required.
Because those kind of situations exist, there are many people repeating various straightforward checks.
At its base, first you find out bugs. In many cases there is a separate team from the development team for this. Then when developers receive information about bugs, they fix them. Of course there are people working in Japan, but also some testing is done overseas so the scale of the people working on Smash Bros. is in the hundreds.
So in the end the debugging process is a huge project. The big reason behind having different release dates for Smash Bros. for Nintendo 3DS and Wii U is to shift the two different types of debugging into separate time periods.
And the terrifying part of debugging is that after “fixing”, you have to start testing all over again and repeat the same checks you did before. Even if it looks to work fine at a first sight, there is a good chance that under different combinations new different bugs may occur again.
But we can’t keep going on forever. There is a phase where the program is treated like the final commercial version and thus no changes are being made. This phase is nicknamed “no touch debugging” and the game is tested for several days. If no big problems are present, the game is complete. Extremely many software will pass this test.
However, no matter how much time is used and how many people are involved, there is a chance that bugs aren’t found during the debugging process and are found at the very last minute. Even though there are many reasons for a game to be delayed, eight or nine times of ten the reason is that flaws weren’t found in time.
However, that is better than carrying on the bugs into the commercial version. Developing games with a computer is always exposed to risks.
When it is about complex and huge games, there is a trail of many people being involved: from developers to sellers and more.
Note: for this particular translation, we took a few more liberties than usual so that things would make the most sense. The last paragraph was notably vague.