ゲーム : してログ

今回も春頃に作業した、作業ディレクトリからの蔵出し情報である。言ってないが、前回の記事も春頃の作業をまとめただけで、まだ何も作業していない。

高速連射型ログラムの特徴

ログラムの連射性能を限界まで高めた改良型で、ターゲットを捕捉すると絶え間なく攻撃してくる。大きく回り込むような、横方向からの機動で攻撃することが有効である。

  • ログラムの改良機で、連射性能が引き上げられている
  • グロブダー(ダッシュ性能のあるブロック 3A または 3C)のパワーパックが必要なため、改良ログラム+グロブダーのユニットで構成される
  • この改良型試作機を小型化したものが、デロータシリーズである
  • デロータとして結実された後も、運用の柔軟性、費用対効果の観点から、配備済みログラムの改修が盛んに進められた
  • グロブダーのみを破壊しても、ログラムの連射性能はしばらく維持される
  • グロブダーの再起動には時間がかかるため、ログラムのみを破壊してもすぐには動けない
  • 得点:300pts(ログラム)/200pts(グロブダー)

未使用キャラクタの活用

ゼビウスに眠っていた未使用キャラクタを、ただ配置しただけなのでプログラミングはゼロである。通常のログラムには攻撃頻度を別途設定するが、高速連射型はこの設定を無視した最高レベルで連射をしてくる。従って、攻撃頻度を最高レベルに設定したログラムと同一性能である。

敵配置する際は単独で置いてもまったく問題無いのだが、ゼビウスらしく最もらしい設定を加えて、グロブダーと一緒に配置するようにした。設定上は1万点グロブダーとなっているが、この機体は動かないタイプを置いているのみであり、得点も 200pts である。

このセットで出現させたのは、見た目での違いを得たいためだが、プレイヤーの心理に与える効能があったようだ。このように隣り合った地上物配置はマルチショット(同時破壊)したくなる。必然的にミスショットが増え、連射型ログラムが生き残ると、プレイヤーのミスを誘う結果となる。この思わぬ効果によって、単独で配置するより強いと思わせることに成功した。

おまけ:ボツキャラ集

データ整理で見つかったボツキャラを紹介する。ゼビウスの描き方は正射投影だと思うので、高さ方向のデザインが難しい(例えば立方体を描こうと思えば「正方形+影」だが、立方体なのか角柱なのか理解させるのは難しい)。加えて16×16ドット+8色だと、綺麗に見えるデザインはもう出尽くしている感がある(似たようなものしかできない)。

T01
T05
T04
T03
T06
T02

近代化改修(ドットの修正)

オリジナルのドット絵をずっと眺めていたら、論理的に修正したほうが良さそうな箇所を見つけた。右翼のブルーラインが、影のところで途切れているように見える。影の中でもラインは見えないとおかしいだろう、ということで修正版ではラインが描かれるべき部分に濃い色を入れた。

オリジナル
修正版

更に眺めていると、両翼のデザインが違っているように感じてくる。右翼中央に入っているラインが、左翼には入っていない、このラインが何らかの影を表すのか、単にパネルラインなのか、イメージイラストでもよく分からない。試しに左右それぞれに合わせたバージョンも作ってみた。右翼に合わせたほうが良いのでこれを採用する。

左翼に合わせた場合
右翼に合わせた場合

特別塗装機(カラーバリエーション)

こうして比べてみると、オリジナルはくすんだ感じのカラーになっている。ハイライトカラーを明るく調整してみると、ぐっと金属感が増してカッコ良くなる。

敵キャラと同じハイライトにしたのがシルバー、少し輝度を落としたのが改良パレット、プレイシーンでは後者がバランスが良い。もしかしたら「ロービジ&低反射の塗装されている設定とかか?」と勘繰ったが、公式イラストはホワイトなので、そもそもオリジナルも違ってるかも知れない。

オリジナル
改良パレット
シルバー(敵機と同じ)
ホワイト塗装
アンドロイドイブ機
ゼビアレの2P側
アンドアジェネシス
ネイビー(ロービジ)
アイボリー
ブルーメタル
シャア専用機

ツノ付き(ゼオダレイ合体装備機)

ファミコン版「スーパーゼビウス・ガンプの謎」などに登場する、スターフォースのパーサーみたいな機体。前方背面にドッキングした状態を、ファミコン版を参考にアーケードスペックで描き直した。

オリジナル
改良パレット

UGSF軍機

ギャラガとギャプラスに登場する自機だが、中央ラインが1ピクセルでデザインされているので、中央がどうしてもずれる。そのためこれらの機体でプレイすると多少違和感を感じるかも知れない。

ギャラガ・ファイターのみ陰影付けしてみたが、真っ白な機体というイメージが崩れるのでそこまで立体感は出せなかった。他は YouTube のプレイ動画からドットを拾ったので、ドットミスはあるかも知れない。

ギャラガ / ファイター
ギャプラス / ファイター
ギャプラス / アブノシップ

雷電Mk-II

どこかで言ったと思うが、雷電IIやバイパーフェイズワンの基板でゼビウスをリメイクしたら、という妄想を少しだけ形にした。もちろん、スペック的に緻密なドット絵には出来なかったが、それなりの雰囲気は出せたと思う。

雷電マークII 1Pカラー
雷電マークII 2Pカラー
雷電マークII グリーン

反乱同盟軍機(スターウォーズ)

スペック的に再現するのは無理だと思いつつ、実際ドット打ってみたら意外とイケた。特にファルコン号は超お気に入り、Xウィングもアカウントのアイコンにするほど気に入っている。

調子に乗ってトーロイドとジアラをタイファイターにしようとしたが、こっちはかなり厳しい。でもまだ諦めていないので、そのうちご披露できるかも。

STAR WARS / Millennium Falcon
STAR WARS / X-Wing
STAR WARS / Y-Wing

その他

ゼビウス軍のアイドル、カピ様だが、180度回転&陰影を付けなおしで以外と手間が掛かった。その割にはイマイチ、陰影がまだ素人っぽいのと、ライトが点滅しないからだと思う。あと、目に見えるライトの部分は穴が開いてるって知ってた? イメージイラストを見てもやっぱり開いてる。

カピ(鹵獲機)
レイフォース / RVA-818 X-LAY
StarTrek / NCC1701-D

レイフォースはシューティングの中で好きな機体のひとつ。頑張りました。色数が足りず砲塔のカラーは再現できなかったが、雰囲気はまあまあ出ていると思う。レイフォースはゼビウスの発展形だと言われることもあるが、それについては意義あり。

最後、スタートレック・ネクストジェネレーションからのギャラクシー級宇宙船。ソーサー部の楕円形状と、ドーサルネックの立体感、ワープナセルの発光部と付き方、ごちゃごちゃしてるけど目を細めればきっと見えてくる。ただし、スケール感が合わないのでプレイシーンではイマイチ。せめて、アンドアジェネシスのサイズで描かないとだめであろう。

番外編(ファミコン版)

ファミコン版のデザインを参考に、アーケードスペックで描き直したもの。ファミコン版は単色のホワイトなので、カラーバリエーションのホワイト塗装でもファミコンっぽく見える。青いラインの入り方が違うこちらよりも、っぽいかも知れない。

ファミコン版
FC豪華版 v1
FC豪華版 v2

番外編(その他)

ナスカは、お土産でTシャツかマグカップのデザインが、可愛かったので記憶を参考に作成した。ブックマークしておけばよかったのだが、もう一度そのデザインを検索しても見つけられなかった。

Haro版
Redo版
ナスカ
ぱっと見、違和感ないでしょ?
ぱっと見、違和感ないでしょ?

お久しぶりです。年末恒例行事となっているライフワーク(ゼビウス改造)の時期になりました。

今年は、新キャラクタ(地上物)の実装が形になったので紹介します。以前にお遊びで改造していたものをベースに、オリジナルのゼビウスにはいないタイプの攻撃に仕上げてみました。実際に対峙してみると、かなり厄介な存在になったかと思います。

レグラム(LEGRAM)の特徴

他の地上物より弾速が速いため、混在して配置されると非常に対処し辛い場面となる。出現即破壊が基本だが、タイミングを待ち第1波攻撃をやり過ごすしてから接近するのが安全である。

  • ログラムの派生型で、高速弾の連射が可能
  • ログラムをひと回り大きくした形状で、中央にコア状の発光箇所、十字のスリット部分にも発光箇所がある
  • デロータ系との違いは、弾速が速い点、間欠的な連射である点
  • 高速弾を射出可能になった半面、水平角±10度程度の照準誤差がある(ログラムやデロータと比べ照準性能が劣る)
  • 最大6発程度の連射数制限がある(砲身冷却及び次弾装填〈ドークト充填〉のため)
  • ゼビウス軍での名称は「レドキラム(redo-keram)」
  • 地球軍での名称は「レグラム(legram)」または「レティキュラム(reticulum)」コードネームは「ハチの巣(beehive)」
  • 地上物(ブラスター1撃で破壊可能)
  • 得点:2500pts

試行錯誤のアルゴリズム(プログラム)

拙作のアナザーゼビウス「Haro」にどうしても新キャラを投入したかった。しかし容量的に厳しく、僅かな空きはエリア表示や残機表示の改善プログラムで潰してしまった。本格的な動きのアルゴリズムを(特に空中物は)実装するのが難しい。そこで、ゼビウスに元々ある部品をうまく使って地上物を作れないか、と試行錯誤することになった。

まず、単純に連射性能をアップさせてみる。スパリオが数珠つなぎになりレーザーのように見えるはず。これを実装してみると、それっぽい感じのインパクトだけは凄いのだが、弾切れが激し過ぎた。1個出しただけで他のログラムは口パク状態になってしまい、使い勝手は最悪。連射間隔を落とすとデロータと同じになっちゃう、ということでボツ。

次にブラグザカートが放つ高速弾を撃たせてみた。これはなかなか良かったのだが、ログラムの発射間隔だと弱いし、デロータの間隔だと凶悪過ぎる。発射間隔で性格分けした場合にちょっと居場所が無い感じで、ログラム<デロータ<新キャラ、といった位置付けにしたいが出来ない。ちなみに、ブラグザカートと同じ5way弾を撃つようにもしてみたが、ログラム<デロータ<<<<<新キャラ、って感じになるのでボツ。

ここで気づいたのは、連射間隔や弾速の変更だけだと、明確な性格分けが難しいということ。ゼビウスは基本的に、発射間隔、攻撃ライン、弾速の違い、の3つで性格分けされている。ログラムとデロータは発射間隔の違い。デロータとガルデロータは攻撃ラインの違い(デロータは画面下方に行っても撃ち止まない)。弾速については、地上物はみんな同じ、ブラグザカートだけ速い。なので、これらの調整ではあまり違いが付けにくい。

まったく違うキャラと感じさせるには、別のアプローチが必要だった。そこで考えたのが1~3wayまでの固定弾。プログラムは簡単だし、ゼビウスにいないタイプなのも確か。だが、完全にゼビウスっぽくなくなる。

なんか頭悪そう。

そこで最終案に行きつくことになる。新しい要素として照準の正確性を加えた。ゼビウスの敵弾は常に自機方向を狙ってくる(正確には32方向だったかの角度だが)。これを少しブレさしてあげればどうだ。これがなかなか良い、ただし相当凶悪。それで間欠的に休むよう調整し、なんとか完成できた。

久しぶりにゼビウスをプレイした人は「あれ?こいつの名前何だっけ?」と言うに違いない。

キャラクタデザイン(ドット絵)

レグラム完成版と、没になった横グロブダー(ゼビアレのトレスではない)のデザイン。横グロブダーは、90度回転させただけでなく陰影を描きなおしている。また、左右別々に陰影を描くので8キャラも必要、動きの分プログラムが長くなる、ということでボツ。他にも試作キャラクタがあったが残念ながら残っていない。

レグラム
左向きグロブダー
右向きグロブダー

少ないピクセル、少ないカラー、ゼビウスはもうやり切ってる感あるので、下手な絵を入れると浮いちゃう。思ったよりできる事は限られていて、半ば必然的に十字にスリットの入ったこの形になった。

初期案だと、スリットが開閉して撃つときだけ開くアニメーションだったのだが、ドットが足りないのと、プログラムする容量が無く実現できなかった。パレットアニメーションはギリギリ入れることができたので、他の敵キャラと同じタイミングで鼓動するようできた。

最終的には、ゼビウスに居てもあまり違和感が無い感じにできたと思う。奇しくも「ガンプの謎はすべてとけた!?」に似たキャラクタが出ている。あちらさんも必然的な結果なのかも知れません。

ゼビウスに新キャラクタを入れるのは難しい?

アレンジメントやレザレクションなどの新キャラクタってちょっと違和感ありましたよね。設定の「敵機にも人が乗っていてヤラれないようにする」を無視した、自機の手前で停止をやってみせたり。大きなアンドアジェネシスが、重量を無視した軽い動きをしてみせたりする。新作出るたびに「そうじゃないんだよな」って思ってた。

ゼビウスのキャラクタって、やっぱり設定考証がちゃんとされているか、バランスが取れているか、が重要だと思う。オリジナルで設定されているのは、

  • 有人機は逃げる(一撃離脱)、無人機は体当たりもする
  • 有人機はGが掛からないような動き、無人機は慣性を無視した動きもする
  • 性能が上がるにつれ大きくなる(ザカート ⇒ ブラグ・ザカート ⇒ ガル・ザカート)
  • テレポートが可能なのは、小型&無人の場合のみ
  • 大きなキャラクタは動きが遅い

などだと思う。今回のレグラムではこれらを守りつつ、新しい設定「弾速アップと照準の正確性はトレードオフ」「高速弾の連射には限界がある」を追加してゼビウスらしさを加えてみた。

本当は「タイファイター」を入れたかった。テラジと同格のトーロイド系上位機で、多数のスパリオをばら撒きつつロール旋回して離脱するイメージ。容量の制限でドット打つ前にボツったけど。

そして今年の予定!

  • 空中物の出現テーブルの調整
  • 最終面の地上物配置確定
  • 難易度のバランス調整(現在のバージョンで一度もクリアできてない)
  • いよいよ完成?

YouTube のほうで「FC版ゼビウス 1万点グロブダーを倒したい」という企画をやってみた結果、破壊には成功しました。詳しくはチャレンジ動画のほうを見ていただくとして、少し考察してみたいと思います。なお、プログラムを解析した訳では無く、あくまで推測レベルの話になります。

アルゴリズムの考察

見た目から分かるアルゴリズムは、下記のような割と単純なものだと思います。この場合、ブラスターの投下地点と着弾時間、グロブダー移動速度の関係で、破壊可能かどうかが決まるはずです。

  1. 停止状態
  2. ブラスター投下中の赤い照準に重なっていれば、高速で下方向に移動開始(等速)
  3. 3キャラ(AC版は2キャラ半)分移動したら、初期状態に戻る

AC版との比較では、グロブダーの移動距離が半キャラ長くなっており、着弾のタイミングはほぼ同じに見えます。照準と自機の距離が違いますが、投下開始を合わせて比較すると同じタイミングで着弾するのが分かります。

移動距離はAC版より長い3キャラ分
移動距離はAC版より長い3キャラ分
着弾時間はAC版とほぼ同じ

論理的には破壊不可能?

このようなアルゴリズムではランダム要素も無く、反応する最下端を狙ってブラスターを落として間に合わないのであれば、破壊することはできないと思われます。そもそもロジック的に「破壊不可能なプログラムがされているのでは無いか」というのが私の見解です。

それにも拘わらず、1万点グロブダーが破壊できてしまうのは、恐らく何らかのバグが関係しているのでは無いかと言う訳です。

AC版の破壊シーンから考察

破壊成功シーンをスローで再生してみると、グロブダーの発進が2~3フレーム遅れているように見えます。いっぽうで失敗シーンでは直ちに発進していて、この数フレームの違いが破壊の成否に繋がっていると思われます。

この数フレームの遅れはどこから来るでしょうか? 非常に疑わしいのはキャラクタの座標が何らかの理由で、微妙にブレているのでは無いかという点です。反応するかギリギリのところにブラスターを落とした場合、グロブダーとの位置関係がフレーム間で1ドット程度ブレていると説明が付きます。

そして最も疑わしいのは、処理する CPU の違いです。スクロールによる位置の計算を担当する CPU と、当たり判定をする CPU が異なる場合、グロブダーと照準のスクロール計算が終わってから当たり判定が行われるパターンと、片方のスクロール計算が終わっていないときに行われるパターンがあると思います。その結果、重なっていると判定されたり、重なっていないと判定されたりするブレが生じるのでは無いでしょうか。

数フレーム遅れて発進している

1万点グロブダーはバグから生まれた?

ギドスパリオのオレンジフィルム(爆発時に赤く四角いパターンが混じるバグ)は「バグと分かっていたが面白いので残した」ということですが、1万点グロブダーもこれに似た状況で生まれたのでは無いでしょうか。

つまり、本来は破壊不可能な高速回避のアルゴリズムだが、バグ(あるいは仕様)により稀に破壊可能なプログラムが偶然できたとします。そうとは知らずに「破壊がかなり難しいから1万点にしよう」という判断をして、今の状態になったというものです。

FC版が正攻法で破壊できない理由

ファミコン版の1万点グロブダーはアーケードと同じ方法では破壊できません。これは、アーケードで存在したバグ(あるいは仕様)がファミコン版には無いためでは無いでしょうか。

敵のアルゴリズムがアーケードを再現しているとすれば、1万点グロブダーのアルゴリズムは破壊不可能なものになって当然です。ファミコン版はシングル CPU で処理されているため、座標計算と判定のタイミングが完全に同期してブレないのだと考えています。

FC版の破壊シーンから考察

チャレンジ動画で破壊に成功してから、レトロフリークのクイックセーブを使って確認したところ、やはり相討ちが鍵のようです。ただし、クイックセーブを使っても何十回~百回繰り返してようやく成功するという、かなりシビアなタイミングでした。

照準ロック位置はグロブダーが反応しない限界(これより2ドットほど上でも反応しません)よりも離れているので、この位置を狙っても反応すらしないはずです。

本来この位置関係では反応しない

恐らく相討ちになって爆発パターンの再生が終わった後、僅かの時間だけ座標計算が停止してしまうのでは無いでしょうか。動画をよく見てみると、爆発パターンが終わった瞬間に照準が消え、数フレーム後に爆発しています。この仮定が正しければ、下記のような推論が成り立ちます。

  1. 自機の爆発パターンが再生し終わると同時に照準が消える(この時点で自機関係のスクロール座標計算が停止)
  2. 自機の存在は消え、ブラスターの存在は内部的に残ったままになる
  3. リスタートに移る前の数フレームの間、グロブダーはスクロール座標計算により下方向に移動する
  4. 照準は消滅しスクロール座標計算が停止しているが、グロブダーはスクロールにより照準位置に入ってくる
  5. ブラスターの着弾までに残った数フレームが処理される
  6. 更新されなくなった照準位置とグロブダーの位置で当たり判定が行われる
  7. この結果、当たったと判定され、グロブダーは破壊される

FC版の失敗シーンから仮説の強化

この仮説を思い至ったのは、チャレンジ動画の中で気になっていた現象があったためです。こちらも発生頻度が20時間中2回と、かなり低いため探し出すのに苦労しました。

成功パターンと同じように相討ちになっていますが、こちらは成功時よりも早いタイミングで自機が爆発しています。このためグロブダーが高速発進し、再スタートで画面が切り替わった後にブラスターが着弾しています。再スタートで自機の存在が復活したことで、照準とブラスターが表示され、残りのフレームが処理されたと考えられます。

ブラスターの処理が残っている証拠

結びに

1万点グロブダーの破壊はゼビウスにおいて、上達した後も挑戦したくなる重要なギミックであり、ファミコン版でも破壊可能な存在として入れて欲しかったと思います。当時の攻略本には「このグロブダーはなんと1万点、余裕があれば挑戦してみよう」みたいに紹介されているのですが、とんでも無かったですね。

実は、子供の頃に破壊できた記憶があったため、このチャレンジ企画もこんなに大変だと思っていませんでした。今思うと、その記憶が正しかったのか疑問です。恐らくは、ファミコン版以外のゼビウスの記憶か、単にアーケードより簡単なのだからそうに違いない、と思い込んでいたのだろうと思います。

理想環境はやっぱり

アーケード基板からのキャプチャだとフレームマイスターが理想環境ということになりましょう。いちど購入を検討したことがあるにはあるのですが、そんなに基板持って無いし、RGB ケーブル一式揃えるといくら掛かるか分かりません。

最小の出費で済ますはずが...

当初の思惑では、激安アプコンのVGA → VGA to HDMI コンバータ → IODATA GV-HDREC というのを考えていました。足りないコンバータだけポチって試してみるとこれが映らない、調べると GV-HDREC が受け付ける解像度が 1920×1080、1280×720 など限られるっぽい。アプコンからは 800×600 などの 4:3 のみで対応する解像度で出力できないので無理でした。

仕方がないのでビデオキャプチャデバイスも追加購入となり、トータル1万8千円ほどの出費となりました。フレームマイスター最初から買っとけっていうのも分かる気がしますね。

4:3ディスプレイは絶滅した?

所有するアーケード基板はほとんどが縦画面です。FlexScan L885 は中古で 1500 円で購入したものですが、こちらは回転して縦置きできるため大変重宝しております。今だともう 4:3 の新製品が無いため、このシリーズがジャンクで出ていたら確保しておいた方がいいです。現在、予備機として少し小ぶりな FlexScan S1721 も所有していて、多少生活空間を圧迫しております。

サイバーガジェットのアーケードスティックが安くなっていたときに購入したのですが、WindowsXP で利用できなかったので原因等を調べてみました。USBのゲームコントローラには DirectInput と XInput の規格があり、XP 時代は DirectInput だったようです。恐らくはこのアケコンが XInput のみに対応したものなのでは無いかと思われます。

WindowsXP 用 XInput ドライバ入れれば良い

調べると DirectInput は DirectX 8 までで、DirectX 9 から XInput が導入されたとあります。であれば WindowsXP の DirectX 9 で使えてもよさそうなものですが事実はそうなっていません。

更に調査してみると XInput は Xbox360 のコントローラと関係があり、そのコントローラ用の XP ドライバを発見しました。以下のサイトにある「Xbox 360 アクセサリ ソフトウェア 1.2」を、試しにインストールしたところ使えるようになりました。ただし、コントロールパネルのゲームコントローラーについては開けない状態です(開いてもエラーも何も表示されません)。

前から欲しかったディスクシステム版のゼビウスをようやくゲットできました。カセット版との違いはたぶんタイトル画面の年号だけだと思われます。ちなみに、裏面はボンバーマンでした。

同時購入でゲームボーイ版のネメシスです。ゲームボーイは持っていなかったので分かりませんが、グラディウスじゃなくネメシスということで購入してみました。レトロフリークだと入力遅延があるみたいですが、実機もこうなのか良くわかりません。

表ゼビウス

アーケード版ゼビウスでは自動難易度設定が導入され、プレイする度に内容が異なるようになっています。これが効果的に機能しているかは微妙ですが、「完全にパターン化できないがある程度調整可能」といった独特のプレイ感覚になっています。詳しい説明は他所に譲るとして、これには 0~127 で定義される攻撃パターンテーブルを指すポインタを増減させることによって実現しています。

先日気づいたことに「偶数番の攻撃コードだけが使用されているのでは無いか」ということがあります。理由は単純で、この増減の幅がひとつを除いて偶数になるためです。奇数になるのは、マップ上の決められたチェックポイント通過時に「出撃1機あたりのスコアが1万点以下(厳密には少し違う)でスコアの千の位が奇数のとき」だけになります。普通にプレイしている限り、この条件に該当するのは無いに等しく、結果として偶数攻撃コードの「表ゼビウス」が進行して行きます。

ポインタの増減

マップの進行による増加と、プレイヤーの行動による減少によってゲームが進行していきます(表は難易度がノーマル設定の場合)。

イベント増減値
空中物出現時(固定以外)2増加
決められたチェックポイントを通過するプレイ内容によって最大16増加
ゾルバクを破壊する2減少
残機を失う16減少

だいたいエリア2序盤付近で2万点を超え、ある程度上達するとミスもしなくなるため、以降のチェックポイントでは毎回最大値(16)増加することになります。また、チェックポイントはエリア1で4箇所、エリア2で0箇所設定されていますが、エリア1の設定箇所は2個ずつ連続していて「奇数判定されても×2で偶数」になってしまいます。ただし、ごく稀に連続したチェックポイントの間でスコアが変動した場合のみ奇数になることはあり得ます。

裏ゼビウスへの入り方

意図的にプレイしてチェックポイントで奇数判定させれば、奇数番の攻撃コードで進行する「裏ゼビウス」に移行できます。エリア1は意図的にこれを行うのは難しく、エリア2は設定されていないため、次に設定されているエリア3のスペシャルフラッグゾーン付近で調整します。

  • エリア3のスペシャルフラッグゾーン時点でのスコアを9、7、5、3、1千点代の何れかに調整する
  • 例えば空中物ノーショットで、エリア1のスペシャルフラッグ、エリア2までのソル全出現で9千点
  • スペシャルフラッグゾーン直後の空中物が出現すれば、奇数判定済みなのでスぺフラも空中物も普通に撃って大丈夫
  • これ以降普通にプレイすれば「裏ゼビウス」のまま維持される

表と裏の違い

ほとんど違いはありませんが、いくつかの攻撃テーブルで敵機の数が1つ多く設定されています。良く分かるのがブラグザカートで、表ゼビウスでは1個、裏ゼビウスでは2個ずつ出現します。また、テラジの最大機数が1機多い5機となっており、総じて裏ゼビウスのほうが難易度が高くなります。詳しくは、以下の攻撃テーブル表で確認してください。

総攻撃 A3 も

奇数コードなので A3 は当初出せないと思いましたが、裏ゼビウスに移行してからエリア12まで行くことで出すことに成功しました。研究され尽くされていると思っていましたが、まだまだ色々とありますね。

追記:ファミコン版でも確認

ファミコン版ゼビウスでも同様のプレイをすることで、出現テーブル上のブラグザカートが2個ずつ出現するのを確認できました。この部分はアーケードの出現テーブルとロジックを忠実に移植しているようです。

またファミコン版はスコアに1000万の桁が存在しますが、チェックポイントでは100万以下の桁を計算に使用しているようです。このため、1000万点の超えた直後のチェックポイントで偶数奇数のレーンチェンジが起こる可能性があり、これが1000万点ごとに繰り返されると思われます。

追記:通常プレイで奇数パターンを確認

偶然に奇数パターンになったプレイの動画が撮れたので YouTube にアップロードしました。条件は推測していたので検証してみたところ、推測どおりの内容を確認できて確信できました。

奇数パターンに移行する可能性があるのはエリア1の2箇所で、ここはチェックポイントが間髪入れずに2個連続しています。スクロール位置がぴったり図の画面になった瞬間に、千の位の偶奇が変化すると奇数パターンに移行します。他の箇所では点数が高くなりすぎて、常に+16(最大値)と判定されるため、意識してプレイしない限り奇数パターンには移行できないと思われます。

動画で移行したと思われるポイント
動画で移行したと思われるポイント
別のチェックポイント連続箇所
別のチェックポイント連続箇所
左と右のスコアでそれぞれチェックポイントの判定が行われたと推定
左と右のスコアでそれぞれチェックポイントの判定が行われたと推定

[ゼビウス] AC版ゼビウスに総攻撃がプログラムされていた (6) からのつづき)

調整方法の早見表

エリア11の攻撃パターンの組み合わせから、エリア12で必要なテーブル調整方法をまとめてみました。なお、通常プレイでは偶数コード進行になるため奇数コードは除いています(奇数コードは参考資料を参照)。

追記:2パターンある場合があったので表を修正しました。

他のエリアでも再現可能

難易度設定によって、ミス時の減少値、空中物出現時の増加値が変わってくるため、HARD や HARDEST では他にも可能なエリアがありました。ただし、エリア3は HARDEST+5機設定でないと難しい(チェックポイント通過時の判定を最大にするために点稼ぎも必要)です。

難易度設定空中物出現時
(固定を除く)
チェックポイント
通過時(最大)
ゾルバク破壊再スタート時
(ミス)
EASY0+16-2-24
NORMAL+2+16-2-16
HARD+6+16-2-8
HARDEST+16+16-20
  • 空中物出現時に128以上かどうか判定されます

仕込み時の進行ポイントの目安

各進行ポイントまで進んでミスした場合、難易度設定毎に攻撃ポインタは下記のように変化します。

エリア進行ポイントEASYNORMALHARDHARDEST
エリア3スペシャルフラッグゾーンまで進行-80+8+16
エリア12斜めに道路が交差するあたりまで進行+8+16+24+32
エリア13埠頭の手前のゾルバク×4まで進行-80+8+16

注意など

ご自分の所有する基板、エミュレータ実装の市販ゲームなどでお試しください。ゲームセンターなどでは迷惑が掛かるのでやってはいけません。

追記:発動確認環境

エミュレータ実装のゼビウスであれば発動可能なので、逆にエミュレータなのか確認に使えると思います。最も移植精度の高いナムクラ、PS 3D/G+ は発動しないので移植作品だと分かります。

  • アーケード基板
  • NAMCO HISTORY VOL.1 (Window95/98)
  • SUPER1500 ゼビウス (Windows95/98)
  • ULTRA2000 ゼビウス (Windows95/98)

[ゼビウス] AC版ゼビウスに総攻撃がプログラムされていた (5) からのつづき)

前回の検証で終わったはずでしたが、なんとプログラムの解析結果から未改造のゼビウスで総攻撃が発動する可能性があることが判明しました。ただし意図されたものでは無く、コード上のバグを利用して攻撃テーブルポインタをオーバーランさせることによって可能になります。

条件が成立するマップを探したところ1箇所だけ合致するポイントを発見しました。それがエリア12の冒頭部分で、ここは都合のいいことにテーブル調整が安定して行える正にうってつけのポイントでした。ほとんど同じ動きを最低5回繰り返す必要があるので、意図せず遭遇した人はいないと思いますが、まったく無いとも言えません。先日検証した巨大バキュラバグよりも、実は再現するのは簡単だと思います。

仕込み方法

再現条件は下記の通りで、普通にプレイしてフラグを立てることが可能です。攻撃パターンのチャートがあれば、テーブルの数値を頭で計算しながら調整できます。

  1. エリア12まで行く(残機はある程度必要です)
  2. エリア12の開始時に、空中物のテーブルポインタを調整しておく(直前のエリア11で、テラジ×3、またはテラジ×4が理想)
  3. エリア12のゾルバクを破壊しないでバーラ4つの右側の道路を降りてくるドモグラムの弾(タイミングの目安なので別のドモグラムのでも良い)に当たってミスする
  4. この手順を5回繰り返す(テラジ以外は後述の回数で)
  5. 6回目はそのまま4本ソルのところまで行くと総攻撃が始まるはずです(失敗するとリセットが掛かるか、何も起こらない)

テーブル調整はテラジが一番分かりやすいのですが、他にも下記のような空中物を目安にすることができます。カッコ内はエリア12でミスをする回数を表しています。

  • ジアラ(6回)
  • カピ(7回)
  • タルケン+ジアラ(8回)

※目安なのでゾルバク調整が必要な場合があります(それぞれ4~6パターン同じ機種の数違いが続くのでポインタの数値を確定できません/上記でだいたい40%~50%の成功率です)

追記:追記のほうに書いた「ザカート>ジアラ」で調整するのが確実です。 仕込み完了後に操作可能なリプレイファイルも用意しました。

具体的な調整方法

これはだいたいの目安なので、ネットで攻撃パターンのチャートを探して(時間が出来たら私も資料作りますが)ください。具体的な手順は、エリア11の攻撃パターンをよく見ておいて、今どこにいるか把握します。エリア11の最後の攻撃が今いるポイントになるので、その数値を基準に下記の計算をしながら調整します。

  • エリア12のバーラ4基(の先の道路が交わる部分が画面に出る)まで進むとプラス32
  • ミスでマイナス16
  • ゾルバク破壊で1基マイナス2
  • 攻撃テーブルによる空中物の出現でプラス2
    (ただし空中物の出現時に128以上かどうかチェックされるので仕込み中は出さないようにしよう)

これをうまく使って、エリア12スタート時に攻撃テーブルの数値を112~113に調整できれば勝ち確定です。この状態で上のプレイを1回行うごとにポインタをオーバーランさせ、6回目にそのまま川まで進むと総攻撃が始まります(調整に失敗した場合はリセット)。ただし、発動できても川の手前のごく僅かの時間だけで、川に差し掛かると通常攻撃に戻ってしまいます。

参考画像
参考画像

エリア12のみでテーブル調整(未検証/理論上可能)

残機があればエリア12の川直前の空中物で調整する方法があります。この空中物の種類がテラジ、カピ、タルケン+ジアラのときミスした場合、上記の回数+1回繰り返すと仕込みのラインに乗ります。もし違う空中物の場合は、ゾルバクを少し倒すなりして調整してください。ジアラを外したのは、攻撃パターンのグループが2つあり特定ができないからです。

何が起きているか

からくりは「攻撃テーブルポインタを2加算>128以上になったら64減算する>ポインタに対応する空中物を出現させる」というロジックになっているためです。つまり元のポインタが128未満であることしか考慮していないことを利用しています。更に、得点とミス回数から16加算する処理のバグ(範囲外になってもチェックしていない)を組み合わせることにより、次の空中物が出るときに総攻撃のパターンコード(162~163)を指すよう調整しています。

エリア12の序盤では、バグのあるこの処理が2回実行されるため、攻撃テーブルポインタが32進みます。ミスしたときは単純に16減算しているのみなので、1回のプレイでプラス16進むことになります。従って、(仕込み5回分で)112+16×5=192、(6回目のプレイで)192+32-64+2=162(総攻撃パターンコード0xA2)となります。

なお、ハードやベリーハードの場合はまだ可能性のあるエリアがあるかも知れませんし、テーブル調整がしやすいかも知れません。こちらはまだ想像の範囲ですが、きちんと調べれば入り口の間口は広がるかも知れません。

とりあえず、総攻撃への入り口はエリア12にありました、というご報告でした。動画を作成していますので、できしだい追記&アップロード致します。

追記1

下記に動画をアップしました。

この動画ではエリア11の攻撃が「ザカート>ジアラ」だったのでポインタが104か105で確定できました。(上の目安で書いたジアラの少し後に出てくる2パターン連続しているジアラと特定)そのため、エリア12のゾルバクで調整を入れて必ず発動するよう調整しています。また、エリア11を繰り上げで抜けているので1回分多く仕込み作業をしています。ここら辺はややこしいので早見表を作っておくと成功率が上がると思います。

また想定外ですが仕込み中、変なところでスぺフラ効果音みたいなのが鳴っています。これ、コード上鳴りそうもないのに、どうしてなのかはまったく分かりません。

エリア12が総攻撃への入り口だった
エリア12が総攻撃への入り口だった

追記2

仕込み完了直後にプレイ可能になるリプレイファイルを作りましたので試せる方はご利用ください。

だんだん慣れて成功率が上がってきました。エリア11の斜めの地上物から2回空中物が来ますが、ここが「ザカート>ジアラ」となった場合は、仕込み×6回、ゾルバク×4個破壊、これで仕込み完了になります。もし、動画やリプレイファイルのように繰り上げでエリア12に来た場合は、仕込み×7回、ゾルバク×4個破壊、になります。

リプレイファイルでは、カウントを間違えて5個破壊していますが、恐らく1回目の仕込みの際に、若干スクロールさせすぎて空中物の+2が入ってしまい帳尻が合ったと思われます。もう少し早めに当たった方が成功率が上がると思います。

追記3

A3 を出そうと思って少し気づいたことを書いときます。この出現テーブルポインタですが、加算も減算も偶数で難易度設定変えてもそれは変わらないと思います。そうだとすると、奇数には絶対にならないため A3 は出せないばかりか、出現テーブルの半分は実際には使われていないっぽいです。

追記の追記:チェックポイントで得点とミス数から出現テーブルポインタの加算値を算出しますが、その際に奇数になることがありました。 ただ、ゲーム開始の早いうちでないと以降ほぼ確実に +16 の判定になるっぽい(後ほど検証します)。 また、奇数になっているのはテーブル上のブラグザカートが ×2 になることで判断できます。

固定の空中物としてコードを直接指定されれば別ですが、それでも多くの使われない攻撃パターンがあると思われます。加算や減算の数値を半分にすれば、出現テーブルを倍使えるので非常にもったいないと思います。

おかげで A3 がちょっと難しそうですが、B2 であれば仕込み回数をもう1回増やすだけなので、後で挑戦してみようと思います追記2のリプレイファイルから仕込みを1回追加すると B2 の攻撃になります(動画も追加しておきました)。

あと、先ほどの偶数奇数の話に戻ると「ザカート>ジアラ」と来た場合は仕込み方法がひとつしかありません。出現テーブル上は、同じジアラの攻撃が2連続定義されていますが、片方が奇数になるためポインタが 104 であることが確定するからです。テラジや他の機体でも編隊の機数によって、仕込み回数とゾルバク破壊個数が確定的に言えそうです。

更に改造のアイディアも。ということはですよ、何らかのトリガーで奇数にレーンチェンジできれば、出現テーブルが2本できますよね。ゼビウスアレンジメントのように、出現テーブルを2つ用意してプレイヤーを苦しめることができますね。

追記4:調整の早見表

攻撃順から起点攻撃コードを特定できるものを早見表にしてみました。繰り上げでエリア12に来た場合は、仕込み回数を+1してください。

エリア11の攻撃パターン起点攻撃コード仕込み回数ゾルバク破壊数
ザカート > ジアラ0x68 (104)64
ジアラ > トーロイド0x6A (106)65
テラジ×2 > テラジ×30x70 (112)50
テラジ×3 > テラジ×40x72 (114)51
テラジ > トーロイド0x74 (116)52
発動後に再チャレンジしたい場合

A2 の発動後はテーブルポインタが 146(0x92)になっているので、ゾルバク1個破壊することでもう一度ラインに乗せることができます。ラインに乗ったら、また仕込み3回行うと再びチャレンジできる状態になります。ただし、川付近まで進んだ場合は仕込みが壊れているので諦めましょう。

また、16進で考えたほうが分かりやすいです。まず、ラインに乗せた状態は16進で1桁目がゼロの場合になりますので、ゾルバクを使って乗せてください。仕込み1回で +0x10 進むので 0x90 → 0xA0 → 0xB0 → 0xC0 と仕込みを繰り返し、出撃の際に 0xC0 になっていれば条件が成立しています。

[ゼビウス] AC版ゼビウスに総攻撃がプログラムされていた (7) につづく)