Pyxel featured

PYXEL : le moteur de jeux rétro qui tient dans un script Python

⏱️ Temps de lecture estimé : 4 minutes

https://github.com/kitao/pyxel

📌 PYXEL est un moteur de jeu rétro pour Python qui reprend les contraintes des consoles 8 et 16 bits — 16 couleurs à l’écran, 4 canaux audio — pour qu’on passe moins de temps à régler un moteur qu’à faire un jeu.

L’idée vient des consoles fantastiques à la PICO-8 : un cadre volontairement étroit, où chaque pixel et chaque son comptent. La différence, ici, c’est qu’on code en vrai Python 3, pas dans un langage maison, et que le noyau écrit en Rust assure le rendu. Le tout tourne sur Windows, macOS et Linux, mais aussi dans le navigateur grâce à WebAssembly. Takashi Kitao développe ce projet seul et le fait vivre par les étoiles GitHub : plus de 18 000 au compteur, licence MIT.

La fiche technique tient de la console de salon des années 80 : écran de taille personnalisable, palette de 16 couleurs, 3 banques d’images et 8 tilemaps de 256×256 pixels, 4 canaux audio pour 64 sons définissables et 8 pistes de musique. Quand le cadre devient trop étroit, couleurs, canaux et banques se laissent étendre.

Concrètement, une application Pyxel tient en quelques lignes : init ouvre la fenêtre, une fonction update lit les entrées, une fonction draw dessine. pyxel run lance le script, pyxel watch le recharge à chaque sauvegarde, et copy_examples recopie en local une bibliothèque d’exemples — du hello_pyxel au platformer complet — pour voir comment c’est fait.

import pyxel

pyxel.init(160, 120)

def update():
    if pyxel.btnp(pyxel.KEY_Q):
        pyxel.quit()

def draw():
    pyxel.cls(0)
    pyxel.rect(10, 10, 20, 20, 11)

pyxel.run(update, draw)
30 Seconds of Daylight, l’un des jeux fournis en exemple avec le moteur, filmé dans Pyxel.

Côté création, Pyxel Editor embarque ce qui demande normalement des outils séparés : sprites, tilemaps, bruitages et musiques, rangés dans un fichier .pyxres qui accompagne le code. En plein jeu, Alt+1 capture un screenshot, Alt+3 filme jusqu’à dix secondes d’écran, Alt+Entrée bascule en plein écran. Clavier, souris et manette sont reconnus d’office.

Pyxel Editor : dessin de sprites et de tilemaps
Pyxel Editor : sprites et tilemaps se dessinent dans l’outil fourni, bruitages et musiques se composent à côté.

La distribution est pensée pour les petites équipes : pyxel package produit un fichier .pyxapp qui embarque code et ressources, avec les métadonnées écrites en commentaires dans le script. Ce fichier se transforme en exécutable (pyxel app2exe) ou en page HTML autonome (pyxel app2html), jouable dans n’importe quel navigateur, smartphone compris. La version web et le Pyxel Code Maker vont plus loin : coder et tester sans rien installer, depuis un simple onglet. Le Pyxel Showcase complète le tableau — les exemples du moteur comme les créations des utilisateurs s’y lancent directement dans le navigateur. Une extension VS Code fait la même chose dans l’éditeur.

Je trouve l’approche saine. Les limites affichées — palette de 16 couleurs, banques d’images de 256×256, 4 canaux son — ne brident pas : elles cadrent, et on finit des jeux au lieu d’assembler des assets. La contrepartie est claire : on reste dans le pixel art sur un canvas réduit, et Python plafonne sur des simulations denses. Pour un premier jeu, un prototype ou un atelier, c’est exactement le bon outil. Détail très 2026 : Takashi Kitao maintient aussi un serveur MCP et un skill Claude Code officiels, pour prototyper ses jeux rétro avec un agent IA dans la boucle.

  • 🎨 Palette de 16 couleurs, 3 banques d’images et 8 tilemaps de 256×256
  • 🔊 4 canaux audio, 64 sons définissables, 8 pistes de musique
  • 🖥️ Windows, macOS, Linux et navigateur via WebAssembly
  • 🧰 Éditeurs de sprites, tilemaps, sons et musiques intégrés (.pyxres)
  • 📦 Un .pyxapp distribuable en exécutable ou en page HTML autonome
  • 🤖 Serveur MCP et skill Claude Code officiels pour coder avec un agent

Sources

Publications similaires

Laisser un commentaire