Каркас для аркадной игры

Я хотел бы написать аркадную игру («клон» игры River Raid ) на JavaScript, используя <canvas>элемент HTML. И я ищу игровой фреймворк HTML5 для этой цели.

Я нуждаюсь:

  • экран загрузчика
  • работа с клавиатурой (клавиши со стрелками и пробел)
  • анимированные спрайты
  • обнаружение столкновений

Мне не нужен WebGL (правильно я хотел бы выбирать между рендерингом WebGL и рендерером Canvas).

Также было бы хорошо, если бы я мог написать бота для этой игры (он мне нужен для проекта).

Я слышал о Create.js, но не знаю, подходит ли он для моей игры. У меня есть некоторый опыт работы с PIXI.js (без каких-либо других библиотек), и я пытался написать с его помощью игру, но через несколько недель застрял.

Ответы (1)

melonJS — это новый и легкий игровой движок HTML5, который в настоящее время имеет следующие функции:

  • Свежий и легкий 2D-движок на основе спрайтов
  • Автономная библиотека (не зависит ни от чего другого, кроме браузера с поддержкой HTML5)
  • Совместимость с большинством основных браузеров (Chrome, Safari, Firefox, Opera, IE) и мобильными устройствами.
  • Поддержка движения устройства и акселерометра
  • Высокий DPI и автоматическое масштабирование
  • Поддержка многоканального аудио HTML5 и веб-аудио на поддерживаемых устройствах
  • Облегченная реализация физики для обеспечения низких требований к процессору
  • Алгоритм столкновений на основе многоугольника (SAT) для точного обнаружения и реагирования
  • Быстрое широкофазное обнаружение столкновений с использованием пространственного разделения
  • Поддержка сторонних инструментов для определения физического тела (PhysicEditor, редактор физического тела)
  • Расширенный математический API для векторов и матриц
  • Эффекты анимации
  • Эффекты перехода
  • Базовый набор Object Entities (будет расширен)
  • Объединение объектов
  • Базовая система частиц
  • Базовое управление анимацией
  • Поддержка стандартных таблиц спрайтов и упакованных текстур (Texture Packer, ShoeBox)
  • Менеджер состояний (чтобы легко управлять загрузкой, меню, параметрами, игровым состоянием)
  • Интеграция с мозаичным форматом карты версии +0.9.x для упрощения дизайна уровней
  • Несжатая загрузка тайловой карты XML в кодировке Plain, Base64, CSV и JSON
  • Поддержка ортогональных, изометрических и перспективных тайловых карт
  • Несколько слоев (несколько слоев фона/переднего плана, столкновение и слои изображения)
  • Поддержка нескольких наборов тайлов
  • Настройки прозрачности тайлов
  • Настройки Layers Alpha — поддержка объектов Rectangle, Ellipse, Polygon и Polyline.
  • Мозаичные объекты
  • Перевернутые и повернутые плитки
  • Динамический порядок слоев и объектов/групп
  • Динамическая загрузка объекта
  • Поддержка столкновений плиток на основе формы
  • Системные и растровые шрифты
  • Поддержка мыши и сенсорных устройств (с эмуляцией мыши)
  • Встроенная поддержка CocoonJS.
  • Поддержка асинхронного обмена сообщениями (minPubSub)
  • Основные элементы графического интерфейса включены
  • Настраиваемый загрузчик