Geliştirici Lukas Vogel, Doom'u tamamen bir SQL veritabanında çalışacak şekilde uyarladı; oyunun mantığını ve görüntü oluşturma işlemini CedarDB sorguları yürütüyor. SQLDoom adlı proje, bölüm geometrisini ve oyun durumunu veritabanı tablolarında saklıyor. Hafif bir Python betiği ise zamanlamayı, girdileri ve görüntü çıktısını yönetiyor.
SQLDoom, yaklaşık 1.300 satır SQL kodunu 89 sorgu bloğunda kullanarak 640×480 çözünürlükte saniyede 35 tam renkli kare üretiyor. Vogel, Ryzen 7 7840U işlemcili bir dizüstü bilgisayarda hızın yaklaşık 60 fps'ye ulaştığını, yoğun sahnelerde ise 35 fps'ye düşebildiğini söylüyor.
Daha önceki DoomQL projesi, ışın izleme ve gri tonlu metin karakterleri kullanıyordu. Vogel, bu projenin Doom'un görüntüleme yaklaşımıyla ilişkilendirilen BSP ağacı dolaşımını atladığını söyledi ve bu nedenle ikinci bir sürüm geliştirdi. SQLDoom'da oyun döngüsünün ve görüntüleme sisteminin SQL üzerinden çalışmasını, çıktının da tam renkli tablolar veya bit eşlemlerle sınırlı olmasını istedi.
Vogel, proje hakkındaki blog yazısında Doom'u veritabanında görüntülemenin “açıkça kötü bir fikir” olduğunu söyledi. Doom'un özgün motorunda visplane'ler ve durum değişiklikleri kullanıldığı için zeminler ve tavanlar özellikle zorluydu. Vogel bu sistemi, yüzeyleri doldurmak için sıralanmış paneller dizisiyle değiştirdi ve yöntemi “oldukça yamalı” diye niteledi.
Port, Avrupa ve ABD'deki herkese açık sunucularla ölüm maçı modunu destekliyor. TechRadar'a göre deneme yapan yayınlar çevrimiçi demoları yavaş buldu; bir yayın sorunun porttan çok sunuculardan kaynaklanabileceğini öne sürdü. Kod, CedarDB ve Doom'un özgün WAD verileriyle yerel olarak çalıştırılabiliyor veya barındırılan bir maça katılınabiliyor.
Yorumlar
0Henüz yorum yok. İlk yorumu siz yazın.