Lukas Vogel menulis dalam posting blog panjang yang menjelaskan bagaimana ia berhasil merender Doom menggunakan database SQL. Proyek SQLDoom menggunakan klien Python kecil untuk menangani input dan output, mengatur waktu permainan, dan menampilkan setiap frame. Di belakangnya, serangkaian tabel Cedar DB melacak geometri dan status permainan, sementara sekitar 1300 baris kueri SQL di 89 ekspresi tabel umum mengimplementasikan logika permainan dan menghasilkan 35 framebuffer bitmap per detik.
SQLDoom adalah peningkatan besar dibandingkan proyek Doom QL Vogel sebelumnya, yang membangun "penembak mirip Doom multipemain sepenuhnya dalam SQL" tetapi berakhir dengan grafik ASCII skala abu-abu. SQLDoom yang lebih baru menghasilkan frame penuh warna 640×480 yang mirip dengan executable Doom asli.
Mengonversi file WAD klasik Doom ke database relasional itu mudah, kata Vogel, karena permainan membagi level menjadi simpul, garis, dan sektor. Pohon partisi ruang biner Doom dapat dipecah menjadi SQL menggunakan sort_key yang telah dihitung sebelumnya untuk setiap posisi. Dengan ini, pernyataan "ORDER BY" sederhana menentukan bagian dinding mana yang akan ditampilkan setiap frame.
Entitas Kunci: Perusahaan: Ars Technica | Orang: Lukas Vogel
Sumber: Ars Technica · Diringkas oleh HeadlinesBriefing