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 IDE – бесплатная IDE для ваших игр и приложений на PHP
- Расширения движка
- Игры, сделанные на JumPHP
- Исходный код · Packagist
Частые вопросы
JumPHP бесплатен?
Да. JumPHP — open source под лицензией MIT, а playground jumphp.net бесплатен: и чтобы играть, и чтобы публиковать.
Нужно ли устанавливать PHP, чтобы сделать игру?
Нет. Всё работает в Docker за командой bin/jumphp: PHP 8.5, Composer, Emscripten и тесты. Игрокам нужен только браузер или исполняемый файл игры.
Работает ли один и тот же код на компьютере и в браузере?
Да: браузер выполняет тот же PHP 8.5 и те же расширения, скомпилированные в WebAssembly. Достаточно нескольких правил: никогда не блокировать кадр и обращаться к сети и файлам через движок.
Можно ли использовать пакеты Composer?
Да, если они написаны на чистом PHP: в браузере нет дополнительных расширений PHP.