Ara

Veritabanında Doom Oynamak Mümkün mü? Teknoloji Dünyası Bu Gelişmeyi Konuşuyor!

Bazen akla hayale sığmayacak projeler ortaya çıkar ve teknoloji dünyası bu yenilikleri konuşur. İşte bunlardan biri de bir SQL veritabanı üzerinde Doom oyununu çalıştırmak!

Bu projeye imza atan geliştirici, karmaşık bir SQL sorgusuyla Doom'un grafikleri ve oyun mekaniklerini bir veritabanı tablosuna aktarmayı başardı. Elbette bu süreçte küçük bir Python istemcisi devreye giriyor. Bu istemci, oyuncudan gelen komutları alıyor, oyunun zamanlamasını ayarlıyor ve ekran çıktısını yönetiyor. Temelde ise CedarDB adında bir veritabanı kullanılarak oyunun geometrisi ve anlık durumu takip ediliyor. Yaklaşık 1.300 satırlık SQL sorgusu ve 89 adet ortak tablo ifadesi (CTE) sayesinde, saniyede 35 kare hızında oyun görüntüleri oluşturulabiliyor.

Bu yeni proje, geliştiricinin önceki çalışmasına göre büyük bir ilerleme kaydedilmiş durumda. Daha önceki denemesinde, tamamen SQL tabanlı bir Doom benzeri nişancı oyunu yaratmayı amaçlamıştı. Ancak o çalışma, daha çok eski Wolfenstein 3D oyunlarındaki gibi basit 90 derecelik açılı haritalara benzeyen, ışın izleme temelli ve tek renkli ASCII grafiklerle sınırlı kalmıştı. Yeni SQLDoom projesi ise, orijinal Doom oyunundan fırlamış gibi duran, tam renkli ve 640×480 çözünürlüğünde kareler üretebiliyor.

Her Şey Veriyle Başlar

Geliştiricinin belirttiğine göre, Doom'un klasik WAD dosyalarını ilişkisel bir veritabanına dönüştürmek, oyunun seviyeleri köşe noktaları, çizgiler, sektörler gibi parçalara ayırması sayesinde oldukça basit bir işlem olmuş. Hatta Doom'un ünlü ikili uzay bölümleme ağaçları bile, her pozisyon için önceden hesaplanan bir sıralama anahtarı kullanılarak SQL'e aktarılabilmiş. Bu sayede, basit bir "ORDER BY" komutu ile hangi duvar parçalarının gösterileceği ve hangilerinin göz ardı edileceği belirlenerek performans büyük ölçüde artırılmış.

Ancak SQL tablosundan ekrana ilk kişi bakış açıları elde etme sürecinde bazı zorluklar da yaşanmış. Özellikle zemin ve tavanları oluşturmak için gereken algoritma, orijinal oyundaki sütun bazlı render işlemlerinden farklı bir yaklaşım gerektirmiş. SQLDoom için geliştirici, bu durumu "oldukça hileli" olarak tanımladığı ve panel sıralamaları üzerinde yinelemeler yaparak bir çözüm bulmuş.

Tüm verilerin SQL tablolarından okunup yazılmasından kaynaklanan ek yüklemelere rağmen, geliştirici SQLDoom'u güçlü bir işlemciye sahip bir dizüstü bilgisayarda yaklaşık 60 FPS hızında çalıştırabildiğini belirtiyor. Yoğun sahnelerde bu değerin zaman zaman 35 FPS'ye düştüğü de ifade edilmiş. Tüm bu zorluklara rağmen, veritabanının sunduğu kararlı "referans anlık görüntü" özelliği ve eşzamanlılık ile erişim yönetimi imkanları, özellikle çok oyunculu sunucular için önemli avantajlar sağlıyor. Geliştiriciye göre, veritabanı kullanıldığında "yarım uygulanmış güncellemeler, fizik hataları veya roketin gerçekten çarpıp çarpmadığına dair anlaşmazlıklar" olmuyor.

Kendi bilgisayarınızda bir Doom veritabanı çalıştırmak isterseniz, projenin GitHub kod deposu, CedarDB'nin bir kopyası ve bir Doom WAD dosyası ile bunu kolayca yapabilirsiniz. Alternatif olarak, kurulumla uğraşmadan çevrimiçi olarak sunulan ücretsiz demo maçına katılarak da oyunu deneyimleyebilirsiniz. Ve bittiğinde, teknoloji dünyasının daha önce ele aldığı diğer ilginç Doom portlarını da inceleyebilirsiniz.

Önceki Haber
Tarla ve Güneş Enerjisi Tek Çatı Altında: Çiçek Açan Renkli Güneş Panelleriyle Tanışın!

Benzer Haberler: