クラシックゲームのステージ物理のメモ
個人的に今作っているゲームは、
- セルベース(固定サイズのマスでステージのコリジョン等表現する)
- 規格化されたステージ傾斜
という仕様でステージを組むことにしている。 ...今はステージエディタもなしにアスキーアートでポチポチステージを表現しているがそのステージエディタを今後作っていかないとイカンので、もうちょっと仕様を練っておきたい。
マリオ64
64マリオはフリーローミング型の3Dプラットフォーマーの金字塔と言えるが、それなりにコストの高い処理をNintendo64のパワーでなんとかしている。ゲームデザイン面では、64マリオはファイヤーマリオにならない(出したファイヤーボールごとに当り判定が必要になってしまう)といったポイントもある。
コリジョンは円筒形、基本的に完全な平地と垂直のぶら下りのみがあり、斜めの地面に斜めに立ったりはしない。
Sonic
ソニックのキャラクター性を表現するため、上記のマリオよりもより非現実的な摩擦が設定されている。セル単位に角度が設定され、ゲームはソニックの接地点のセルを常に管理している。
マリオ
マリオ1と2には坂道はない。3には坂道や自己複製型の敵キャラクタが登場している。
2はある種の再発だが、マリオ1やマリオ3は現代で言うところのAAAタイトルを指向して実装されている。マリオ1はマッパーによって拡張しないタイトルの最終盤で、マリオ3は自社のマッパーMMC3のローンチタイトル(ディスクシステムからROMへの復帰作)に相当する。
マリオ1は、土管や豆の木、リフト等上下方向の特殊移動がある。2では強風等が追加された。マリオ1・2ではステージには一切の特殊形状がなく、床は常に水平となる。
説明書
ファミコンミニの説明書集( https://www.nintendo.co.jp/clv/manuals/ja/index.html )として挙げられている。
例えば坂を下りる操作はマリオ3の新規操作として解説されている。
固定小数点処理
岩田
そこでわたしは知ってることを
中郷さんに洗いざらいお話ししまして。
そのひとつが、キャラクターの位置を整数で計算するだけでなく、
より細かく小数点以下の計算もして、精度を倍にして計算すると、
重力計算とか、浮力の計算、あるいは加速・減速の計算が
細かくできるようになって、動きがスムーズになるんです、
というような説明をそのときにしたんですね。