「ゲームプログラミング/デバッグ」の版間の差分
削除された内容 追加された内容
1,730 行
諺(ことわざ)「将を射んと欲せば、まず馬を射よ」のようなものです。
==== どう探すか? ====
シナリオのバグの探査方法は、ゲーム実機の実際のテストプレイなどで見つかることも多いです。
その準備のため、テスターはまず、そのゲームの想定するシナリオを通しプレイなどでクリアして、いったんシナリオを把握します。その後、フリープレイ時やテストプレイ時などに、ついでにシナリオ上の矛盾点が見つかる場合もあります。
RPGなどのフラグ分岐の多いゲームでは、イベント進行などの状況によって会話などのテキストメッセージ内容が変わり作品も多くあります。もしゲーム中の説明文や会話文などのメッセージ文の内容と、イベント進行状況が組み合っていなかったりする場合には、バグとなります。
このようなメッセージ内容のバグは、実際にゲームのシナリオを把握していないと、バグとして気づかないのです。
さて、このイベント進行状況とメッセージ文の不整合により、ときどき、作品テーマに反する誤解をプレイヤーに与えてしまう場合があるのです。
たとえば、上述のボブとクレアの恋人関係の例なら、ストーリー前半でクレアが主人公の仲間になっているのに、もしボブのメッセージ文がストーリー前半でのクレアのパーティ加入に対応してなかったら(もしフラグ管理ミスでストーリー中盤以降からしかクレア加入の場合にしかボブ会話文のフラグ分岐が対応してなかったら)、あたかもボブが恋人クレアをガン無視している(←フラグ上ではクレアが未加入なので. )かのようにプレイヤーに誤解を与えてしまいかねず、ボブとクレアが不仲になったかのように誤解されかねない・・・、というワケです。
たとえば、クレアが仲間になる条件が、加入条件になっている中盤ボス(レベルはストーリー中盤相当)を倒すことだとして、一般的なプレイヤ-はゲーム中盤にそのボスを倒すので、クレアを仲間にするのも中盤になるプレイヤーが多いとしましょう。
ですが、もしゲーム前半でその強ボスを倒すのが原理的に可能なプログラムになっているゲームの場合、プレイヤーの一部はストーリー前半でもそのボスを倒して、クレアを(中盤ではなく)ストーリー前半で仲間にする場合もあるのです。こういったレア目なケースは、本来ならシナリオ作成の段階でレアケースにも対応すべきですが、ライターやプログラマーなどの忙しさなどの関係で、レアケース対応のシナリオの実装や確認が忘れられる場合があります(特にフリーゲームや同人ゲームなど)。
プログラム的に禁止されて無い限りは、どんなにレアなケースでも、必ずプレイヤーの一部は、そのレアケースのプレイをする人も少数の割合ながら、いるのです。
このようなレアケースを見つけるには、テスターは実際に何周もテストプレイをしてみて、様々な攻略パターンでプレイして見つけるしか、レアケース漏れのバグをありません。
このような事例があるので、なのでシナリオのバグの有無の確認では、(けっして脚本テキストデータの通読だけでなく、加えて)実際にゲームをプレイしてみて、ゲーム中のメッセージ文をプレイの順序どおりに読んでいくという方法により、テストプレイではバグの有無を確認していく必要があります。
== チェックシートを作成する場合 ==
|