Tu juego en un ejecutable
Para dar tu juego a alguien que no tiene nada instalado (ni PHP, ni Docker): JumPHP crea un único archivo que se descarga y se ejecuta, para Linux y para Windows. PHP, SDL, OpenGL y OpenAL van dentro.
Necesitas un proyecto JumPHP en tu ordenador (en tu ordenador) y Docker. Tu Claude puede hacerlo por ti: pídele «haz un ejecutable de mi juego».
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
Cómo se hace
- PHP es el de StaticPHP (micro): PHP 8.5 en un ejecutable, con las extensiones de JumPHP (SDL y sus módulos de imagen, sonido y fuentes, OpenGL, OpenAL, gd, zip…), todas compiladas dentro.
- Tu juego (su código, sus imágenes, sus sonidos, el motor) se añade al final, en forma de archivo PHAR.
Este PHP es el mismo para todos los juegos: se fabrica una vez (~15 minutos en Linux) o se descarga de
las versiones publicadas de JumPHP, y se guarda en ~/.jumphp/standalone. Después, un ejecutable se crea en
unos segundos.
En casa del jugador
El primer arranque desempaqueta el juego en su caché (un segundo); los siguientes arrancan al instante. Las partidas guardadas y las opciones van a su carpeta de datos:
| Linux | Windows | |
|---|---|---|
| el juego | ~/.cache/jumphp/ |
%LOCALAPPDATA%\JumPHP\ |
| las partidas guardadas | ~/.local/share/<id del juego>/ |
%APPDATA%\<id del juego>\ |
En Linux funciona en cualquier distribución desde 2013 (glibc 2.17) y usa la pantalla (X11 o XWayland), OpenGL y el sonido (PulseAudio, PipeWire, ALSA) del ordenador, como cualquier juego de Linux. En Windows (10 o posterior), no hay que instalar nada.
Conviene saber
- El archivo no está firmado: Windows muestra «Windows protegió su PC», hay que hacer clic en
Más información y después en Ejecutar de todas formas. En Linux, tras una descarga:
chmod +x mon-jeu-linux-x86_64. - El PHP para Windows solo se puede fabricar en Windows: lo fabrica GitHub (el workflow
standalonedel repositorio JumPHP) y lo descarga el comando. - Solo procesadores x86_64 (todavía no hay Mac ni ARM).
Los detalles técnicos: docs/standalone.md en tu proyecto.