Dezvoltatorul devine Doom care rulează în întregime într-o bază de date SQL

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Un dezvoltator a construit un port de bază de date Doom SQL funcțional, transformând shooter-ul din 1993 într-un joc jucabil care rulează în întregime prin interogări de baze de date live în loc de un motor de joc tradițional. Proiectul folosește CedarDB, o bază de date analitică modernă, pentru a calcula fiecare cadru, a urmări fiecare inamic și chiar a gestiona sesiunile multiplayer în timp real.

Recomandări cheie

  • ✓Un dezvoltator a creat un port de bază de date Doom SQL funcțional folosind motorul de interogare CedarDB
  • ✓Fiecare cadru este generat de interogări SQL live, mai degrabă decât de un motor de joc tradițional
  • ✓Portul acceptă redarea completă a culorilor, logica jocului și sesiunile multiplayer
  • ✓CedarDB este o bază de date analitică de înaltă performanță construită de foști cercetători universitari
  • ✓Proiectul se alătură unei lungi istorii în care Doom a fost portat la hardware și software improbabil

Sună ca o glumă până când rulează pe ecran. Doom a fost de multă vreme punctul de referință preferat al internetului pentru experimentele „se poate rula Doom”, apărând pe orice, de la teste de sarcină la bancomate și imprimante. Acest ultim efort împinge acea tradiție într-un loc mai ciudat: un software folosit în mod normal pentru a analiza foi de calcul și înregistrări de afaceri redă acum un shooter la persoana întâi în culori, cadru cu cadru, prin interogări structurate.

Cum funcționează de fapt portul bazei de date Doom SQL

În esență, o bază de date stochează informații în tabele și răspunde la întrebări despre acele informații folosind interogări. Portul bazei de date Doom SQL ia aceeași structură și o reutilizează pentru a reprezenta o lume de joc. Geometria hărții, pozițiile inamicului, sănătatea jucătorului și stările armelor sunt toate stocate ca rânduri în tabele și nu variabile în memoria unui motor de joc.

Fiecare cadru de joc este produs prin rularea unei interogări pe acele date, recalculând ceea ce s-a schimbat de la ultimul cadru și generând pixelii necesari pentru a-l afișa. Acestea includ iluminarea, plasarea sprite-urilor și culoarea, dintre care niciuna dintre ele nu este concepută pentru o bază de date convențională. Obținerea unui motor de interogări pentru a produce o imagine utilizabilă la o rată de cadre redabilă, mai degrabă decât doar un tabel de numere, este partea cu adevărat dificilă a proiectului.

Captură de ecran a portului bazei de date Doom SQL care arată jocul redat prin interogări în baza de date live

Logica jocului, cum ar fi detectarea coliziunilor, comportamentul inamicului și calculele daunelor, este gestionată în același mod, mai degrabă prin interogări decât prin codul de joc scris de mână. Multiplayer funcționează permițând mai multor clienți să interogheze și să actualizeze aceeași stare a bazei de date partajate în același timp, ceea ce este aproape de numărul de aplicații de afaceri din lumea reală care gestionează deja utilizatori simultani, doar reutilizate pentru demoni virtuali în loc de înregistrările de inventar.

De ce CedarDB a fost instrumentul potrivit pentru job

CedarDB nu este un proiect de hobby. A fost construit de o echipă care include foști cercetători de la Universitatea Tehnică din München care au petrecut ani de zile lucrând la compilarea de interogări de înaltă performanță și este prezentat ca o alternativă mai rapidă la sistemele consacrate pentru sarcinile de lucru analitice. Această viteză contează aici, deoarece o bază de date concepută pentru a genera milioane de înregistrări pe secundă este mult mai potrivită pentru a genera zeci de cadre pe secundă decât ar fi un sistem mai vechi, mai lent.

Rularea Doom prin CedarDB acționează efectiv ca un test de stres public al vitezei de compilare a interogărilor motorului, realizat într-un mod care este instantaneu pe înțelesul oricui, spre deosebire de un benchmark tipic de bază de date plin de numere abstracte. Un spectator nu trebuie să știe nimic despre planificarea interogărilor pentru a aprecia că un shooter funcționează fără probleme în interiorul unui lucru care nu a fost niciodată menit să afișeze grafică.

Aspect Motor tradițional Doom Portul bazei de date Doom SQL
Redare Redare software personalizat Generat prin interogări SQL live
Starea jocului Variabile în memorie Stocate ca tabele de bază de date
Multiplayer Cod de rețea dedicat Interogări simultane privind starea partajată
Scopul principal Performanță de joc Demonstrarea vitezei motorului de interogare

Doom a fost întotdeauna ținta de portare preferată a internetului

Aceasta este departe de prima dată când cineva a decis că Doom aparține unui loc în care clar nu a fost conceput pentru a rula. Entuziaștii l-au strâns anterior pe calculatoare, frigidere inteligente, camere digitale și chiar pe un test de sarcină cu un ecran minuscul. Atractia este parțial drepturi de lăudare tehnică și parțial nostalgie, deoarece cerințele scăzute de sistem ale jocului original și formatele de fișiere deschise îl fac o țintă neobișnuit de iertătoare pentru experimentare.

Captură de ecran a portului bazei de date Doom SQL care arată jocul redat prin interogări în baza de date live

Ceea ce diferențiază portul bazei de date Doom SQL este că majoritatea acestor porturi anterioare se bazează încă pe ceva asemănător cu o buclă de joc convențională dedesubt, chiar și pe hardware ciudat. Rularea logicii reale a jocului și redarea prin interogări de bază de date este un tip de provocare complet diferit, mai aproape de a cere unui calculator să compună muzică decât de a micșora pur și simplu un joc pe un ecran mai mic.

Ce înseamnă dincolo de noutate

Dincolo de distracția de a-l vedea pe Doom rulând undeva absurd, proiectul spune ceva real despre cât de capabile au devenit motoarele de interogare moderne. Bazele de date sunt de obicei judecate după cât de repede pot sorta, filtra și alătura datele, nu dacă pot atinge o rată de cadre redabilă în timp ce redă un mediu 3D. Rezolvarea acestui lucru sugerează că compilarea de interogări de la CedarDB este cu adevărat rapidă, nu doar rapidă în comparație cu software-ul de baze de date mai vechi.

Pentru pasionații de conservare a jocurilor, este, de asemenea, o reamintire a cât de flexibile rămân motorul și structura fișierelor Doom la mai mult de trei decenii de la lansare, mult după ce editorul său original a trecut la alte proiecte. Pentru inginerii de baze de date, este o demonstrație mult mai distractivă decât un alt punct de referință pentru foi de calcul și probabil va fi citată în prezentări despre performanța motorului de interogări în anii următori.

Întrebări frecvente

Ce bază de date este folosită pentru a rula Doom?

Proiectul folosește CedarDB, o bază de date analitică de înaltă performanță construită de o echipă care include foști cercetători de la Universitatea Tehnică din München, aleși pentru compilarea rapidă a interogărilor.

Captură de ecran a portului bazei de date Doom SQL care arată jocul redat prin interogări în baza de date live

Este portul bazei de date Doom SQL pe deplin redabil?

Da. Acceptă redarea completă a culorilor, logica standard de joc, cum ar fi lupta și mișcarea, și sesiuni multiplayer, toate generate prin interogări SQL live, mai degrabă decât prin intermediul unui motor de joc convențional.

De ce dezvoltatorii continuă să portează Doom pe platforme neobișnuite?

Cerințele reduse de sistem ale Doom și formatele de fișiere documentate în mod deschis îl fac o țintă ușoară pentru experimentare, iar rularea cu succes pe hardware sau software improbabil a devenit o modalitate binecunoscută pentru dezvoltatori de a demonstra abilitățile tehnice.

Înseamnă asta că bazele de date ar putea înlocui motoarele de joc?

Nu în mod realist. Proiectul este o demonstrație a vitezei și flexibilității motorului de interogare, mai degrabă decât o abordare practică a dezvoltării jocurilor, deoarece motoarele create special rămân mult mai eficiente pentru jocurile reale.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.