全く持って蛇足だが、実機のバグを敢えて再現した。
アンドア・ジェネシスのコアを破壊すると4000点だが実機ではそれ以上に点が入る。
これは参照するテーブルの初期化忘れにより直前の地上キャラの点数も加算されるためらしい。
こっちの実装ではそんなテーブルはそもそも持っていないが、加算される点数は毎回決まっているのでそのようにした。
具体的には4面:+800点、9面:+200点、14面:+400点である。
ただしその面でミスをして再出撃した場合は+10点
その他にも実機には不具合があるので整理してみる。
不具合 | 原因 | 実装状況 |
---|---|---|
ギドスパリオの爆発時に赤い板がチラチラする | 未定義の領域も表示しているためらしい | 実装したくない |
ミスする場所によってはエリアが2つ進む | メインCPUとサブCPUで進行が重複するためらしい | 実装したくない |
スコアが 1,000 万点弱になると何か得点する度に常にエクステンドする | 次のエクステンド点数がオーバーフローするため | オーバーフローしない |
ミス後のリスタート時、森の中に地上物が出現することがある | メインCPUとサブCPUの処理の行き違いが原因らしい | 実装したくない |
データ上は46本目のソルがあるが出現しない | スプライト番号の同じボザログラムが消える直前に出そうとしているため無効化されているそうだ | 46本目のソルが出る |
ボザログラムは下部分が突然7ドット現れる | 上部は画面外に32ドットあるが、ボザログラムは少し大きいため | 実装してもいいけどあまり意味がないので保留 |
14面最後に空中物停止コマンドがあるが機能していない | Y座標が間違っているため | どういうものか全く不明。機能していたらどんな風だったのか興味ある |
タイトルロゴのVの字の左上が欠けている | デザインのミス? ドッターのミス? | ちゃんと欠けてる。見映えを実機に合わせることにはこだわってる^^ |
出撃時の残機数が9を超えるとアルファベットになり、Zを超えるといろいろなキャラクタ(ゴミ)の表示になる | 残機数表示に1文字分しか確保していない。10機以上の残機を想定していないというのはちょっとお粗末 | 255まで数字で表示する |
残機が255を超えると0に戻る | 残機数に1バイトしか確保していない上にオーバーフローを考慮していないため | 255でカンストする |
条件によっては想定外の空中キャラが大量に発生する | 空中キャラテーブルの最大値127を超えて参照することがあるため。超えたら何が起こるかは不明 | 0~127の範囲に収まるようにしている |
ミスしてソルバルウが消えた後、敵が画面右上に向かって攻撃する | 画面右上が恐らくVRAMの原点で、ソルバルウが消えた後はそこがソルバルウの位置になっている | 実装済み。見た目は大事 |
エリア12の最後のグロブダは動かないのに200点ではなく1500点 | ブラスター着弾点を感知して後退・停止するグロブダなのだが、画面右上にブラスター着弾点があるものとして感知して画面外で後退し、停止してから画面に現れている | 停止しているが点数は1500点のグロブダとして実装 |
0 件のコメント:
コメントを投稿