MARIO.GAME
ru

Mario.js — World 1-1 Remake

Точная воссозданная вручную на JavaScript копия World 1-1

Mario.js — World 1-1 Remake

Об игре Mario.js — World 1-1 Remake

Mario.js — это клон первого уровня игры для NES, который разработчик Garrett Johnson написал как упражнение по созданию игровых движков. Под капотом нет никакого игрового фреймворка: главный цикл, прокрутка, обнаружение столкновений, анимация спрайтов и порядок отрисовки написаны вручную на чистом JavaScript.

Благодаря этому уровень World 1-1 отлично подходит для повторного прохождения — именно он научил целое поколение играть в платформеры без единой строчки обучающего текста. Первый Goomba учит прыгать, первый блок с ? — бить по предметам снизу, а трубы показывают, что в мире могут быть спрятаны секреты.

Заметки самого автора объясняют устройство игры: враги становятся активными чуть раньше, чем появляются на экране, коллизии немного щедрее, чем сами спрайты, а слои рисуются в строгом порядке — фон, декорации, предметы, враги, снаряды, поверхность, игрок и, наконец, трубы, чтобы Mario мог в них заходить.

Управление

КлавишаДействие
← →Ходьба
ZБег
XПрыжок
↓Войти в трубу / присесть

Особенности

  • Попиксельно точная планировка World 1-1, включая скрытую трубу и флагшток
  • Движок с частотой 60 кадров в секунду, написанный с нуля без фреймворков
  • Коллизии в стиле оригинала и активация врагов незадолго до их появления на экране
  • Грибы, огненные цветы, звёзды, монеты и разбиваемые кирпичи

Советы

  1. X — прыжок, Z — бег. Во многих компьютерных играх всё наоборот, так что пальцам нужно немного привыкнуть.
  2. Удерживайте Z, прыгая с верха финальной лестницы, чтобы схватиться за флагшток как можно выше.
  3. Попробуйте нажать ↓ на трубах — одна из них ведёт в особое место, как и в оригинале.
  4. Если клавиши не срабатывают, один раз щёлкните внутри игры: фрейму нужен фокус клавиатуры.

Частые вопросы

Это полная версия Super Mario Bros.?

Нет — это воссоздание World 1-1, сделанное как демонстрация навыков программирования. Больше уровней вы найдёте в Mario.Game Adventure и Infinite Mario Bros.

Кто сделал Mario.js?

Garrett Johnson, опубликовавший исходный код на GitHub под лицензией MIT.

Почему вокруг игры чёрная рамка?

Игра сохраняет пропорции экрана NES, поэтому canvas выравнивается по центру, а на широких экранах по бокам появляются полосы.

Другие игры