ES

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 standalone del 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.