Jumat, 9 Oktober 2026 WIB
BREAKING
TEKNOLOGI

SQLDoom Jalankan Doom dari Basis Data, Capai 35 FPS

SQLDoom Jalankan Doom dari Basis Data, Capai 35 FPS
SQLDoom Jalankan Doom dari Basis Data, Capai 35 FPS

JAKARTA — SQLDoom memungkinkan permainan Doom berjalan sepenuhnya di dalam basis data, sebuah eksperimen yang menunjukkan bahwa kueri SQL dapat menangani logika sekaligus gambar permainan. Proyek pengembang Lukas Vogel ini menghasilkan 35 bingkai per detik dalam warna penuh pada resolusi 640×480, sementara skrip Python ringan mengurus waktu, masukan pemain, dan keluaran tampilan.

Dampaknya bukan sekadar Doom mendapat tempat baru untuk dijalankan. Eksperimen ini menguji batas peran basis data: CedarDB menyimpan geometri level dan keadaan permainan, sedangkan kueri SQL menjalankan proses inti yang biasanya ditangani mesin permainan.

SQLDoom mengubah cara Doom dirender

Vogel membangun SQLDoom setelah percobaan sebelumnya, DoomQL, belum memenuhi ambisinya. Proyek yang diluncurkan tahun lalu itu menggunakan teknik raycasting dan karakter teks abu-abu. Hasilnya lebih menyerupai Wolfenstein 3D daripada Doom.

Raycasting DoomQL melewati penelusuran BSP-tree, bagian yang membantu membedakan pendekatan rendering Doom. Vogel lalu mengembangkan versi baru dengan batasan yang lebih ketat: sistem rendering dan putaran permainan harus berjalan melalui SQL. Keluaran pun dibatasi pada tabel warna yang tepat atau bitmap.

“Merender Doom di dalam basis data jelas merupakan ide yang buruk,” kata Vogel dalam tulisan blog tentang proyek tersebut. Namun, tantangan teknisnya justru menjadi inti eksperimen. Ia harus membangun ulang bagian penting dari proses rendering Doom memakai operasi basis data, bukan kode mesin permainan konvensional.

Geometri level relatif mudah ditangani. Saat peta dimuat, sistem menghitung kunci pengurutan. Satu klausa pengurutan kemudian dapat menentukan bagian dinding yang digambar.

Lantai dan langit-langit jadi bagian tersulit

Permukaan lantai dan langit-langit lebih rumit. Mesin asli Doom menggunakan visplane dan perubahan keadaan, dua mekanisme yang tidak mudah dipetakan ke proses SQL yang menggambar kolom demi kolom.

Vogel mengganti sistem itu dengan metode yang ia sebut “cukup hacky”: mengulang rangkaian panel yang sudah diurutkan untuk mengisi permukaan. Pendekatan tersebut memperlihatkan bahwa port ini bukan sekadar menjalankan kode lama di lingkungan baru. Sebagian logika perlu dirancang ulang agar cocok dengan model kerja basis data.

Seluruh implementasi menggunakan sekitar 1.300 baris SQL yang dibagi ke dalam 89 blok kueri. Ada biaya tambahan dari pengelolaan tabel, tetapi Vogel melaporkan bahwa port baru ini tetap berjalan lebih cepat daripada DoomQL, versi sederhananya dari tahun lalu.

Di laptop dengan cip Ryzen 7 7840U, Vogel melaporkan performa sekitar 60 fps. Adegan yang ramai dapat menurunkannya menjadi 35 fps. Angka ini menunjukkan perbedaan antara hasil pada pengujian pengembang dan pengalaman bermain: beban visual tetap berpengaruh, sementara kinerja juga bergantung pada cara sistem mengelola data permainan.

Basis data sebagai demonstrasi, bukan mesin permainan baru

Nilai SQLDoom bagi industri lebih dekat ke demonstrasi teknis daripada tawaran pengganti mesin permainan. Pengembang biasanya memisahkan penyimpanan data dari proses menggambar dan memperbarui keadaan permainan. Vogel sengaja membalik pola itu untuk melihat seberapa jauh operasi basis data dapat mengambil alih pekerjaan tersebut.

Menurut Vogel, basis data menyimpan satu catatan keadaan permainan yang konsisten. Ia menilai pendekatan itu dapat menghindari pembaruan yang hanya diterapkan sebagian, bug fisika, atau perbedaan pendapat soal apakah roket benar-benar mengenai sasaran.

Klaim tersebut menjelaskan alasan teknis di balik eksperimennya, tetapi tidak berarti SQLDoom sudah menjadi solusi praktis bagi permainan komersial.

Proyek ini juga berfungsi sebagai demonstrasi CedarDB. The Register mencatat bahwa sistem basis data itu mengompilasi kueri kompleks menjadi kode mesin. Dengan begitu, SQLDoom sekaligus memperlihatkan bagaimana CedarDB menangani beban yang jauh berbeda dari pekerjaan basis data biasa.

Vogel menyebut proyek itu semula dimaksudkan sebagai demo teknologi. “Saya bermaksud membuatnya sebagai demo teknologi, tetapi rasanya seperti Doom yang sebenarnya, meski tidak berbagi satu baris kode pun dengan port Doom mana pun yang sudah ada,” ujarnya.

Mode multipemain tersedia secara daring

SQLDoom juga mendukung deathmatch. Server publik di Eropa dan Amerika Serikat tersedia untuk pertandingan daring, sedangkan pengguna dapat menjalankan kode GitHub secara lokal dengan CedarDB dan data WAD asli Doom.

Ulasan dari pihak yang mencoba demo daring menyebut performanya terasa lamban. Salah satu outlet menilai server, bukan port itu sendiri, mungkin menjadi penyebabnya. Perbedaan ini penting: hasil lokal yang dilaporkan Vogel tidak otomatis menggambarkan pengalaman bermain melalui server jarak jauh.

Bagi pembaca di Indonesia, proyek ini dapat dicoba lewat kode yang tersedia dan server daring, tetapi pengalaman multipemain bisa dipengaruhi lokasi server serta kondisi koneksi. Bahan sumber tidak merinci server di Indonesia, sehingga belum ada dasar untuk memastikan kualitas pertandingan dari sini.

Langkah berikutnya ada pada pengujian lebih luas: apakah pendekatan SQLDoom tetap terasa responsif ketika dimainkan melalui server publik, dan bagaimana CedarDB menangani adegan yang lebih berat. Untuk saat ini, Vogel sudah menunjukkan bahwa Doom dapat berjalan lewat kueri—meski ia sendiri mengakui gagasan itu bukan cara yang lazim untuk membuat permainan.

(AN)

📲
Ikuti JournalArta News di Telegram

Dapatkan berita terbaru Bangka Belitung & nasional langsung di Telegram Anda. Gratis, no spam.

💬 Follow @journalartanews →
Bagikan: Facebook Twitter Telegram

Artikel Untuk Anda

TRENDING Kode Redeem FC Mobile Terbaru Hari Ini 9 Oktober 2026: Klaim Pack & Coins Gratis