Il tuo gioco in un eseguibile
Per dare il tuo gioco a qualcuno che non ha nulla di installato (né PHP, né Docker): JumPHP ne fa un solo file da scaricare e avviare, per Linux e per Windows. PHP, SDL, OpenGL e OpenAL sono dentro.
Serve un progetto JumPHP sul tuo computer (sul tuo computer) e Docker. Il tuo Claude può farlo al posto tuo: chiedigli «fai un eseguibile del mio gioco».
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
Com'è fatto
- PHP è quello di StaticPHP (micro): PHP 8.5 in un eseguibile, con le estensioni di JumPHP (SDL e i suoi moduli immagine, suono e font, OpenGL, OpenAL, gd, zip…), tutte compilate al suo interno.
- Il tuo gioco (il suo codice, le sue immagini, i suoi suoni, il motore) viene aggiunto in fondo, sotto forma di archivio PHAR.
Questo PHP è lo stesso per tutti i giochi: viene fabbricato una volta (~15 minuti su Linux) o scaricato dalle
versioni pubblicate di JumPHP, poi conservato in ~/.jumphp/standalone. Dopodiché, un eseguibile si crea in
pochi secondi.
Dal giocatore
Il primo avvio estrae il gioco nella sua cache (un secondo), i successivi partono subito. I salvataggi e le opzioni vanno nella sua cartella dei dati:
| Linux | Windows | |
|---|---|---|
| il gioco | ~/.cache/jumphp/ |
%LOCALAPPDATA%\JumPHP\ |
| i salvataggi | ~/.local/share/<id del gioco>/ |
%APPDATA%\<id del gioco>\ |
Su Linux, funziona su qualsiasi distribuzione dal 2013 (glibc 2.17) e usa il display (X11 o XWayland), OpenGL e l'audio (PulseAudio, PipeWire, ALSA) del computer, come ogni gioco Linux. Su Windows (10 o successivo), niente da installare.
Da sapere
- Il file non è firmato: Windows mostra «Windows ha protetto il PC», bisogna cliccare su
Ulteriori informazioni poi Esegui comunque. Su Linux, dopo un download:
chmod +x mon-jeu-linux-x86_64. - Il PHP per Windows si può costruire solo su Windows: viene costruito da GitHub (il workflow
standalonedel repository JumPHP) e scaricato dal comando. - Solo processori x86_64 (ancora niente Mac né ARM).
I dettagli tecnici: docs/standalone.md nel tuo progetto.