MARIO.GAME
ja
Infinite Mario

Infinite Mario Bros ガイド:ランダムレベルのしくみ

ブラウザで Infinite Mario Bros を遊ぶ方法、プロシージャルなレベル生成のしくみ、難しいランダムレベルを生き延びるコツを紹介します。

読了時間:約5分

Infinite Mario Bros ガイド:ランダムレベルのしくみ

Infinite Mario Brosは、これまでに作られたファンゲームの中でも特に影響力の大きい作品のひとつです。2008年に Markus “Notch” Persson が Java で開発し、Robert Kleffner が HTML5 に移植しました。レベルは入るたびに生成されるので、遊べるレベルが尽きることはありません。

はじめかた

タイトル画面で S を押します。道やレベルの点、城が並ぶワールドマップが表示されます。矢印キーで移動し、S を押すとレベルに入れます。レベル内では S でジャンプ、A でダッシュ(フラワーを持っているときはファイアボールも発射)します。

ジェネレーターがレベルを作るしくみ

ジェネレーターは左から右へ向かって進み、一連のゾーンを選んで、それぞれにさまざまな要素を配置していきます。

  • 平地:? ブロック、コイン、敵が置かれた区間
  • 丘:上に乗れる高い足場。重なっていることもあります
  • 土管:パックンフラワーが入っているものもあります
  • ジャンプ:幅の異なる穴。両側に階段があることもあります
  • 大砲:短い柱の上に置かれたキラー発射台

マップを進むにつれて難易度の値が上がっていきます。難易度が高いほど、穴は広くなり、敵も増え、羽つきや装甲つきの敵も多く出ます。レベルの種類(地上、地下、城)によって、タイルと音楽が変わります。

なぜ重要だったのか

コードが公開されていて、レベルも無限だったため、研究者たちは Infinite Mario をテスト環境として採用しました。2009年からは Mario AI Competition が開催され、プログラマーはレベルをプレイできるエージェントの開発に挑みました。のちには、レベルを設計するプログラムを競う部門も設けられました。Robin Baumgarten による有名な A* エージェントは、生成されたステージを完璧に駆け抜け、動画が話題になりました。プロシージャルコンテンツ生成に関する多くの論文が、今でも Infinite Mario のフレームワークを引用しています。

生き残るコツ

  1. 前方の地面が安全なときは常にダッシュしましょう。難易度が上がると穴は広くなります。
  2. キラーの大砲に注意しましょう。弾は一定の間隔で発射されるので、1発が通り過ぎるのを待ちます。
  3. 羽つきの敵は弧を描いて跳ねます。1回踏むと羽が取れます。
  4. マップを活用しましょう。ステージが難しすぎるなら、別のルートがあることも多いです。
  5. 城ではじっくり進みましょう。細い足場と敵の集団が組み合わさっています。

その他のガイド