ドラゴンクエスト3で戦闘時65535ターン経過すると・・・
ドラゴンクエスト3で戦闘時に65535ターンを超えるととどうなるか。。
「つかれきってしまった」と表示され全滅するそうです。
この動画のドラクエ3はスーファミ版のもので、スーファミのCPUは16ビットだから一度に扱えるデータは16ビットまで。
ターン数を管理してる変数の領域(2の16乗 - 1 = 65535)を超過してしまったときの例外処理として全滅になるようプログラムされているのでしょう。
プログラム開発での試験工程において、入力が有効なデータ範囲と無効なデータ範囲に分け、その境界となる値を用いて試験を行う限界値分析は一般的な作業なわけですが、そこから導き出せるはずの不具合の再現性は極めて稀なことが多く、つい見逃してしまいがちな部分でもあります。
その辺、さすがはドラクエという国民的ゲームの開発。
テスト設計がしっかり作りこまれているのでしょう。。
普通、65535ターンもいかないですからね。。
どれだけ繰り返せば良いんだって話です。
たぶん上の動画はチートしてるんだと思います。。
私もプログラマーのはしくれ。
今携わっているプロジェクトではちょうど試験工程に入っています。
この動画を見て、何故かものすごく心打たれました。。
試験はめんどくさくてたまりませんが、一番大事な工程です。
しっかりやろう。。