【ゼビウス】バキュラは256発当てると破壊できる?
何発当てても破壊できません。
オリジナルのゼビウスでは、敵の管理にフラグを使っていますが、その内容を分かりやすく説明すると
0:被弾 初期設定をしてフラグを1に戻す
1:待機状態 画面外で待機。敵の種類をセットしてフラグを2にすると敵として登場
2:動作中 弾に当たった場合、フラグは自動的に3に変わる。
また、画面外に出たら退場となり、フラグを0にする
3:爆発処理 得点計算などをして、爆発させる。
爆発処理が終わったら消滅で、フラグを0にする
となっています。ここで問題なのは、フラグを0にする以外では、処理時間を短縮するために「インクリメント(数値の増加)」を使っていることです。
さてバキュラですが、フラグが2の状態で弾が当たると、当然3になります。ただし、爆発しないので例外的に爆発処理をしないことになります。その状態で弾が当たったらどうなるのか?単純にインクリメントされてしまうと、4になり5になりと弾が1発当たるたびにフラグが増えていくと類推されていました。
もちろん8bit機のゼビウスはフラグも8bitなので、ひょっとすると256発(正確には254)弾を当てると、フラグが桁上がりを起こして0になり、結果として消滅させることができるのでは?という仮定が都市伝説に発展したわけですね。
実際には、例外処理の中にフラグを2に補正するというプログラムが組まれているため、このような現象は起こりません。
--------------------------------------------------
2003年末から2004年頭に掛けて、東京写真美術館で「レベルX テレビゲームの展覧会」という展覧会が開かれました。大変盛況で、遠藤も一般客の列に交じって見てきたわけですが、丁度ゼビウスの基板(田尻智氏所有)が展示されていて、直前のカップルがこの件について話していました。
彼「このゲームさ、途中で鉄板がクルクル回って飛んでくるんだよ」
彼女「ふ~ん」
彼「でさ、その鉄板に2万発の弾を当てるとやっつけることができるんだよね」
彼女「2万発?」
彼「実際、2万発も当てられるわけないんだけど、そういうプログラムがわざわざ入れてあるところが遊び心があってスゴいんだよ!」
彼女「無駄じゃないの?」
彼「いや、最高さ」
都市伝説に19744発の尾ヒレがついているのにはビックリ。以降遠藤は、タイトルの質問をされると、「もう65535回も同じ質問されてます」と答えるよう心がけています。