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.