Phaser — это фреймворк для 2D-игр, используемый для создания игр HTML5 для компьютеров и мобильных устройств. Это бесплатное программное обеспечение, разработанное Photon Storm.

Phaser использует внутренние средства визуализации Canvas и WebGL и может автоматически переключаться между ними в зависимости от поддержки браузера. Это обеспечивает быстрый рендеринг на компьютерах и мобильных устройствах. Он использует библиотеку Pixi.js для рендеринга.

Игры можно развернуть на iOS, Android и в нативных приложениях для компьютера с помощью сторонних инструментов, таких как Apache Cordova и phonegap.

История Ричард Дэйви объявил о первом релизе Phaser в своем блоге в апреле 2013 года. В сентябре была выпущена версия 1.0, включающая библиотеку Pixi.js для рендеринга.

Последней официальной версией Phaser 2 была 2.6.2, но для улучшения стабильной версии во время работы над Phaser 3 был создан новый репозиторий: Phaser CE (Community Edition). Таким образом, Phaser CE в настоящее время является рекомендуемой стабильной платформой для разработки с использованием Phaser.

Phaser 3.0.0 был выпущен 13 февраля 2018 г., и разработка до сих пор продолжается на GitHub. Большинство элементов и функций платформы были построены с нуля с использованием полностью модульной структуры и подхода, ориентированного на данные. Phaser 3 появился совершенно новый пользовательский рендерер WebGL, разработанный для современных 2D-игр. С тех пор большая часть документации и примеров для пользователей была завершена, и реализовано большинство функций.

В настоящее время в разработке находится Phaser 4, анонсированный 19 августа 2019 года, который представляет собой попытку переписать Phaser 3 на TypeScript. Это не переписывание API, а вместо этого он будет сосредоточен на переносе скриптов, находящихся в настоящее время в Phaser 3, на TypeScript. Phaser 4 находится в стадии активной разработки и приближается к завершению. Пятая бета-версия была выпущена в январе 2025 года.

Архитектура и особенности Phaser может работать в любом веб-браузере, поддерживающем элемент canvas . Игры, созданные с помощью Phaser, разрабатываются либо на JavaScript, либо на TypeScript. Веб-сервер необходим для загрузки таких ресурсов, как изображения, аудио и другие игровые файлы, поскольку браузеры требуют, чтобы веб-страницы имели доступ к файлам только из одного источника.

Рендеринг Phaser может рендериться либо в WebGL, либо в элементе Canvas с возможностью использования WebGL, если браузер поддерживает его. Если устройство его не поддерживает, он вернется к использованию Canvas.

Физика В Phaser доступны три физические системы: Arcade Physics, Ninja Physics и P2.JS.

Arcade Physics предназначена только для высокоскоростных столкновений AABB. Ninja Physics позволяет использовать сложные плитки и склоны, которые подходят для ландшафта уровня, и P2. JS — это система физики всего тела, которая среди прочего поддерживает препятствия, пружины и полигоны.

Начиная с Phaser версии 3.6, имеется 2 основных физических движка, а именно Arcade и Matter. Также имеется менее известных движок схожий с Arcade- Impact.

Arcade можно считать наиболее используемым, поскольку он самый простой и быстрый. Он использует выровненные по оси прямоугольники и круги для определения столкновений, помимо всех остальных функций движка, таких как гравитация, акселерация и сопротивление. Однако он также обладает ограничениями. Например будет затруднительно выполнить сложные хитбоксы, исходя из допустимых фигур. Также объекты находящиеся в непосредственной близости друг от друга могут вызвать проблемы со стабильностью.

В свою очередь Matter является наиболее продвинутым, что и делает его сложнее исходя из объема дополнительных функций. Он способен передавать полноценную и реалистичную физику тела. Он также поддерживает множество функций: твердые и составные тела, упругие столкновения, а также физические свойства, такие как масса и плотность.

Impact схож с Arcade однако имеет ряд преимуществ. Например он поддерживает наклоны на tilemaps, что невозможно в условиях прямоугольной физики Arcade. Однако для этого вам придется использовать редактор "Weltmeister" от создателя движка Impact.

Анимация Phaser поддерживает использование спрайт-листов и атласов текстур, содержащих множество кадров или анимаций персонажей. Разработчики могут использовать последовательности кадров для создания анимаций. Возможности анимационной системы Phaser позволяют легко создавать анимации для спрайтов с управлением зацикливанием, скоростью и частотой кадров. Это подходит как для простых движений персонажей, так и для сложных анимаций визуальных эффектов. Кроме того, Phaser включает встроенный движок твинов (tweening), который позволяет создавать плавные анимации переходов. Он особенно полезен для эффектов вроде появления, масштабирования, вращения, а также может применяться для создания других сложных визуальных эффектов.

Аудио Phaser предоставляет разработчикам инструменты для управления и воспроизведения веб-аудио и HTML5-аудио, предлагая широкий набор параметров управления звуком, включая громкость, отключение звука, зацикливание, постепенное появление и затухание, а также позиционирование звука. Все эти параметры могут настраиваться при необходимости. Кроме того, Phaser поддерживает предварительную загрузку аудиофайлов, что обеспечивает мгновенное воспроизведение без задержек и повышает качество игрового опыта.

Смотрите также Разработка видеоигр Игровой движок

Источники

Внешние ссылки

Repository at GitHub Discussions at Discord Discussions at the HTML5 Game Devs Forum

Категория:Игровые движки Категория:Свободные программы трёхмерного моделирования