Tovább a PegaPollra
PEGAPOLL · HÍREK

SQL-adatbázisban futtatták a Doomot

Ars Technica · 2026-10-02
🤖 AI-generált tartalom — A címet és az összefoglalót mesterséges intelligencia készítette automatikusan, emberi szerkesztői átnézés nélkül.

Egy fejlesztő, Lukas Vogel SQL-adatbázisban valósította meg a Doom futtatását, noha saját megfogalmazása szerint ez nyilvánvalóan rossz ötletnek tűnik. Az SQLDoom nevű projektben mintegy 1300 sor SQL-lekérdezés, 89 közös táblakifejezésbe szervezve, kezeli a játék logikáját, a pályák állapotát és a képkockák előállítását. A rendszer másodpercenként 35 bittérképes képet képes generálni.

A megoldás mögött CedarDB-táblák tárolják a pálya geometriáját és a játék állapotát, miközben egy kisebb Python-kliens fogadja a billentyűzetes bemenetet, vezérli az időzítést, és megjeleníti a képeket. Az eredmény teljes színes, 640×480 pixeles grafika, amely jóval közelebb áll az eredeti Doom látványához, mint Vogel korábbi DoomQL-projektje. Az előző változat szürkeárnyalatos ASCII-grafikát és raycastinget használt.

A klasszikus WAD-fájlok adatbázissá alakítása viszonylag egyszerű volt, mivel a pályák eleve csúcsokra, vonalakra és szektorokra épülnek. A bináris térfelosztási fák elemeihez előre kiszámított sorrendi kulcs tartozik, így egy SQL-es ORDER BY utasítás minden képkockán eldöntheti, mely falszakaszok látszanak. A padlók és mennyezetek megjelenítéséhez Vogel egy kevésbé elegáns, panelek sorozatát bejáró megoldást alkalmazott.

A rendszer egy Ryzen 7 processzoros laptopon körülbelül 60 képkockát is elér másodpercenként, zsúfolt jelenetekben azonban 35-re esik vissza. Az adatbázis egységes állapotképe és konkurenciakezelése többjátékos szervernél is előnyös lehet, mert elkerülhetőek a részlegesen alkalmazott frissítésekből eredő eltérések.

Folytasd az appban — szavazz és szólj hozzá ➔
Forrás: Ars Technica · innen ahirlevel.hu

Kapcsolódó hírek