忍(PCE) TAS (試作)

このゲームはAC版の移植ですが、手裏剣以外の攻撃方法が削除されているにもか かわらず忍ボーナス(手裏剣不使用で面クリアが条件)はそのまま残されています。つ まり、PCE版で忍ボーナスを取得するには不殺プレイが条件となるわけですが、これ は面によっては絶望的なほど難度が高く、忍ボーナス全取得は本当に可能なのか、と 長い間疑問に思っていました。

というわけで、検証のために pacifist run もどきを試作(07:24.67, mcmファイル):

手裏剣と忍術の使用を限界まで制限するという条件で作りましたが、これは個人 的な趣味です。本来の pacifist run の定義からするとボス戦での忍術使用は制限し なくてもいいかも。また、ラスボス分身形態の分身は倒さない方がよかったかもしれ ません。

元々検証目的ということもあり、タイム的な最適化はかなりいいかげんです。か なりラグが多く、当たり判定などもわかりにくいので、まともなTASを作るにはもう 少し解析を進める必要がありそうです。

各種調査

座標処理

座標関連メモリアドレス:

$27EC   U32     自機x座標       # リトルエンディアン。上位16bit:ピクセル, 下位16bit:サブピクセル
$27F0   U32     自機y座標       # リトルエンディアン。上位16bit:ピクセル, 下位16bit:サブピクセル
$322F   U32     自機x速度(絶対値)       # リトルエンディアン
$3233   S32     自機y速度       # リトルエンディアン
$324F   U8      自機の向き      # 0:右, 1:左

1ピクセル=65536サブピクセル。以下、速度についてはサブピクセル単位で記述し ます。

通常歩行、しゃがみ歩き、ノックバックについてはx速度は一定です:

また、着地時は必ず1Fの硬直が発生し、速度が0にリセットされるようです(着地 硬直をなくす方法は今のところ見つかっていません)。

ジャンプ開始時はx速度がそのまま引き継がれますが、ジャンプ中の左右キー入力 により6144サブピクセル単位で速度を調整できます(ただし上限速度は通常歩行時よ り小さいため、通常歩行からジャンプして1回でも減速すると元の速度には戻らなく なる)。微妙な調整が必要な場合は主にこれに頼ることになります。例えば、1-1の木 箱はピクセル調整を行っておくと上に乗らずに飛び越えられるため、着地硬直を1回 減らせます。

壁には2ピクセル程度?めり込めるようです。ただし、めり込んだ状態から壁に向 かって歩いたり、ジャンプしたりするとピクセル単位で押し戻されます(サブピクセ ルは変化なし)。

空中での自機の向きはx速度と同じ方向なので、後方に手裏剣を撃つということは できないようです。また、空中で手裏剣を撃つとyサブピクセルが微妙に変化するよ うです。

手裏剣

手裏剣は画面内に4発までしか存在できないようです。

手裏剣発射後の硬直は立ち/しゃがみ状態を切り替えることでキャンセルできます。 これを利用すると通常より素早い連射が可能になります。空中で手裏剣を撃った際の 硬直をキャンセルする方法は見つかっていません。

当たり判定

自機はしゃがむと当たり判定が若干横に広がります(連続ノックバックの途中でしゃ がみ状態に切り替えることも可能)。これを利用するとノックバック時の着地点を数 ピクセルずらすことができます。例えば、4-1の番人*3のところは下段の番人にしゃ がみ状態で当たらないと穴に落ちてしまうようです。

敵キャラの当たり判定は結構細かく設定されており、攻撃判定のある部分とない 部分に分かれています(攻撃判定がない部分に触れるとノックバック)。忍者系はだい たい刀の部分に攻撃判定があるようです。

自機はノックバック中は無敵です。また、ノックバック中に銃弾に当たると銃弾 が消えます。なお、ノックバックの方向は敵キャラの左右どちらに当たったかで決ま りますが、まれに真上にノックバックする場合があります(着地と同時にノックバッ クするのが条件??)

ボス戦

1ボス (KEN-OH)

手裏剣を当て続けるとマップ右端の壁の後ろまで下がってしまうため、倒すのに 少々手間がかかります。一歩でも前進させる方法があればもう少し速くなるかも?

2ボス (MANDARA)

仏像の手前からジャンプし、めり込み気味に忍術を発動すると、連続ノックバッ クで仏像の右側に抜けられます。忍術なしで突破する方法は今のところ見つかってい ません。

3ボス (LOBSTER)

これは単に手裏剣を当て続けるだけなので簡単です。一瞬刀を振り下ろしてくる のでそれだけ回避すればOK。

4ボス (MASKED NINJA)

雷形態、風形態、分身形態、本体の順で出現します。雷、風、分身形態は4発攻撃 を当てると消滅します。各形態ともガードを解いている状態でないとダメージが通り ません(手裏剣、忍術とも)。

雷形態

この形態は連続でダメージを与えることはできないようです(忍術でも無理)。

落下時に空中で一旦静止することがありますが、これはジャンプし始める際の自 機のy座標に依存しているようです。

敵の食らい判定発生直後に攻撃を当てると、放射される電撃の当たり判定がなく なるようです。ただ、電撃の当たり判定がかなり複雑なので、詳しく解析しないと最 速で攻撃を当てるのは難しそうです。

風形態

この形態は密着して手裏剣を撃たないとダメージが通らないようです。ただ、1回 当てれば連続でダメージを与えられるので特に問題にはならないと思われます。

分身形態

この形態は連続でダメージを与えることはできないようです(忍術でも無理)。

落下時に空中で一旦静止することがあります(法則は雷形態と同様)。

なるべく高い位置で攻撃を当てると速く倒せるようです。また、最初に飛びかかっ てくる際の降り際はガードが解けているので攻撃可能です。

本体

動きがランダムですが、ダメージを与えるフレーム、および自機との距離を調整 することで行動を制御できるようです。

雑多なこと

キャラオーバーが発生すると一部の敵キャラが出現しなくなるようです(1-2の青 スパイダーやKEN-OHなど)。これをもう少し意図的に制御できれば短縮になるかも。

ラグがかなり頻繁に発生しますが、法則はイマイチよくわかってません(敵が多い とラグが発生しやすいのは確かなようですが)。

資料


Back