IT

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 standalone del repository JumPHP) e scaricato dal comando.
  • Solo processori x86_64 (ancora niente Mac né ARM).

I dettagli tecnici: docs/standalone.md nel tuo progetto.