Lukas Vogel fait tourner le jeu Doom dans une base de données SQL

Des joueurs peuvent désormais lancer le jeu vidéo culte Doom directement dans une base de données SQL à 35 images par seconde en couleur, grâce au projet SQLDoom mis au point par un développeur.

L’architecture technique de SQLDoom

Selon les détails fournis par Ars Technica, un petit client Python gère les entrées du clavier, le minutage et l’affichage de chaque image bitmap générée à l’écran, à l’opposé d’une boucle de jeu conventionnelle.

Selon les informations publiées sur GitHub, le projet totalise environ 4 000 lignes de SQL, dont 1 300 lignes de requêtes SQL réparties à travers 89 expressions de table communes pour porter la logique du jeu.

We Ported Doom to SQL: 35 FPS in a Database

« Rendering Doom in a database is obviously a bad idea », écrit Lukas Vogel dans un long billet de blogue expliquant comment il est parvenu à rendre le jeu via une base de données SQL.

Lukas Vogel, via Ars Technica et Gamedev

La conversion des fichiers WAD

Transformer les fichiers WAD originaux de Doom en structures relationnelles s’est avéré réalisable grâce à la décomposition classique des niveaux du jeu en sommets, lignes et secteurs.

L’évolution par rapport à DoomQL

SQLDoom marque une évolution par rapport à l’expérimentation antérieure de son concepteur, baptisée DoomQL, qui cherchait l’année précédente à bâtir un jeu de tir multijoueur s’apparentant à Doom entièrement en SQL.

PiQMarkets story preview
Photo : piqmarkets.com

L’utilisation d’une base de données maintenant un instantané de référence cohérent de l’état du jeu offre des perspectives pour la gestion des serveurs multijoueurs en évitant les problèmes tels que les mises à jour partiellement appliquées ou les désaccords sur les événements de jeu.

À ne pas manquer