JumPHP, il motore di gioco PHP per giochi retrò 2D
Scrivi il tuo gioco in PHP una volta sola: gira in una finestra su Windows, macOS e Linux, e nel browser, su computer come su smartphone. Gratuito e open source (licenza MIT).
Che cos'è JumPHP?
JumPHP è un framework per scrivere giochi retrò 2D in PHP. Sul desktop il gioco gira con PHP 8.5 e le estensioni SDL2, OpenGL e OpenAL: una vera finestra, l'audio, il gamepad. Nel browser sono lo stesso PHP 8.5 e le stesse estensioni compilati in WebAssembly: OpenGL diventa WebGL, OpenAL diventa Web Audio, e il gioco è una semplice pagina web statica.
Tutto (PHP, Composer, Emscripten, server web, test) gira in Docker, dietro un unico comando: bin/jumphp.
Cosa offre il motore
- Scene, entità, sprite animati, telecamera e menu pronti all'uso.
- Mappe a tile (editor Tiled o righe di testo), collisioni con pendenze e piattaforme attraversabili.
- Tastiera, gamepad, mouse e controlli touch, descritti in un file di azioni.
- Suoni generati o caricati (wav, ogg, mp3), musica e audio posizionale.
- 3D e post-processing con OpenGL / WebGL, sotto o sopra il 2D.
- Multiplayer online tramite un server relay, richieste HTTP, salvataggi, traduzioni.
- Calcoli pesanti in thread o Web Worker, senza mai bloccare il frame.
- Test che giocano davvero al gioco, e screenshot senza schermo.
Cosa puoi farci
Platform, giochi arcade, sparatutto o di corse, remake di giochi a 8 bit a partire dal loro dischetto Amstrad CPC, ma anche applicazioni desktop (pagine HTML e PHP, con Tauri), applicazioni grafiche senza HTML e programmi a riga di comando.
Un gioco finito diventa una pagina web, un unico eseguibile per Linux e Windows, un installer, un'app Android o Apple, oppure viene pubblicato su questo playground.
Inizia
composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout
Il nuovo gioco è un piccolo platform completo (menu, livello, giocatore, monete) da trasformare nel tuo; bin/jumphp build lo trasforma in una pagina web. Da lì in poi basta Docker: PHP, Composer ed Emscripten girano nei suoi container.
Oppure descrivi il tuo gioco nello studio: il tuo Claude lo scrive con JumPHP e lo pubblica qui. Crea un gioco →
Per approfondire
- Documentazione e tutorial
- JumPHP IDE – l'IDE gratuito per i tuoi giochi e le tue app PHP
- Estensioni del motore
- I giochi creati con JumPHP
- Codice sorgente · Packagist
Domande frequenti
JumPHP è gratuito?
Sì. JumPHP è open source, con licenza MIT, e il playground jumphp.net è gratuito, sia per giocare sia per pubblicare.
Bisogna installare PHP per creare un gioco?
No. Tutto gira in Docker dietro il comando bin/jumphp: PHP 8.5, Composer, Emscripten e i test. Ai giocatori basta un browser, oppure l'eseguibile del gioco.
Lo stesso codice funziona sul desktop e nel browser?
Sì: il browser esegue lo stesso PHP 8.5 e le stesse estensioni, compilati in WebAssembly. Bastano poche regole: non bloccare mai il frame e passare dal motore per la rete e i file.
Si possono usare pacchetti Composer?
Sì, purché siano scritti in PHP puro: nel browser non esiste alcuna estensione PHP aggiuntiva.