バグ出しの基本は、「いつでもどこでもあらゆることを試す」ことであるが、そんなことを言われても想像できない人が多いと思う。そこで、ファミコンの『F1レース』を例に上げて、バグ出しの基本を書いていくことにする。なお、『F1レース』が特別にバグが多いといったことは全くなく、あくまでも例である。
まずあなたは、ファミコンにカセットを挿して電源を入れるだろう。そして、おもむろにスタートボタンを押して、「さぁて、いっちょバグを出してやっか!(CV:野沢雅子)」などと気合いを出すかもしれない。が、その時点であなたは不具合のチェックポイントを見逃している。ずばり、スタート画面である。
スタート画面で出来るのは、せいぜいスタートボタンとセレクトボタンを押すことくらいと考えがちだが、そんなことはない。まず、セレクトボタンを押してみよう。すると、カーソルが下のモードに移る。さらに押すとその下に、さらに押せば1番下のモードに当ってくれる。
ここからが重要だ。もう一度セレクトボタンを押すと、カーソルは1番上のモードに戻っただろうか? さらに、カーソルが最初の位置に戻った時、スタートボタンでゲームが正常にスタートするだろうか?
そのどちらも、「ループ処理」という基本的な処理の一つである。ループ処理が出来ていなければカーソルは1番上に戻らないし、たとえカーソルが1番最初のモードに当たっていても、スタートすると1番下のモードが始まってしまったりするのだ。
ちなみに二つ目のバグは、「カーソルがループした際、カーソルの見た目の位置と内部的な位置がずれてしまう」ことで起こっていると考えられる。ありていに言えばプログラミング時のケアレスミスだが、それゆえに、いつどこで起こるかまったく予想することができない。だからこそ、この類の不具合を見つけるにはしらみつぶしに当たるしかないのだ。
この他にも、セレクトボタンだけでできるデバッグとして「セレクトボタン連打」がある。セレクトボタンを連打していると、だんたんとカーソルの動きが遅くなってくるという類のバグを見つけることができるかもしれない。
ちなみに、そのバグを称して「それはキーだまりだね」などともっともらしく言うとかっこいいので、色々なゲームでキーだまりが起こるまで連打をしてもらいたい。
では、スタートボタンでのバグ出しについて考えてみよう。普通、スタートボタンを押せばゲームが始まる。……のだが、実を言えば始まらないタイミングがある。みなさんご存知の「デモ画面」である。デモ画面中にスタートボタンを押せば、普通はスタート画面に戻るかそのままゲームが始まるかのどちらかである。だから、狙いどころは別にある。ずばり、「デモ画面が始まるのと同時に」スタートボタンを押すのだ。さらに細かく言えば、デモ画面の始まる直前と、デモ画面が始まった直後の両方のタイミングも試すといい。運がよければ、デモ画面から抜けず、ゲームも始まらない現象が発生してくれることだろう。さらにおいしいパターンとして、その後、一切のスタートボタン操作が効かなくなる現象さえ見つかるかもしれない。その手のバグを見つけるとかなりビビるのだが、原因を特定できた時の喜びは大変に大きかったりする。ちなみに、ファミコンの『ガーフィールドの一週間』には、本当にスタートボタンでゲームが始まらないバグが存在している。スタートボタンだからといって軽く考えていてはいけないのだ。
なお、スタートボタンもセレクトボタンも押さないバグ出し方法もある。何を隠そう、「デモ画面」そのものだ。ずっとデモ画面を見続けていると、そのままバグってしまう……。そんなのあるわけないじゃんと思うだろうが、ファミコンの『戦場の狼』は、デモ画面を見続けていると本当にバグってしまう。これはきっと、当時テストプレイをした人達がみんなせっかちさんで、ゲームから離れている時は電源を切っておいたに違いない。今で言うエコロジーの走りだったのだろうから、これはもう仕方のないバグだと言える。地球に優しい仕様と言い切ってしまおう。
……まったくゲーム本編に触れていないのだが、それどころか別に『F1レース』でなくてもいいような気もしてきたのだが、それだけバグ出しは奥が深いのだ。たかがスタート画面、されどスタート画面。ゲームを起動した直後からバグ出しは始まっているのだ。
---------
ゲームのバグを出す話
ゲームのバグだしについて考える。
レースゲームでバグを出す話
『F1レース』で基本的なバグ出しをしよう。
デバッガーに向く人、向かない人
じゃんけんマシンが史上最強すぎる件
バグ出しを暮らしに生かす話
ロマサガ2のひらめきに思うこと