NL

Je game als uitvoerbaar bestand

Om je game te geven aan iemand die niets geïnstalleerd heeft (geen PHP, geen Docker): JumPHP maakt er één bestand van dat je downloadt en start, voor Linux en voor Windows. PHP, SDL, OpenGL en OpenAL zitten erin.

Je hebt een JumPHP-project op je computer nodig (op je computer) en Docker. Je Claude kan het voor je doen: vraag hem “maak een uitvoerbaar bestand van mijn game”.

bin/jumphp export:standalone mon-jeu              # Linux: games/mon-jeu/dist/standalone/mon-jeu-linux-x86_64
bin/jumphp export:standalone mon-jeu --windows    # Windows: mon-jeu-windows-x86_64.exe
bin/jumphp export:standalone mon-jeu --linux --windows

Hoe het gemaakt is

  • PHP is dat van StaticPHP (micro): PHP 8.5 in één uitvoerbaar bestand, met de extensies van JumPHP (SDL en zijn beeld-, geluids- en lettertypemodules, OpenGL, OpenAL, gd, zip…), allemaal erin gecompileerd.
  • Je game (zijn code, afbeeldingen, geluiden, de engine) wordt achteraan toegevoegd, in de vorm van een PHAR-archief.

Dit PHP is voor alle games hetzelfde: het wordt één keer gemaakt (~15 minuten onder Linux) of gedownload van de gepubliceerde versies van JumPHP en daarna bewaard in ~/.jumphp/standalone. Daarna maak je een uitvoerbaar bestand in een paar seconden.

Bij de speler

De eerste keer starten pakt de game uit in zijn cache (een seconde), de volgende keren start hij meteen. Opgeslagen games en opties gaan naar zijn gegevensmap:

Linux Windows
de game ~/.cache/jumphp/ %LOCALAPPDATA%\JumPHP\
de opslag ~/.local/share/<id van de game>/ %APPDATA%\<id van de game>\

Onder Linux werkt het op elke distributie sinds 2013 (glibc 2.17) en gebruikt het het beeldscherm (X11 of XWayland), OpenGL en het geluid (PulseAudio, PipeWire, ALSA) van de computer, zoals elke Linux-game. Onder Windows (10 of nieuwer) hoeft er niets geïnstalleerd te worden.

Goed om te weten

  • Het bestand is niet ondertekend: Windows toont “Windows heeft uw pc beschermd”; klik op Meer informatie en dan op Toch uitvoeren. Onder Linux, na een download: chmod +x mon-jeu-linux-x86_64.
  • Het PHP voor Windows kan alleen onder Windows worden gemaakt: het wordt gemaakt door GitHub (de workflow standalone van de JumPHP-repository) en door het commando gedownload.
  • Alleen x86_64-processors (nog geen Mac of ARM).

De technische details: docs/standalone.md in je project.