FF8の単発動画を投稿しました。
トンベリが使う「倒した敵の数×20」のダメージを与える「みんなのうらみ」のダメージを軽減する方法です。
youtube版
ニコニコ版
ご覧いただけばわかりますが、オーバーフローを利用しています。よくあるやつですね。
昔のゲームは変数を1バイトや2バイトで管理していることが結構あるので、上限/下限値の処理を実装していない場合は容易にオーバーフローが起こせたりします。
ちなみに、FF8のバトル計の各種数値は、以下の通りのバイト数で管理されています。
- 戦闘勝利回数:4バイト
- 逃走回数:2バイト
- 各キャラクターの倒した敵の数および戦闘不能回数:各2バイト
- 各G.F.の倒した敵の数および戦闘不能回数:各2バイト
戦闘勝利回数は4バイト(最大値は約42臆)なのでオーバーフローを狙うのは困難ですが、それ以外は2バイト(最大値は65,535)なので、数百時間程度の現実的な時間でオーバーフローが可能です。
具体的な利用価値があるのは、逃走回数でしょうか。
ドール実地試験でのX-ATM092の初戦で必ず逃走する必要があるため、FF8における最低逃走回数は1回です。
しかし、合計65,536回逃走してオーバーフローさせることで、逃走回数の数字を0にすることが可能です。
「逃走回数0」を実現したい完璧主義の方は、チャレンジしてみるとよいでしょう。
それでは。
コメント