- Avec nos pensées, nous créons le monde -

Gaming

EmuDevz : le jeu où vous ne jouez pas, vous codez

emudevz

On a tous eu cette pensée un jour ou l’autre, en lançant un émulateur sur notre PC : « Tiens, comment ça marche, en vrai ? » La plupart d’entre nous (moi en premier) se contentent d’un clic sur RetroArch, ajustent les shaders et passent à Super Mario Bros. sans jamais se demander ce qui se passe sous le capot. Mais pour les autres (ceux qui ont déjà relu The Art of Electronics en vacances, qui compilent leur propre noyau Linux par nostalgie, ou qui considèrent que débugger du code assembleur est une forme de méditation) il existe désormais EmuDevz, un jeu vidéo qui ne ressemble à aucun autre. Parce qu’en réalité, ce n’est pas un jeu. C’est un atelier. Un cours magistral. Une machine à remonter le temps technologique. Et accessoirement, un cauchemar doux pour les développeurs juniors.

Développé par [r]labs, ce titre gratuit (et open source, MIT License) vous plonge dans un futur lointain (l’an 32767) où Internet a disparu, les données sont perdues, et la seule trace d’une civilisation vidéoludique réside dans des fragments de documentation cryptique. Votre mission ? Recréer NEEES, une console fictive inspirée de la NES, en partant de zéro. Pas de tutoriel YouTube, pas de Stack Overflow. Juste un terminal Unix, un éditeur de code intégré et une amie nommée Ada qui vous guide via un chat textuel façon IRC des années 90.

Et non, ce n’est pas une métaphore. Vous allez littéralement écrire un émulateur fonctionnel, morceau par morceau.

Le Zachtronics des nostalgiques du 8-bit

Dès les premières minutes, EmuDevz s’affirme comme l’héritier spirituel de TIS-100 ou Shenzhen I/O (des jeux-puzzles où résoudre un problème technique devient une drogue cognitive). Mais là où Zachtronics vous demande d’optimiser du pseudo-code pour trier des paquets, EmuDevz vous force à comprendre comment une console entière fonctionne au plus bas niveau.

jeu Emudevz

Le jeu commence par vous apprendre le 6502, ce microprocesseur légendaire qui animait la NES, la Commodore 64, l’Apple II et même le premier Macintosh. Vous n’êtes pas juste invité à lire des instructions, vous devez les corriger, les assembler et observer en temps réel comment elles modifient la mémoire, les registres, le pointeur de pile. Chaque opcode devient tangible. Chacun fait vibrer quelque chose dans votre cerveau reptilien.

Puis vient la transition vers le haut niveau : JavaScript. Oui, vous allez recoder un émulateur NES en JS. Pas parce que c’est la meilleure techno (les puristes hurleront) mais parce que c’est accessible, portable et parfaitement adapté à un navigateur intégré. Le jeu vous fournit des templates, des tests unitaires et même une structure modulaire : CPU, PPU (unité graphique), APU (audio), gestion des contrôleurs. À vous de remplir les blancs.

Mais attention ce n’est pas du copier-coller. Les tests sont stricts. Si votre implémentation du PPU ne gère pas correctement les name tables ou les sprite overflow flags, le jeu Super Mario Bros. affichera des artefacts, des sprites fantômes, voire plantera. Et ce n’est pas un bug, c’est une leçon. Car comme le rappelle le jeu avec une ironie cruelle : « Ne pense pas trop à pourquoi. Fais-le. » Certains jeux NES comptaient sur des bugs matériels pour fonctionner. Corriger ces comportements, c’est les casser.

Un simulateur d’archéologie numérique

L’univers post-apocalyptique n’est pas là pour faire joli. Il justifie une absence totale de filets de sécurité. Pas de sauvegarde cloud, pas de mode triche, pas de forum communautaire intégré. Vous êtes seul avec votre logique, vos erreurs et la documentation fragmentée que vous découvrez au fil des chapitres.

Chaque module complété déverrouille une pièce de test. Un mini-jeu homebrew conçu spécifiquement pour stresser une partie de l’émulateur. Réussir à faire tourner un Pong-like signifie que votre CPU fonctionne. Afficher correctement les tuiles colorées de Tile Quest valide votre PPU. Entendre la mélodie de Chiptune Demo confirme que votre APU rend bien les ondes.

Et quand tout est enfin assemblé ? Vous pouvez charger n’importe quel ROM NES compatible, y compris celles fournies avec le jeu. Mieux : le jeu vous permet d’exporter votre émulateur fonctionnel, de l’utiliser hors du jeu, de le modifier, de le partager. Vous repartez avec un outil réel, pas juste un trophée virtuel.

C’est là que EmuDevz transcende le jeu vidéo. Il ne vous vend pas une expérience (déjà parce qu’il est gratuit), il vous donne une compétence. Une preuve que vous avez touché du doigt l’âme des machines anciennes.

Pour qui ? Pourquoi ?

Ce n’est évidemment pas un jeu pour tout le monde. Le développeur (Rodrigo) le reconnaît lui-même. Si vous n’avez jamais écrit une ligne de code, préparez-vous à souffrir (je parle en connaissance de cause, j’ai encore des séquelles). Mais ce n’est pas non plus réservé aux experts. Le jeu guide progressivement, explique chaque concept, et fournit assez de contexte pour que même un curieux motivé puisse avancer.

Et c’est précisément ce qui le rend fun ! Au delà des contenus éphémères, des live services interchangeables et de mondes ouverts vides, EmuDevz propose quelque chose de rare : un engagement intellectuel authentique. Il ne cherche pas à vous divertir passivement. Il vous provoque et vous met au défi de comprendre, pas juste de consommer.

Il rappelle aussi une vérité oubliée. Qui est que les jeux vidéo ne sont pas que du spectacle. Ce sont des systèmes. Des architectures. Des pactes entre hardware et imagination. Et parfois, la meilleure façon d’aimer un jeu, c’est de reconstruire la machine qui l’a fait naître.

Disponible gratuitement sur Steam, avec un support natif pour Steam Deck et une version Linux propre, EmuDevz est déjà utilisé dans certaines écoles d’informatique comme support pédagogique. Il a aussi inspiré une flopée de forks GitHub (certains en Rust, d’autres en Python) prouvant que le concept dépasse le cadre du jeu.

Alors, la prochaine fois que vous lancerez The Legend of Zelda sur votre émulateur favori, demandez-vous : « Est-ce que je saurais le faire moi-même ? » Si la réponse vous intrigue il y a un terminal qui vous attend …

Partager l'article sur les réseaux sociaux pour aider le site (merci !)
* Cet article peut contenir des images générées à l'aide de l'IA