Seorang developer telah mendorong teknologi database hingga batasnya dengan menciptakan DOOMQL, sebuah game first-person shooter multiplayer yang sepenuhnya fungsional dan berjalan seluruhnya dalam database SQL. Proyek ini menggunakan CedarDB untuk menangani segala hal mulai dari logika game dan pergerakan pemain hingga rendering 3D melalui query SQL yang kompleks.
Arsitektur Teknis:
- Database: CedarDB (kompatibel dengan PostgreSQL HTAP)
- Rendering: tampilan SQL dan kueri rekursif
- Game loop: skrip Python (50-100 baris)
- Client: antarmuka berbasis terminal
- Multiplayer: transaksi SQL untuk sinkronisasi state
![]() |
---|
Karakter unik yang mewakili semangat inovatif di balik pembuatan DOOMQL, sebuah game tembak-menembak multiplayer dalam database SQL |
Komunitas Memperdebatkan Klasifikasi Game dan Pencapaian Teknis
Komunitas gaming telah memicu perdebatan menarik tentang apakah DOOMQL harus disebut sebagai klon DOOM atau lebih tepat dilabeli sebagai game bergaya Wolfenstein 3D. Diskusi ini berpusat pada perbedaan teknis antara shooter klasik ini, dengan banyak yang menunjukkan bahwa gameplay berbasis grid tanpa tekstur lebih mirip dengan Wolfenstein 3D yang lebih awal daripada engine DOOM yang lebih canggih.
Perdebatan klasifikasi ini menyoroti seberapa jauh kita telah berkembang dari awal 1990-an, ketika perbedaan-perbedaan ini sangat penting bagi para gamer. Percakapan ini juga mengungkap sifat mengesankan dari pencapaian tersebut - terlepas dari game retro mana yang paling mirip, mengimplementasikan shooter 3D apa pun sepenuhnya dalam SQL merupakan prestasi teknis yang luar biasa.
Fitur Game:
- Rendering raycasting 3D melalui SQL
- Dukungan multiplayer real-time
- Pergerakan pemain dan deteksi tabrakan
- Fisika peluru dan sistem damage
- Tampilan HUD dan minimap
- Sistem cheat melalui perintah SQL langsung
Implementasi Multiplayer Mengejutkan Para Developer
Yang membuat DOOMQL berbeda dari eksperimen gaming database sebelumnya adalah kemampuan multiplayernya. Pencipta DuckDB-DOOM yang asli bahkan ikut berkomentar untuk memuji kemajuan ini, mencatat bagaimana penambahan multiplayer gaming membawa konsep ini ke tingkat kompleksitas yang sama sekali baru.
Sistem multiplayer bekerja melalui transaksi SQL sederhana, di mana setiap aksi pemain diproses sebagai update database. Pendekatan ini secara alami menangani aspek-aspek menantang dari multiplayer gaming, seperti mempertahankan state game yang konsisten di seluruh klien dan mencegah konflik antara aksi pemain yang simultan.
![]() |
---|
Sosok imajinatif yang mencerminkan eksplorasi gaming multiplayer kompleks dalam DOOMQL sebagai pencapaian teknis yang signifikan |
Hasil Performa Melampaui Ekspektasi
Berjalan pada resolusi 64x64 piksel, DOOMQL mencapai sekitar 60 frame per detik pada hardware standar. Setiap render frame membutuhkan sekitar 1,55 milidetik, yang mengejutkan cukup kompetitif untuk sistem yang berjalan sepenuhnya melalui query database. Algoritma raycasting, yang diimplementasikan menggunakan query SQL rekursif, menangani pipeline rendering 3D yang biasanya memerlukan pemrograman grafis khusus.
Ini adalah pencapaian yang sangat keren. Sebagai penggemar shooter awal, saya bertanya-tanya apakah adil menyebutnya mirip Doom.
Keberhasilan performa telah membuat beberapa developer mempertimbangkan apakah database bisa menjadi platform yang layak untuk jenis-jenis game multiplayer tertentu, terutama yang memiliki persyaratan grafis lebih sederhana atau mekanik berbasis giliran.
Spesifikasi Performa:
- Resolusi: 64x64 piksel
- Frame rate: ~60 FPS
- Waktu render per frame: 1,55 milidetik
- Frekuensi game loop: 50-100 kali per detik
- Waktu eksekusi game loop: ~1 milidetik
![]() |
---|
Karakter yang menyenangkan yang menggambarkan pencapaian fun dan inovatif DOOMQL dalam meraih metrik performa yang mengesankan |
Cheating Menjadi Bagian dari Desain Game
Salah satu konsekuensi tak terduga dari membangun game dalam SQL adalah bahwa pemain yang paham teknologi dapat melakukan cheat dengan langsung mengeluarkan perintah database. Alih-alih melihat ini sebagai kelemahan, developer telah merangkulnya sebagai metagame yang muncul di mana cheating kreatif menjadi bagian dari pengalaman.
Pemain dapat memodifikasi kesehatan, posisi, atau atribut game lainnya dengan menjalankan perintah SQL langsung terhadap database. Ini menciptakan dinamika menarik di mana pengetahuan pemrograman menjadi elemen gameplay, meskipun juga menimbulkan pertanyaan tentang keadilan kompetitif dalam skenario multiplayer.
Proyek DOOMQL mendemonstrasikan bagaimana developer kreatif terus menemukan cara baru untuk mendorong batas-batas teknologi. Meskipun menjalankan shooter dalam database mungkin tidak praktis untuk pengembangan game komersial, ini menunjukkan fleksibilitas sistem database modern dan memberikan wawasan berharga tentang pendekatan alternatif untuk arsitektur game multiplayer.
Referensi: Building a DOOM-like multiplayer shooter in pure SQL