特集記事:マリオ世界の重力を物理的に考えると彼らの住む世界はどんな世界だろうか?

mariojump

http://hypertextbook.com/facts/2007/mariogravity.shtmlより(以下の数式も含めて)引用

このサイトはニューヨーク大学の学生の作った、マリオワールドでの重力影響を調べた結果が書かれている単純な論文である。平易にかみ砕いて紹介するために、また、日本でも多くの学生にこのモデルを知ってもらいたいという思いがあり、このNYの学生の作った物理モデルの解説文を書く。

論文の冒頭で書かれている重力の影響を考慮したマリオの位置はこのように表される。純粋な重力の問題を考えるので、初期の位置を示す値であるs0も初期速度を表すv0もまた、0の値をとる。すると式変形により次の式が分かると同時に加速度について簡単に式が読み解ける。

s = s0 + v0t + ½ at^2

ここで、s0=0かつv0=0であるから

s= ½ at^2

これを式変形すると

a = 2s / t^2

ここでは加速度はこのように表される。さらにに重要なのは時間の定義である。これはフレーム数をフレームレートで割ることによってわかる。これは、実は画像処理ソフトで簡単に求まる値である。さて、マリオの身長は公式設定により5フィートであるということが既知の問題としてわかっている。ここで最初の方程式に当てはめて考えよう。マリオは自由落下する物体である。要するにまた同じ式を考えなければならない。このときにs0=0かつv0=0である(自由落下のため)。各値による定数を何個も求めるのでダッシュをつけていく。

前文省略して同様にa’ = 2s’ / t’^2・・・式①

ここで、最終的な重加速度g’がa’に当たり(g’=a’)、s’は落下距離となる。t’はすでにフレーム数とフレームレートにより求まっていたのであった。ここでこの論文によればt’は次のような定数を各シリーズごとにとるらしい。さらに求めなければならないのは、落下距離s’である。これをDistanceとして、求めるには次の変形式が必要である。

HeightMario[m] / HeightMario[pixels] = Distance[m] / Distance[pixels]式変形して
Distance = (HeightMario[m] / HeightMario[pixels]) x Distance[pixels]

ここでこの式が表すのは、マリオの公式設定身長をマリオのゲーム内でもピクセルを割ったものというものは、落下距離を落下距離(ピクセル表記)で割ったものとまったく等しいということである。その定義式より落下距離定数s’すなわち前式におけるDistanceが求まる。例えば、Super Mario Brosでは、5フィートは1.524mだから、s’1=(1.524 / 39) x 292 = 11.4[m]である。このように求めていくと次の表が求まる。最も重要なのは、落下定数Distance of Fall[m]とTime[s]である。この双方がわかれば式①よりg’が求まる。列挙するとこうなる。

Super Mario Bros.        15     0.5      39     292    11.4     91.28     9.31
Super Mario Bros 2      12     0.4      45     255     8.6     107.95     11
Super Mario Bros 3      15     0.5      35     265    11.5     92.31     9.42
Super Mario World       15     0.5      38     193     7.7      61.92     6.32
Super Mario 64             10    0.33    86      217    3.8      69.22     7.06
Super Mario Sunshine  23    0.77   119     988    12.7    43.05     4.4
Super Paper Mario       12    0.4     288     748      4       49.47     5.05

左から、ゲーム名・フレーム数・時間(s)・マリオの身長(pixels)・落下距離(pixels)・落下距離(m)・加速度(m/s^2)・重加速度(g)をそれぞれ列挙している。対応しているところ(計算に必要な部分)は赤色でぬりつぶした。

Super Mario Bros.においてはg’は式①よりg’ = a’ = 2s’ / t’^2だからg’ = a’ = 2 x 11.4[m] / (0.5[s]^2)であるからして、計算すると91.28(m/s^2)となっている。これを重加速度に求めなおす(9.8で割る)と、g’=9.31(g)となる。これが結論となっていて上記テーブルの最も右の欄に見て取れる。

地球上でのgは、一般的に言って 正確には9.80665[m/s^2]=1[G]だから、その10倍程度から5倍程度までの重加速度があるということになる(マリオワールドの各世界では)。月面では重加速度は地球上での6分の1だから、これはかなりの重加速度がついている惑星でのことということになる。

結論:要するにものすごい重力がマリオ世界では働いている。そこにマリオは強靭な脚力でガンガンと「飛んでいる」。だからこそのあの不安定性が生まれて、また、その浮遊感が生まれているというまったく我々の想定(独特の浮遊感から重力が低いと思いがち)とは逆のパターンが生まれているということがわかりました。これは意外だった~…。そういえば、確かにマリオワールドの世界(ファミコン版)ではかなり落下の時、加速度ついてるもんな!だからあの操作性の悪さも生まれていると解釈できるわけだ。

補足:データエラーはマリオの身長の定義にもよるということがこの論文で付記されている。あとはこの不定な定数のダッシュ(‘)のつけ方は私の独自の記法かもしれんのでそのあたりのご指摘があればコメントで積極的に受け付けることにする。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA