JumPHP, die PHP-Game-Engine für Retro-2D-Spiele
Schreib dein Spiel ein einziges Mal in PHP: Es läuft in einem Fenster unter Windows, macOS und Linux und im Browser, auf dem Computer wie auf dem Smartphone. Kostenlos und Open Source (MIT-Lizenz).
Was ist JumPHP?
JumPHP ist ein Framework, um Retro-2D-Spiele in PHP zu schreiben. Auf dem Desktop läuft das Spiel mit PHP 8.5 und den Erweiterungen SDL2, OpenGL und OpenAL: ein echtes Fenster, Sound, Gamepad. Im Browser sind es dasselbe PHP 8.5 und dieselben Erweiterungen, nach WebAssembly kompiliert: Aus OpenGL wird WebGL, aus OpenAL wird Web Audio, und das Spiel ist eine einfache statische Webseite.
Alles (PHP, Composer, Emscripten, Webserver, Tests) läuft in Docker, hinter einem einzigen Befehl: bin/jumphp.
Was die Engine mitbringt
- Szenen, Entitäten, animierte Sprites, Kamera und fertige Menüs.
- Tilemaps (Tiled-Editor oder Textzeilen), Kollisionen mit Schrägen und durchlässigen Plattformen.
- Tastatur, Gamepad, Maus und Touch-Steuerung, beschrieben in einer Aktionsdatei.
- Generierte oder geladene Sounds (wav, ogg, mp3), Musik und positionsbezogener Sound.
- 3D und Post-Processing mit OpenGL / WebGL, unter oder über der 2D-Ebene.
- Online-Multiplayer über einen Relay-Server, HTTP-Anfragen, Spielstände, Übersetzungen.
- Rechenintensive Aufgaben in Threads oder Web Workers, ohne je den Frame zu blockieren.
- Tests, die das Spiel wirklich spielen, und Screenshots ohne Bildschirm.
Was du damit machen kannst
Jump'n'Runs, Arcade-, Shooter- oder Rennspiele, Remakes von 8-Bit-Spielen auf Basis ihrer Amstrad-CPC-Diskette, aber auch Desktop-Anwendungen (HTML-Seiten und PHP, mit Tauri), grafische Anwendungen ohne HTML und Kommandozeilenprogramme.
Ein fertiges Spiel wird zur Webseite, zu einer einzelnen ausführbaren Datei für Linux und Windows, zu einem Installer, einer Android- oder Apple-App – oder es wird auf diesem Playground veröffentlicht.
Loslegen
composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout
Das neue Spiel ist ein kleines, aber vollständiges Jump'n'Run (Menü, Level, Spielfigur, Münzen), das du zu deinem eigenen umbaust; bin/jumphp build macht daraus eine Webseite. Danach genügt Docker: PHP, Composer und Emscripten laufen in seinen Containern.
Oder beschreib dein Spiel im Studio: Dein Claude schreibt es mit JumPHP und veröffentlicht es hier. Spiel erstellen →
Weiterführendes
- Dokumentation und Tutorials
- JumPHP IDE – die kostenlose IDE für deine PHP-Spiele und -Apps
- Engine-Erweiterungen
- Mit JumPHP gemachte Spiele
- Quellcode · Packagist
Häufige Fragen
Ist JumPHP kostenlos?
Ja. JumPHP ist Open Source unter MIT-Lizenz, und der Playground jumphp.net ist kostenlos – zum Spielen wie zum Veröffentlichen.
Muss ich PHP installieren, um ein Spiel zu entwickeln?
Nein. Alles läuft in Docker hinter dem Befehl bin/jumphp: PHP 8.5, Composer, Emscripten und die Tests. Spieler brauchen nur einen Browser oder die ausführbare Datei des Spiels.
Funktioniert derselbe Code auf dem Desktop und im Browser?
Ja: Der Browser führt dasselbe PHP 8.5 mit denselben Erweiterungen aus, nach WebAssembly kompiliert. Ein paar Regeln genügen: niemals den Frame blockieren und für Netzwerk und Dateien über die Engine gehen.
Kann ich Composer-Pakete verwenden?
Ja, sofern sie in reinem PHP geschrieben sind: Im Browser gibt es keine zusätzlichen PHP-Erweiterungen.