SQLDoom: Doom’un Tamamen SQL Veritabanında Çalıştırılması Mümkün Oldu
Lukas Vogel, yaklaşık 1.300 satırlık bir SQL sorgusuyla Doom’un oyun mantığını ve görüntü üretimini veritabanı içinde çalıştırarak, Ryzen 7 işlemcili bir dizüstü bilgisayarda saniyede 60 kareye ulaşan bir sistem ortaya koydu.
Geleneksel oyun motorları, grafik işleme ve fizik hesaplamalarını ayrı bir yazılım katmanında yürütürken, geliştirici Lukas Vogel, Doom’un tamamen bir SQL veritabanı içinde çalıştırılabildiğini gösteren çarpıcı bir prototip sundu. "SQLDoom" adı verilen proje, CedarDB adlı veritabanını yalnızca veri saklama alanı olarak kullanmakla kalmayıp, oyun mantığını yürütüp ekrana tam renkli 640×480 çözünürlükte görüntüler de üretiyor.
Projenin kalbinde, 89 ortak tablo ifadesi (CTE) üzerine yayılmış yaklaşık 1.300 satırlık bir SQL sorgusu bulunuyor. Bu sorgu, oyun dünyasının geometrisini, duvar, zemin ve tavan gibi yapı taşlarını ve oyuncunun konumunu veritabanı tablolarında tutuyor. Küçük bir Python istemcisi ise giriş‑çıkış ve ekran zamanlamasını kontrol ederek, veritabanından gelen verileri ekrana yansıtıyor. Sonuçta, arka tamponda saniyede 35 kare hızla görüntüler oluşturulabiliyor; yoğun sahnelerde ise bu oran 35 FPS’e kadar düşse de, Ryzen 7 işlemcili bir dizüstü bilgisayarda en yüksek 60 FPS’ye ulaşılabiliyor.
-
Yemek tarifleri
Malzeme listesi, adım adım yapılış, süre ve porsiyon bilgisiyle. Çorbadan tatlıya kategoriye göre gez ya da aradığını doğrudan ara.
Tariflere bak → -
Nasıl yapılır rehberleri
Telefon ayarlarından resmî işlemlere, hesap güvenliğinden günlük hayattaki küçük sorunlara: numaralı adımlar ve tahmini süreyle anlatılmış rehberler.
Rehberleri gör → -
Program arşivi
Tarayıcılar, güvenlik araçları, ofis ve medya yazılımları. Her kayıtta ne işe yaradığı, sürümü ve indirme bağlantısı.
Programlara göz at → -
Sesli ve görüntülü sohbet
Odalarda grup görüntülü sohbet, birebir sesli arama ve canlı yayın. Tarayıcıdan çalışır — eklenti, uygulama ya da kurulum gerekmez.
Odalara gir →
Vogel’ın bir önceki yılı hazırladığı DoomQL projesi, yalnızca gri tonlamalı ASCII grafiklerle sınırlıydı ve Wolfenstein 3D’ye benzer basit haritalar sunuyordu. SQLDoom ise orijinal Doom’un görsel kalitesine yakın, tam renkli ve yüksek çözünürlüklü sahneler üretebiliyor. Bu atılım, Doom’un WAD dosyalarının ilişkisel veritabanına aktarılmasının nispeten kolay bir adım olmasından kaynaklanıyor; haritaların köşe noktaları, çizgileri ve sektörleri doğrudan tablolara yerleştirilebiliyor.
Görüntü üretimini hızlandıran önemli bir teknik detay, yükleme sırasında önceden hesaplanan sıralama anahtarları. Bu anahtarlar sayesinde her karede hangi duvar bölümlerinin görünmesi gerektiği basit bir sıralama komutuyla belirleniyor. Zemin ve tavan kaplamalarında ise orijinal oyunun dinamik modellemeleri yerine, panellerin sıralı listesi üzerinden ilerleyen özel algoritmalar kullanılıyor. Bu yaklaşım, veritabanına veri yazma‑okuma yüküne rağmen yüksek kare hızları elde edilmesini sağlıyor.
SQLDoom’un sadece tek oyunculu bir deneyim sunmadığı, çok oyunculu sunucular açısından da potansiyel avantajlar taşıdığı belirtiliyor. Veritabanı tabanlı yapı, kararlı durum anlık görüntüleri ve eşzamanlı erişim yönetimi sayesinde fizik hataları ve veri tutarsızlıklarının önüne geçebiliyor. Projenin kaynak kodları açık olarak paylaşılmış; denemek isteyenlerin sadece CedarDB veritabanını kurmaları ve Doom’a ait WAD dosyalarını yanlarında bulundurmaları yeterli.
Bu deneysel proje, oyun geliştirme paradigmasının sınırlarını zorlayarak, veritabanı teknolojilerinin sadece veri depolama değil, aynı zamanda gerçek‑zamanlı işlem ve görselleştirme görevlerini de üstlenebileceğini gösteriyor. SQLDoom, hem geliştiricilere yeni bir düşünce biçimi sunuyor hem de gelecekteki oyun motorları için ilginç bir araştırma alanı oluşturuyor.