Open4

クラシックゲームのステージ物理のメモ

okuokuokuoku

個人的に今作っているゲームは、

  • セルベース(固定サイズのマスでステージのコリジョン等表現する)
  • 規格化されたステージ傾斜

という仕様でステージを組むことにしている。 ...今はステージエディタもなしにアスキーアートでポチポチステージを表現しているがそのステージエディタを今後作っていかないとイカンので、もうちょっと仕様を練っておきたい。

okuokuokuoku

マリオ64

https://www.youtube.com/watch?v=UnU7DJXiMAQ

64マリオはフリーローミング型の3Dプラットフォーマーの金字塔と言えるが、それなりにコストの高い処理をNintendo64のパワーでなんとかしている。ゲームデザイン面では、64マリオはファイヤーマリオにならない(出したファイヤーボールごとに当り判定が必要になってしまう)といったポイントもある。

コリジョンは円筒形、基本的に完全な平地と垂直のぶら下りのみがあり、斜めの地面に斜めに立ったりはしない。

okuokuokuoku

Sonic

http://info.sonicretro.org/Sonic_Physics_Guide

ソニックのキャラクター性を表現するため、上記のマリオよりもより非現実的な摩擦が設定されている。セル単位に角度が設定され、ゲームはソニックの接地点のセルを常に管理している。

okuokuokuoku

マリオ

https://qiita.com/morian-bisco/items/4c659d9f940c7e3a2099

マリオ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 )として挙げられている。

https://www.nintendo.co.jp/clv/manuals/ja/pdf/CLV-P-HAAAJ.pdf

https://www.nintendo.co.jp/clv/manuals/ja/pdf/CLV-P-HAACJ.pdf

例えば坂を下りる操作はマリオ3の新規操作として解説されている。

固定小数点処理

https://www.nintendo.co.jp/wii/interview/smnj/vol2/index.html

岩田

そこでわたしは知ってることを
中郷さんに洗いざらいお話ししまして。
そのひとつが、キャラクターの位置を整数で計算するだけでなく、
より細かく小数点以下の計算もして、精度を倍にして計算すると、
重力計算とか、浮力の計算、あるいは加速・減速の計算が
細かくできるようになって、動きがスムーズになるんです、
というような説明をそのときにしたんですね。