まったりFuropenブログ

ではごゆっくり

スーパーマリオブラザーズ3 ダッシュ速度仕様について

この記事ではダッシュ速度の仕様についてのお話をします。
壁抜けについてセットアップを考えている方には必要な内容になります。


マリオの速度は原則、進行方向キーを押すことで毎フレーム速度が1spx加速されます。
しかし、40フレーム後に速度40spxになるかというと絶対になりません。
速度加速には奇妙なルールがあります。

速度加速には、速度が加速しないフレームというものが存在します。
このフレームは各々の面開始から固定されたフレームに存在しているようです。
具体的には、面開始から7フレーム目と16フレーム目に速度が加速されず、
これは16フレームごとに繰り返しループしていくようです。

例えば面開始から、右キーとダッシュボタンを押したらこのように速度が加速されます。
 1,2,3,4,5,6,6,7,8,9,10,11,12,13,14,14,15,16,17,18,19,20,20,21,22,
 23,24,25,26,27,28,28,29,30,31,32,33,34,34,35,36,37,38,39,40
速度40spxに到達した時に、合計で922spxマリオが進んでいることが分かります。

では面開始から1フレーム待って、右キーとダッシュを押したらどうなるでしょうか。
 1,2,3,4,5,5,6,7,8,9,10,11,12,13,13,14,15,16,17,18,19,19,20,21,22,
 23,24,25,26,27,27,28,29,30,31,32,33,33,34,35,36,37,38,39,40
速度40spxに到達した時、合計で917spxマリオが進んだことが分かります。

このように同じ位置でも速度を加速させる開始フレームが違うならば
結果的にマリオの位置が大幅に変わってしまうことになります。

これらの速度加速のフレームはそれぞれの面の開始から固定されたフレームにあるので
面の開始からブレーキせずにいけばマリオの動きは固定されます。



【オマケ】

・減速について
進行方向キーを離したときに、マリオの速度は0に戻るよう毎フレーム1spx減速されます。
この減速については、減速しないフレームというのは存在しません。
減速も加速と同じく、加速しないフレームは減速しないフレームでもあるようです。

何か全然違う気がします、調査中

・ジャンプ中の減速について(しっぽマリオ以外)
マリオがジャンプして空中にいる間は、方向キーを離しても減速しません。

・ジャンプ中の減速について(しっぽマリオの場合)
しっぽマリオの場合ジャンプをすると速度が遅くなったと感じると思います。
どうやら、ジャンプをしているとき毎フレーム1spx速度が減速する仕様があるようです。
(この仕様は減速しないフレームには当たらないようです)
ただし進行方向キーを押していれば毎フレーム1spx加速していくので、
速度が加速しないフレームが存在するため、その結果緩やかに速度が減速していきます。

これも違うようです、調査放棄中