Un ingegnere ha raggiunto qualcosa di impressionante: eseguire il classico videogioco Doom direttamente all'interno di una database relazionale. Questo progetto, chiamato SQLDoom, dimostra che è possibile trasformare un gioco d'azione in un sistema basato sui dati.
Come funziona SQLDoom?
Il progetto utilizza tabelle CedarDB per memorizzare la geometria del gioco e il suo stato, insieme a circa 1.300 righe di query SQL distribuite in 89 espressioni comuni. Queste query implementano tutta la logica del gioco e generano 35 frame al secondo come mappe bitmap.
Conversione dei file WAD
Convertire i file WAD di Doom in una database relazionale è stato relativamente semplice grazie alla modalità con cui il gioco originale scompone i livelli in vertici, linee e settori. Anche gli alberi BSP possono essere convertiti in SQL mediante una colonna sort_key precalcolata.
Prestazioni e tecnologia
- Prestazioni fino a 60 FPS su laptop con processore Ryzen 7
- Generazione di frame a color completo 640×480
- Ottimizzazione tramite ORDER BY per il culling degli oggetti
Vantaggi per server multijocatore
La database offre benefici significativi per i server multijocatore: non ci sono aggiornamenti parzialmente applicati, né errori di fisica, né dispute su quale oggetto abbia colpito. La natura persistente della database consente uno stato coerente del gioco.
Fonte originale: Ars Technica

Comments
No approved comments yet. Be the first to share your thoughts.