JumPHP, silnik gier PHP do gier 2D w stylu retro
Napisz grę w PHP raz: działa w oknie na Windowsie, macOS i Linuksie oraz w przeglądarce, na komputerach i telefonach. Darmowy i open source (licencja MIT).
Czym jest JumPHP?
JumPHP to framework do pisania retro gier 2D w PHP. Na komputerze gra działa na PHP 8.5 z rozszerzeniami SDL2, OpenGL i OpenAL: prawdziwe okno, dźwięk, gamepady. W przeglądarce to samo PHP 8.5 i te same rozszerzenia są skompilowane do WebAssembly: OpenGL staje się WebGL, OpenAL staje się Web Audio, a gra jest zwykłą statyczną stroną internetową.
Wszystko (PHP, Composer, Emscripten, serwer WWW, testy) działa w Dockerze, za jednym poleceniem: bin/jumphp.
Co daje silnik
- Sceny, encje, animowane sprite'y, kamera i gotowe menu.
- Mapy kafelkowe (edytor Tiled lub wiersze tekstu), kolizje ze zboczami i platformami jednokierunkowymi.
- Sterowanie klawiaturą, gamepadem, myszą i dotykiem, opisane w pliku akcji.
- Dźwięki generowane lub wczytywane (wav, ogg, mp3), muzyka i dźwięk przestrzenny.
- 3D i postprocessing z OpenGL / WebGL, pod lub nad grafiką 2D.
- Gra wieloosobowa online przez serwer pośredniczący, żądania HTTP, zapisy, tłumaczenia.
- Ciężkie obliczenia w wątkach lub Web Workerach, bez blokowania klatki.
- Testy, które naprawdę grają w grę, i zrzuty ekranu bez ekranu.
Co można w nim zrobić
Platformówki, gry zręcznościowe, strzelanki czy wyścigi, remaki gier 8-bitowych z oryginalnej dyskietki Amstrada CPC, a także aplikacje desktopowe (strony HTML i PHP, z Tauri), aplikacje graficzne bez HTML i programy wiersza poleceń.
Gotowa gra staje się stroną internetową, pojedynczym plikiem wykonywalnym dla Linuksa i Windowsa, instalatorem, aplikacją na Androida lub urządzenia Apple albo zostaje opublikowana na tym playgroundzie.
Zacznij
composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout
Nowa gra to mała, ale kompletna platformówka (menu, poziom, gracz, monety), którą zamienisz we własną; bin/jumphp build robi z niej stronę internetową. Od tej chwili wystarczy Docker: PHP, Composer i Emscripten działają w jego kontenerach.
Albo opisz swoją grę w studiu: twój Claude napisze ją z JumPHP i opublikuje tutaj. Utwórz grę →
Więcej
- Dokumentacja i samouczki
- JumPHP IDE – darmowe IDE do twoich gier i aplikacji w PHP
- Rozszerzenia silnika
- Gry stworzone w JumPHP
- Kod źródłowy · Packagist
Najczęściej zadawane pytania
Czy JumPHP jest darmowy?
Tak. JumPHP ma otwarty kod na licencji MIT, a playground jumphp.net jest darmowy – zarówno do grania, jak i do publikowania.
Czy trzeba instalować PHP, żeby zrobić grę?
Nie. Wszystko działa w Dockerze za poleceniem bin/jumphp: PHP 8.5, Composer, Emscripten i testy. Graczom wystarczy przeglądarka albo plik wykonywalny gry.
Czy ten sam kod działa na komputerze i w przeglądarce?
Tak: przeglądarka uruchamia to samo PHP 8.5 i te same rozszerzenia, skompilowane do WebAssembly. Wystarczy kilka zasad: nigdy nie blokować klatki i korzystać z silnika do obsługi sieci i plików.
Czy można używać pakietów Composera?
Tak, o ile są napisane w czystym PHP: w przeglądarce nie ma żadnych dodatkowych rozszerzeń PHP.