ES

JumPHP, el motor de juegos PHP para juegos retro 2D

Escribe tu juego en PHP una sola vez: funciona en una ventana en Windows, macOS y Linux, y en el navegador, tanto en ordenador como en móvil. Gratuito y de código abierto (licencia MIT).

¿Qué es JumPHP?

JumPHP es un framework para escribir juegos retro 2D en PHP. En el escritorio, el juego funciona con PHP 8.5 y las extensiones SDL2, OpenGL y OpenAL: una ventana de verdad, sonido, mando. En el navegador, son el mismo PHP 8.5 y las mismas extensiones compilados a WebAssembly: OpenGL se convierte en WebGL, OpenAL en Web Audio, y el juego es una simple página web estática.

Todo (PHP, Composer, Emscripten, servidor web, pruebas) funciona en Docker, detrás de un único comando: bin/jumphp.

Lo que ofrece el motor

  • Escenas, entidades, sprites animados, cámara y menús listos para usar.
  • Mapas de tiles (editor Tiled o líneas de texto), colisiones con pendientes y plataformas atravesables.
  • Teclado, mando, ratón y controles táctiles, descritos en un archivo de acciones.
  • Sonidos generados o cargados (wav, ogg, mp3), música y sonido posicional.
  • 3D y posprocesado con OpenGL / WebGL, por debajo o por encima del 2D.
  • Multijugador en línea mediante un servidor de retransmisión, peticiones HTTP, partidas guardadas, traducciones.
  • Cálculos pesados en hilos o Web Workers, sin bloquear nunca la imagen.
  • Pruebas que juegan de verdad al juego, y capturas de pantalla sin pantalla.

Lo que puedes hacer con él

Juegos de plataformas, arcade, de disparos o de carreras, remakes de juegos de 8 bits a partir de su disquete de Amstrad CPC, y también aplicaciones de escritorio (páginas HTML y PHP, con Tauri), aplicaciones gráficas sin HTML y programas de línea de comandos.

Un juego terminado se convierte en una página web, un único ejecutable para Linux y Windows, un instalador, una aplicación para Android o Apple, o se publica en este playground.

Empezar

composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout

El juego nuevo es un pequeño juego de plataformas completo (menú, nivel, jugador, monedas) que puedes convertir en el tuyo; bin/jumphp build lo convierte en una página web. A partir de ahí, basta con Docker: PHP, Composer y Emscripten funcionan en sus contenedores.

O describe tu juego en el estudio: tu Claude lo escribe con JumPHP y lo publica aquí. Crear un juego →

Ir más allá

Preguntas frecuentes

¿JumPHP es gratuito?

Sí. JumPHP es de código abierto, con licencia MIT, y el playground jumphp.net es gratuito, tanto para jugar como para publicar.

¿Hay que instalar PHP para crear un juego?

No. Todo funciona en Docker detrás del comando bin/jumphp: PHP 8.5, Composer, Emscripten y las pruebas. Los jugadores solo necesitan un navegador, o el ejecutable del juego.

¿El mismo código funciona en el escritorio y en el navegador?

Sí: el navegador ejecuta el mismo PHP 8.5 y las mismas extensiones, compilados a WebAssembly. Bastan unas pocas reglas: no bloquear nunca el fotograma y pasar por el motor para la red y los archivos.

¿Se pueden usar paquetes de Composer?

Sí, siempre que estén escritos en PHP puro: en el navegador no existe ninguna extensión PHP adicional.