RU

JumPHP — игровой движок на PHP для ретро-2D-игр

Напишите игру на PHP один раз: она запускается в окне на Windows, macOS и Linux, а также в браузере — и на компьютерах, и на телефонах. Бесплатно и с открытым исходным кодом (лицензия MIT).

Что такое JumPHP?

JumPHP — фреймворк для создания ретро-2D-игр на PHP. На компьютере игра работает на PHP 8.5 с расширениями SDL2, OpenGL и OpenAL: настоящее окно, звук, геймпады. В браузере те же PHP 8.5 и расширения скомпилированы в WebAssembly: OpenGL становится WebGL, OpenAL — Web Audio, а игра — обычной статической веб-страницей.

Всё (PHP, Composer, Emscripten, веб-сервер, тесты) работает в Docker за одной командой: bin/jumphp.

Что даёт движок

  • Сцены, сущности, анимированные спрайты, камера и готовые меню.
  • Тайловые карты (редактор Tiled или строки текста), столкновения со склонами и односторонними платформами.
  • Управление с клавиатуры, геймпада, мыши и сенсорного экрана, описанное в файле действий.
  • Сгенерированные или загруженные звуки (wav, ogg, mp3), музыка и позиционный звук.
  • 3D и постобработка с OpenGL / WebGL, под 2D или поверх него.
  • Онлайн-мультиплеер через relay-сервер, HTTP-запросы, сохранения, переводы.
  • Тяжёлые вычисления в потоках или Web Workers, никогда не блокируя кадр.
  • Тесты, которые по-настоящему играют в игру, и скриншоты без экрана.

Что на нём можно сделать

Платформеры, аркады, шутеры и гонки, ремейки 8-битных игр с оригинального диска Amstrad CPC, а также настольные приложения (HTML-страницы и PHP, с Tauri), графические приложения без HTML и программы для командной строки.

Готовая игра становится веб-страницей, единым исполняемым файлом для Linux и Windows, установщиком, приложением для Android или Apple — или публикуется на этом playground.

Начать

composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout

Новая игра — маленький, но полноценный платформер (меню, уровень, игрок, монеты), который можно превратить в свой; bin/jumphp build делает из него веб-страницу. Дальше достаточно Docker: PHP, Composer и Emscripten работают в его контейнерах.

Или опишите свою игру в студии: ваш Claude напишет её на JumPHP и опубликует здесь. Создать игру →

Подробнее

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

JumPHP бесплатен?

Да. JumPHP — open source под лицензией MIT, а playground jumphp.net бесплатен: и чтобы играть, и чтобы публиковать.

Нужно ли устанавливать PHP, чтобы сделать игру?

Нет. Всё работает в Docker за командой bin/jumphp: PHP 8.5, Composer, Emscripten и тесты. Игрокам нужен только браузер или исполняемый файл игры.

Работает ли один и тот же код на компьютере и в браузере?

Да: браузер выполняет тот же PHP 8.5 и те же расширения, скомпилированные в WebAssembly. Достаточно нескольких правил: никогда не блокировать кадр и обращаться к сети и файлам через движок.

Можно ли использовать пакеты Composer?

Да, если они написаны на чистом PHP: в браузере нет дополнительных расширений PHP.