2D-аркадный файтинг в браузере: автоботы против десептиконов. Весь код игры — один файл index.html, без зависимостей и без сборки.
npm start # http://localhost:3000Или просто открыть index.html в браузере.
| Боец | Фракция | Альт-форма | Особенность |
|---|---|---|---|
| Оптимус Прайм | Автобот | Фура | Крепкий (110 HP), тяжёлый урон |
| Бамблби | Автобот | Спорткар | Самый быстрый, высокий прыжок |
| Мегатрон | Десептикон | Танк | Максимальный урон, 112 HP |
| Старскрим | Десептикон | Джет | Летает в альт-форме |
| Саундвейв | Десептикон | Кассетник | Стреляет вдвое чаще |
- Трансформация. Робот — удары, блок, прыжок. Транспорт — скорость ×1.7, таран и выстрел, но без блока и прыжка.
- Энергон. Копится от полученного и нанесённого урона. На 100% доступен суперудар с неуязвимостью на активных кадрах.
- Матч до 2 побед, раунд 60 секунд, три уровня сложности ИИ.
Музыка и эффекты синтезируются на лету через Web Audio — аудиофайлов в проекте нет. Тембры собраны двухоператорным FM-синтезом в духе Mega Drive: FM-бас и лид, шумовые барабаны, секвенсор на шестнадцатых с прогрессией по тактам. Отдельные треки для меню и боя.
Эффекты: удары (лёгкий и тяжёлый), звон блока, свист замаха, лазер, таран, прыжок, трансформация, суперудар, нокаут, фанфара перед раундом и джингл на итоге матча.
Звук включается после первого действия пользователя (требование браузеров). Переключатель — кнопка 🔊 в углу или клавиша M.
Клавиатура: A/D — движение, W — прыжок (у джета — тяга вверх), S — блок, J — быстрый удар (таран), K — тяжёлый удар (выстрел), ПРОБЕЛ — трансформация, L — суперудар, ENTER — подтвердить.
Планшет/телефон: экранные кнопки появляются автоматически на сенсорных устройствах. Навигация по меню — тапом. Кнопка ⛶ разворачивает на весь экран. Для проверки тач-режима на компьютере: index.html?pad=1.
Railway: Node-сервис, npm start поднимает server.js (статика без зависимостей, порт из PORT).