UK

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.