Sonic PHP

Sonic для Master System (1991), переписанный на PHP и доступный бесплатно в браузере: шесть зон, боссы, бонусные уровни и гонки с ботами.

Компьютер, телефон или геймпад · ничего не нужно устанавливать · без регистрации

Sonic свернулся в клубок рядом с кольцами Green Hill, на пути краб

Весь 8-битный Sonic

Бегайте, прыгайте, собирайте кольца, разбивайте бонусные мониторы и добирайтесь до указателя в конце каждого акта. Шесть зон по три акта, босс в конце каждой зоны, бонусные уровни, полные колец и пружин, и финал игры.

Игра запоминает ваше лучшее время и «призрака» лучшего заезда, который можно побить в следующий раз. В настройках: ЭЛТ-фильтр экрана, скорость PAL или NTSC, французский или английский язык и проигрыватель музыки.

Карта острова перед Green Hill с жизнями Sonic
Карта острова между двумя зонами.

Шесть зон

У каждой зоны свои декорации, ловушки и босс. Скриншоты игры в том виде, как она работает в браузере.

Green Hill: холмы в клетку, пальмы и кольца
Green Hill · акт 1
Bridge: скалы и бревенчатый мост над водой
Bridge · акт 1
Jungle: водопад посреди леса и платформы
Jungle · акт 1
Labyrinth: резные зелёные блоки под водой
Labyrinth · акт 1
Scrap Brain: завод на фоне города на закате
Scrap Brain · акт 1
Sky Base: синие балки в ночи
Sky Base · акт 1
Доктор в летающей машине над Sonic в конце Green Hill
Первый босс · Green Hill, акт 3
Бонусный уровень: звёзды, кольца и пружины
Бонусный уровень · кольца и пружины
Гонка вчетвером по Green Hill, таблица результатов справа вверху
Гонка вчетвером против трёх ботов.

Против ботов

В режиме MULTIPLAYER сразитесь с 1–4 гонщиками под управлением компьютера (до 5 в режиме флага) в зонах игры по четырём правилам:

Гонка: первым добраться до указателя. Флаг: удерживать его дольше всех. Кольца: собрать больше всех. Дэтматч: остаться последним.

Хотите сразиться с настоящими игроками? Это есть в полной версии.

Полная версия: sonic.mimichat.fr

Эта игра создана на основе Sonic PHP, оригинальная полная версия которого доступна на sonic.mimichat.fr. В ней есть всё, что вы видите здесь, и ещё:

  • сетевая игра до 6 игроков: гонка, флаг, кольца или дэтматч;
  • публичные комнаты и приватные с кодом из 4 букв; свободные места занимают боты;
  • чат в комнатах и во время игры;
  • повторы каждой партии;
  • версия для компьютера (нативный PHP), которая заходит в те же комнаты, что и браузеры.
Играть онлайн ↗

Управление

Клавиатура

← → бежать
↑ смотреть вверх, ↓ свернуться в клубок
Пробел прыжок
Enter меню и пауза
Esc возврат к заставке

Геймпад

Крестовина или стик — бежать, A, B, X или Y — прыжок, Start — меню и пауза, Select — возврат к заставке.

Телефон

Слева крестовина для бега; справа JUMP для прыжка и ROLL для клубка, START — пауза, MENU — возврат к заставке. Держите телефон горизонтально.

▶ Играть сейчас

Как это сделано

Sonic PHP целиком написан на PHP: физика, объекты, враги, боссы, камера и боты. Уровни, графика и циклы цветов декодированы из оригинального картриджа, а музыка получена запуском звуковой программы Z80 из игры в эмуляторе.

Здесь игра перенесена на движок JumPHP: один и тот же код работает в окне на компьютере и в браузере, где PHP скомпилирован в WebAssembly. Логика игры оригинальная; через JumPHP проходят только изображение, звук, управление и сохранения.

Код: sonic-jumphp (эта версия) и sonicGamePhp (полная версия).

Экран-заставка с логотипом и меню START, MULTIPLAYER, OPTIONS, BEST TIMES
Экран-заставка и её меню.

Вопросы

Нужно ли что-то устанавливать?

Нет: игра работает в браузере, на компьютере и на телефоне. При первой загрузке скачивается около 25 МБ (PHP в WebAssembly, уровни, графика и музыка), потом всё хранится в кэше.

Чем отличается от полной версии?

Полная версия добавляет сетевую игру до 6 игроков, комнаты, чат и повторы. Эта — та же игра, перенесённая на JumPHP, для игры в одиночку или против ботов.

Сохраняется ли моё время?

Да: лучшее время, «призраки» и настройки остаются в вашем браузере.

Можно ли играть вне браузера?

Да, с JumPHP и Docker: bin/jumphp run sonic открывает игру в окне со звуком. См. репозиторий на GitHub.