黄昏通信社跡地処分推進室

黄昏通信社の跡地処分を推進しています

メモ:初代マリオブラザーズの不具合(らしきもの)(カメの速度)

シェルクリーパー(以下カメ)の速度は四段階あって、基本的にはひっくり返してから蹴らずに放置しているとそのうちに甲羅を脱ぎ捨てて起きあがり、脱いだ甲羅をけっとばしてから新しい甲羅をまとって走り出す、という挙動をとる。この際に甲羅の色が変わり、速度が一段階上がる。
最初は緑、次は紫、その次は茶になる。茶になった後は何回ひっくり返しても茶にしかならず、速度も上がらない。この状態のことを「茶A」とする。
それとは別に、カメがフェーズ(面)の最後の一匹の敵になると、即時に甲羅の色が茶に変わり、速度が上がる。この時の速度は茶Aより早く、横方向の速度はマリオと同じだ。この状態のことを「茶B」とする。
ところが、茶Bをひっくり返して放置し、起き上がらせると、そのカメは茶Aになってしまう。これはそのカメの元々の色に関係なくそうなる。以後その面ではそのカメは二度と茶Bに戻らない。


サイドステッパー(以下カニ)ではそうはならない。カニはひっくり返されて自力で起き上がるたびに赤→青→ピンクA(マリオと同じ速さ)→ピンクB(マリオより速い)と変化し、最後の一匹になった場合もピンクBになる。こちらの方が理にかなった挙動なのだが、しかしこれはこれで不自然とも思う。なぜピンクAとピンクBは同じ色なのか?


ファミコン版では、カメ、カニ共にアーケードとは違う挙動を示す。カメは緑→紫→茶Aと変化し、最後の一匹の時に限って茶Bになる。そして茶Bになったら死ぬまで茶Bのままだ。カニも同様で、赤→青→ピンクAと変化し、最後の一匹の時に限ってピンクBになる。感覚的には、これが一番ぴんと来る。これだったら茶Aと茶B、ピンクAとピンクBが同じ色であることも納得はできる。それぞれAとBは排他的だからだ。


さて、アーケードのカメはどうしてそんな挙動になるのだろうか。
ひとつ思いつくのは、「茶Aと茶Bの判定の優先順位を逆にしてしまった」というものだ。つまり、茶Aと茶Bが両方成り立つときに、本来カメは茶Bにならなければならないところだが、かわりに茶Aになるように書かれていたとしたら、ここで書いたおおむねの挙動は説明がつく。唯一そうはならないかもしれないのは緑のカメが最後の一匹になって茶Bに変化したものを放置して起き上がらせた場合で、これだと「紫」と「茶B」が同時に成り立つから茶Bになりそうにも思う。が、一旦茶Bになったカメの被ヒット数をカウントしておく意味はなく、だから茶Bになった時点で被ヒット数は2にする、みたいな処理をしているのかも知れない。かなり苦しいし、カニの速度が実に素直にリニアな4段階に設定されているのとも整合性はない。
結局のところよくわからない。