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
standalonevan 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.