JumPHP, le moteur de jeu PHP pour des jeux rétro 2D
Écrivez votre jeu en PHP une seule fois : il tourne dans une fenêtre sur Windows, macOS et Linux, et dans le navigateur, sur ordinateur comme sur téléphone. Gratuit et open source (licence MIT).
Qu'est-ce que JumPHP ?
JumPHP est un framework pour écrire des jeux 2D rétro en PHP. Sur le bureau, le jeu tourne avec PHP 8.5 et les extensions SDL2, OpenGL et OpenAL : une vraie fenêtre, du son, la manette. Dans le navigateur, ce sont le même PHP 8.5 et les mêmes extensions compilés en WebAssembly : OpenGL devient WebGL, OpenAL devient Web Audio, et le jeu est une simple page web statique.
Tout (PHP, Composer, Emscripten, serveur web, tests) tourne dans Docker, derrière une seule commande : bin/jumphp.
Ce que le moteur fournit
- Scènes, entités, sprites animés, caméra et menus prêts à l'emploi.
- Cartes de tuiles (éditeur Tiled ou lignes de texte), collisions avec pentes et plates-formes traversables.
- Clavier, manette, souris et commandes tactiles, décrits dans un fichier d'actions.
- Sons générés ou chargés (wav, ogg, mp3), musique et son positionnel.
- 3D et post-traitement avec OpenGL / WebGL, sous ou au-dessus de la 2D.
- Multijoueur en ligne par un serveur relais, requêtes HTTP, sauvegardes, traductions.
- Calculs lourds dans des threads ou des Web Workers, sans jamais bloquer l'image.
- Des tests qui jouent vraiment au jeu, et des captures d'écran sans écran.
Ce que vous pouvez en faire
Des jeux de plates-formes, d'arcade, de tir ou de course, des remakes de jeux 8 bits à partir de leur disquette Amstrad CPC, mais aussi des applications de bureau (pages HTML et PHP, avec Tauri), des applications graphiques sans HTML et des programmes en ligne de commande.
Un jeu terminé devient une page web, un exécutable unique pour Linux et Windows, un installeur, une application Android ou Apple, ou se publie sur ce playground.
Démarrer
composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout
Le nouveau jeu est un petit jeu de plates-formes complet (menu, niveau, joueur, pièces) à transformer en le vôtre ; bin/jumphp build en fait une page web. Ensuite, Docker suffit : PHP, Composer et Emscripten tournent dans ses conteneurs.
Ou décrivez votre jeu dans le studio : votre Claude l'écrit avec JumPHP et le publie ici. Créer un jeu →
Aller plus loin
- Documentation et tutoriels
- JumPHP IDE – l'IDE gratuit pour vos jeux et applications PHP
- Extensions du moteur
- Les jeux faits avec JumPHP
- Code source · Packagist
Questions fréquentes
JumPHP est-il gratuit ?
Oui. JumPHP est open source, sous licence MIT, et le playground jumphp.net est gratuit, pour jouer comme pour publier.
Faut-il installer PHP pour faire un jeu ?
Non. Tout tourne dans Docker derrière la commande bin/jumphp : PHP 8.5, Composer, Emscripten et les tests. Les joueurs n'ont besoin que d'un navigateur, ou de l'exécutable du jeu.
Le même code marche-t-il sur le bureau et dans le navigateur ?
Oui : le navigateur exécute le même PHP 8.5 et les mêmes extensions, compilés en WebAssembly. Quelques règles suffisent : ne jamais bloquer l'image, et passer par le moteur pour le réseau et les fichiers.
Peut-on utiliser des paquets Composer ?
Oui, s'ils sont écrits en PHP pur : aucune extension PHP supplémentaire n'existe dans le navigateur.