MARIO.GAME
ja

Mario.js — World 1-1 Remake

World 1-1を忠実に再現した、手作りのJavaScript版

Mario.js — World 1-1 Remake

Mario.js — World 1-1 Remakeについて

Mario.jsは、開発者のGarrett Johnsonがエンジン制作の練習として書いた、NES版第1ステージのクローンです。土台にゲームフレームワークはありません。メインループ、スクロール、衝突判定、スプライトアニメーション、描画順序まで、すべてプレーンなJavaScriptで手書きされています。

だからこそ、World 1-1をもう一度遊ぶのにぴったりです。このステージは、チュートリアルの文章が一行もないまま、ひとつの世代にプラットフォームゲームの遊び方を教えました。最初のGoombaはジャンプを教え、最初の?ブロックは下から叩くことを教え、土管は世界に秘密が隠れていることを教えてくれます。

作者自身のメモには設計が説明されています。敵は画面に現れる少し前から動き出し、当たり判定はスプライトより少し広めで、レイヤーは背景、小道具、アイテム、敵、飛び道具、地形、プレイヤー、最後に土管の順に固定で描画されるので、Marioが土管の中へ入っていけるのです。

操作方法

入力アクション
← →歩く
Zダッシュ
Xジャンプ
↓土管に入る/しゃがむ

特徴

  • 隠し土管やゴールポールまで、World 1-1のレイアウトをピクセル単位で忠実に再現
  • フレームワークを使わずゼロから書き上げた60fpsのエンジン
  • オリジナルに近い当たり判定と、画面内にスクロールして入る直前に敵が動き出す仕組み
  • スーパーキノコ、ファイアフラワー、スター、コイン、壊せるブロック

ヒント

  1. Xでジャンプ、Zでダッシュです。多くのPCゲームとは逆なので、指が慣れるまで少し時間をかけてください。
  2. 最後の階段の上からZを押したままジャンプすると、ゴールポールのいちばん高い位置をつかめます。
  3. 土管の上で↓を押してみてください。オリジナルと同じく、どれか1本は特別な場所につながっています。
  4. キー操作に反応しないときは、ゲーム画面内を一度クリックしてください。フレームにキーボードフォーカスが必要です。

よくある質問

これは完全版のSuper Mario Bros.ですか?

いいえ。プログラミングの作品例として World 1-1 を再現したものです。ほかのステージを遊びたい場合は、Mario.Game AdventureやInfinite Mario Brosをお試しください。

Mario.jsを作ったのは誰ですか?

Garrett Johnsonです。ソースコードはMITライセンスでGitHubに公開されています。

なぜ黒い枠があるのですか?

ゲームはNESの画面比率を保っているため、ワイド画面ではcanvasが中央に配置され、両側に黒い帯が表示されます。

ほかにも遊べるゲーム