{"id":3130,"date":"2026-10-03T01:09:12","date_gmt":"2026-10-03T00:09:12","guid":{"rendered":"https:\/\/www.blog-actu.com\/index.php\/2026\/10\/03\/doom-tourne-desormais-dans-une-base-de-donnees-sql-a-60-images-par-seconde\/"},"modified":"2026-10-04T08:18:42","modified_gmt":"2026-10-04T07:18:42","slug":"doom-tourne-desormais-dans-une-base-de-donnees-sql-a-60-images-par-seconde","status":"publish","type":"post","link":"https:\/\/www.blog-actu.com\/index.php\/2026\/10\/03\/doom-tourne-desormais-dans-une-base-de-donnees-sql-a-60-images-par-seconde\/","title":{"rendered":"Doom tourne d\u00e9sormais dans une base de donn\u00e9es SQL, \u00e0 60 images par seconde"},"content":{"rendered":"<p>Faire tourner <em>Doom<\/em> sur n&rsquo;importe quoi est devenu un sport \u00e0 part enti\u00e8re chez les d\u00e9veloppeurs : calculatrices, imprimantes, montres connect\u00e9es\u2026 Le d\u00e9veloppeur Lukas Vogel vient d&rsquo;ajouter une entr\u00e9e particuli\u00e8rement improbable \u00e0 la liste avec SQLDoom, une version du jeu de tir culte d&rsquo;<a href=\"https:\/\/www.blog-actu.com\/index.php\/2026\/07\/08\/bethesda-et-id-software-seraient-durement-touches-par-les-licenciements-chez-microsoft\/\">id Software<\/a> dont la logique est presque enti\u00e8rement confi\u00e9e \u00e0 une base de donn\u00e9es relationnelle. Lui-m\u00eame reconna\u00eet, dans le long billet de blog o\u00f9 il d\u00e9taille le projet, que l&rsquo;id\u00e9e est \u00ab \u00e9videmment mauvaise \u00bb.<\/p>\n<h2>Le jeu r\u00e9duit \u00e0 des tables et des requ\u00eates<\/h2>\n<p>Concr\u00e8tement, un petit programme en Python se contente de g\u00e9rer les commandes du joueur, la cadence du jeu et l&rsquo;affichage. Tout le reste se passe dans CedarDB : des tables stockent la g\u00e9om\u00e9trie des niveaux et l&rsquo;\u00e9tat de la partie, tandis qu&rsquo;environ 1 300 lignes de SQL, r\u00e9parties en 89 expressions de table communes, calculent la logique du jeu et produisent des images en couleur de 640 \u00d7 480 pixels. Un net progr\u00e8s par rapport \u00e0 DoomQL, sa tentative de l&rsquo;an dernier, qui n&rsquo;affichait qu&rsquo;un rendu en caract\u00e8res ASCII gris, plus proche de <em>Wolfenstein 3D<\/em> que de <em>Doom<\/em>.<\/p>\n<p>Selon Vogel, convertir les fichiers WAD d&rsquo;origine en tables a \u00e9t\u00e9 la partie facile : le moteur de 1993 d\u00e9coupait d\u00e9j\u00e0 ses niveaux en sommets, lignes et secteurs, une structure qui se pr\u00eate bien au mod\u00e8le relationnel. M\u00eame les fameux arbres de partition binaire de l&rsquo;espace peuvent \u00eatre traduits gr\u00e2ce \u00e0 une cl\u00e9 de tri pr\u00e9calcul\u00e9e, qu&rsquo;un simple ORDER BY exploite \u00e0 chaque image pour savoir quels morceaux de murs afficher. Le rendu des sols et des plafonds s&rsquo;est r\u00e9v\u00e9l\u00e9 plus d\u00e9licat ; le d\u00e9veloppeur l&rsquo;a contourn\u00e9 avec une solution qu&rsquo;il qualifie lui-m\u00eame de bricolage.<\/p>\n<h2>Plus qu&rsquo;une simple curiosit\u00e9 ?<\/h2>\n<p>Malgr\u00e9 le co\u00fbt de toutes ces lectures et \u00e9critures en base, SQLDoom atteindrait environ 60 images par seconde sur un ordinateur portable \u00e9quip\u00e9 d&rsquo;un processeur Ryzen 7, avec des chutes \u00e0 35 images par seconde dans les sc\u00e8nes charg\u00e9es. Surtout, Vogel y voit un int\u00e9r\u00eat r\u00e9el pour le multijoueur : une base de donn\u00e9es garantit un \u00e9tat de jeu coh\u00e9rent et g\u00e8re nativement les acc\u00e8s simultan\u00e9s, ce qui \u00e9vite selon lui les mises \u00e0 jour partielles et les litiges pour savoir si une roquette a bien touch\u00e9 sa cible.<\/p>\n<p>Les curieux peuvent tester le projet chez eux \u00e0 partir du code publi\u00e9 sur GitHub, d&rsquo;une copie de CedarDB et d&rsquo;un fichier WAD de <em>Doom<\/em>, ou rejoindre une partie de d\u00e9monstration h\u00e9berg\u00e9e en ligne. Une preuve de plus que, trente ans apr\u00e8s sa sortie, <em>Doom<\/em> reste le terrain de jeu favori des bidouilleurs.<\/p>\n<p><!-- blogactu-source: https:\/\/arstechnica.com\/gaming\/2026\/10\/can-it-run-doom-sql-database-edition\/ --><\/p>\n<p style=\"font-size:11px;line-height:1.4;color:#9a9a9a;margin-top:2.5em\">Image : <a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:VIGAMUS_Doom_Shareware_Demo_Disks.jpg\" style=\"color:#9a9a9a;text-decoration:none\" target=\"_blank\" rel=\"nofollow noopener\">Barbiere1138, CC BY-SA 3.0, via Wikimedia Commons<\/a><\/p>\n<p><!-- blogactu-seo: 2026-10-04 --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Avec SQLDoom, Lukas Vogel fait tourner Doom dans la base de donn\u00e9es CedarDB : 1 300 lignes de SQL calculent le jeu en 640 \u00d7 480 \u00e0 environ 60 images\/s.<\/p>\n","protected":false},"author":3,"featured_media":3129,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53],"tags":[413,411,412,284],"class_list":["post-3130","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jeux","tag-bases-de-donnees","tag-doom","tag-id-software","tag-retro-informatique"],"_links":{"self":[{"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/posts\/3130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/comments?post=3130"}],"version-history":[{"count":2,"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/posts\/3130\/revisions"}],"predecessor-version":[{"id":3176,"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/posts\/3130\/revisions\/3176"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/media\/3129"}],"wp:attachment":[{"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/media?parent=3130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/categories?post=3130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blog-actu.com\/index.php\/wp-json\/wp\/v2\/tags?post=3130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}