DOOM a déjà été porté sur des thermostats, des tests de grossesse, et même un piano ! Manquait donc plus que les chatbots IA !
Et voilà que c'est fait puisque Chris Nager vient de faire tourner DOOM dans ChatGPT et Claude, jouable directement dans la fenêtre du chat.
Votre navigateur ne supporte pas la lecture de vidéos HTML5. Voici un lien vers la vidéo.Le truc tient en deux outils MCP. Pour rappel, MCP (Model Context Protocol), c'est le protocole standard qui permet à une IA d'appeler des outils externes.
Ici donc, create_doom_session lance le jeu inline dans l'application, et get_doom_launch_url renvoie une URL de fallback pour les clients qui ne savent pas afficher d'UI inline.
Sous le capot, c'est cloudflare/doom-wasm qui tourne, avec les assets libres de Freedoom Phase 1, le tout écrit en TypeScript et hébergé sur Netlify. Vous tapez "lance DOOM" dans Claude, ça démarre le rendu canvas directement dans la fenêtre de chat, et hop, les démons sont là !
Pour ceux qui débarquent, DOOM est sorti en décembre 1993, et le running gag "can it run DOOM?" remonte à la fin des années 90, quand id Software a libéré le code source du jeu en 1997. Et depuis 30 ans, DOOM tourne déjà sur tout un tas de matos comme des distributeurs de billets, des oscilloscopes, des frigos, ou même des satellites en orbite... la liste est sans fin !
Y'a même un type qui avait fait tourner DOOM avec du CSS dans un navigateur le mois dernier. Alors c'est sûr que ChatGPT et Claude étaient déjà sur la liste des prochaines cibles évidentes.
Alors pourquoi ça devient possible maintenant ? Hé bien parce que la spécification MCP Apps est passée en stable fin janvier. C'est donc l'extension du Model Context Protocol qui permet à un serveur MCP de retourner une UI interactive (HTML, canvas, dashboards) directement intégrée dans la conversation.
Tout ça est sandboxé dans une iframe, ça communique via postMessage, et c'est aussi supporté côté VS Code. On est totalement dans la lignée de ces outils MCP qu'on commence à voir partout.
Comme MCP donne déjà à l'app une zone d'affichage dans la conversation (une iframe hôte), le réflexe naturel, c'est d'y caler une page web qui contiendrait elle-même DOOM.
Votre navigateur ne supporte pas la lecture de vidéos HTML5. Voici un <a href="/doom-chatgpt-claude-mcp/doom-chatgpt-claude-mcp-1.qt">lien vers la vidéo</a>. Sauf que ça fait deux fenêtres imbriquées qui se battent avec les règles de sécurité du navigateur (CSP, frame-src, tout ça). Du coup, Chris a eu une idée et génie et a viré la couche du milieu et posé l'écran du jeu directement dans la zone fournie par MCP. Une couche en moins, et tout marche nickel !
Côté limites, faut savoir que c'est une version vraiment épurée. Pas de sauvegarde ni de chargement de partie, pas de screenshots, pas d'état persistant entre les sessions. Tout ça a été coupé volontairement pour gagner en stabilité.
Pour tester chez vous, les amis, le code est dispo sur GitHub via la PR #54 du repo de Chris, prête à être ajoutée à votre config Claude Desktop ou ChatGPT. Y a de quoi s'amuser.
Bref, DOOM tourne désormais directement dans la fenêtre de chat de votre IA préférée. La question n'est plus "qu'est-ce qui peut faire tourner DOOM ?" mais "qu'est-ce qui ne le fait PAS encore ?".
Source : Chris Nager