DE

Ein Spiel mit JumPHP erstellen

JumPHP ist ein Framework, mit dem du 2D-Retro-Spiele in PHP schreibst. Derselbe Code läuft auf dem Desktop (PHP + SDL2, in einem echten Fenster) und im Browser (PHP, kompiliert zu WebAssembly): So funktionieren alle Spiele auf dieser Website. Es gibt mehrere Wege, einzusteigen, vom schnellsten bis zum umfassendsten.

Weg Konto Was du brauchst Für wen
Sandbox nein einen Browser in 1 Minute ausprobieren: ein Hello World ändern und starten
Mit deinem Claude GitHub Claude Code + Docker dein Spiel beschreiben und es schreiben, testen und veröffentlichen lassen
Online-Editor GitHub einen Browser ein veröffentlichtes Spiel anpassen oder das Spiel eines anderen forken
Auf deinem Computer nein (GitHub zum Veröffentlichen) Docker wie ein Profi entwickeln: Tests, Screenshots, Browser-Build. In einer Zeile: curl -fsSL https://jumphp.net/install.sh | sh
Ein Repository importieren GitHub ein JumPHP-Repository ein bereits vorhandenes Spiel hier veröffentlichen
Amstrad-CPC-Remake GitHub die .dsk-Diskette des Spiels ein CPC-Spiel mit seiner Originalgrafik und -musik neu bauen
Portierung eines bestehenden Spiels GitHub sein Quellcode ein altes Spiel (C, Pascal, BASIC …) nach PHP übersetzen

Danach bauen die Tutorials Schritt für Schritt ein Spiel auf:

  1. Hello World: ein Menü, ein Text, ein Sound
  2. Eine Spielfigur, die sich bewegt und animiert wird
  3. Ein Jump 'n' Run: Level, Kollisionen, Kamera
  4. Sound und Musik
  5. Menüs, Optionen, Pause und Sprachen
  6. Punktestände und Optionen speichern
  7. Online-Multiplayer
  8. Die Startseite des Spiels und ihre Veröffentlichung

Ist das Spiel fertig: bring es auf Google Play (eine Android-App, erstellt mit bin/jumphp twa).

Und für Programme, die das Verzeichnis auslesen wollen: die öffentliche API.

So funktioniert ein JumPHP-Spiel

Ein Spiel ist ein Ordner games/<id>/ in einem JumPHP-Projekt:

games/mon-jeu/
  config/game.yaml      der Titel, die Auflösung (320 × 180 …), die erste Szene
  config/input.yaml     die Aktionen (springen, schießen …) und ihre Tasten, Gamepad, Touchscreen
  src/Scene/*.php       die Bildschirme: Titel, Spiel, Pause …
  src/Entity/*.php      alles, was sich bewegt: der Held, die Gegner …
  assets/               Bilder, Sounds, Musik, Level (optional: alles lässt sich auch in PHP zeichnen)
  site/                 (optional) die Startseite des Spiels

In jedem Frame (60-mal pro Sekunde) ruft die Engine update($dt) der angezeigten Szene auf (hier änderst du den Zustand des Spiels) und danach render($r) (hier zeichnest du). Die Koordinaten sind „virtuelle“ Pixel (die Auflösung des Spiels): Die Engine skaliert das Bild auf die Größe des Bildschirms.

Der vollständige Vertrag des Frameworks, für Menschen wie für KIs, ist die Datei AGENTS.md im JumPHP-Repository.