HN Açık: Tramway SDK – Half-Life ve Morrowind Oyun Motorlarının Tuhaf Birleşimi
(racenis.github.io)-
Tramway SDK Tanıtımı
- Tramway SDK, son 3 yıldır geliştirilen bir grafik paketi/çerçeve/oyun motorudur.
- Anaakım motorlarla karşılaştırıldığında Tramway SDK'nin avantajları açıklanıyor.
-
Turbobloat Sorunu
- Unity ve Godot gibi anaakım motorlar güçlü donanım gerektirir.
- Tramway SDK, 15 yıl önceki donanımlarda bile çalışabilir ve grafik kartı olmadan yazılımsal rasterizasyon kullanabilir.
-
Donanım Yükseltmenin Sorunları
- Birçok kişinin yeni donanım satın almaya bütçesi yok.
- Bilgisayar çipi üretimi çevreye zararlı.
- Mevcut donanımınız zaten iyi çalışıyorsa, yeni bir bilgisayar almanıza gerek yoktur.
-
Düğüm Tabanlı Sistemlerin Sakıncaları
- Düğüm tabanlı sistemlerde, tek bir düğüm birden fazla şeyi tek bir bileşenmiş gibi ele alır.
- Tramway SDK'de önce kodu yazdıktan sonra varlık sınıflarını alt sınıf yapıp seviye editörüyle seviyeler oluşturuyorsunuz.
-
Monolitik Mimari Sorunu
- Anaakım motorlar monolitik bir oyun editörüne sahiptir.
- Tramway SDK ise isteğe bağlı editörler sunar; yalnızca C++ runtime veya yalnızca seviye editörünü kullanabilirsiniz.
-
Grafik Kalitesi
- Tramway SDK, yalnızca ışık haritalama (lightmapping) ve Gouraud gölgelendirme ile bile kaliteli grafikler sunar.
-
Fırça Tabanlı Seviye Düzenleme
- Tramway SDK, bir .map dönüştürücüsüyle fırçaları üçgen mesh'e dönüştürebilir.
- Trenchbroom harita editörü ile Tramway SDK seviye editörü birlikte kullanılarak seviye üretilebilir.
-
RPG Çerçevesi
- RPG Maker'a benzer bir RPG çerçevesi sunar ve açık dünya RPG oyunu geliştirmeyi destekler.
-
Sonuç
- Tramway SDK, Quake/Source tarzı varlık tabanlı bir oyun motorudur ve açık dünya akışına (streaming) destek verir; ayrıca RPG çerçevesi gibi isteğe bağlı eklentiler sunar.
- API'si hâlâ olgunlaşmamış, birçok özellik henüz uygulanmamış olsa da hızlıca gelişmektedir.
1 yorum
Hacker News yorumları
Godot motorunu kullanarak düşük özellikli poligon oyunları yapan küçük bir ekipte çalışan biri olarak bu projenin çok havalı olduğunu düşünüyorum. Düğüm tabanlı GUI ile kod arasında geçiş yapılabilmesi ihtiyacını paylaşıyorum. Entegre bir IDE, geliştiriciler arasında birleştirme çatışmalarını kolayca tetikleyebileceği için belirli bir amaca odaklı düzenleyici kullanımı yardımcı olabilir.
Daha iyi bir bilgisayar alınmalı diyen görüşe itirazımın nedeni, birçok insanın ekonomik olarak zor durumda olması nedeniyle yeni bir donanım edinememesi, bilgisayar çipi üretiminin çevreye zararlı olması ve zaten iyi çalışan bir bilgisayar varken yenisini almaya gerçekten gerek olmaması.
Oyun motoru kalitesinin zamanla düştüğüne dair dışsal etkenler olduğuna inanmaya başladım. Node tabanlı editörler (Unity gibi) eğitim için iyi; birçok amatör geliştirici sadece Unity/Unreal'i biliyor, bu yüzden şirketler de bunları tercih ediyor. Unity, müşterinin gereksinimlerine göre motorunu uyarlamak zorunda kaldığından "turbobloat" oluşuyor.
Half-Life ve Morrowind motorları tutkulu programcılarca geliştirildiği için asgari bir motor ve mükemmel teknoloji sunuyor. Bu proje raylib ile Unity arasında bir yerde; amatör programcılar için cazip gelmeyebilir ama performansı güçlü ve iyi tasarlanmış.
"A thing should be a thing" cümlesi gerçekten etkileyici ve Terry Pratchett'in tarzını hatırlatıyor. Yapay zeka projelerinde kullanılabilecek fikirler veriyor.
Turbobloat sorununa tamamen katılıyorum. Modern makineler çok daha güçlü ama programlar yine de yavaş kalıyor gibi hissediliyor. Projenin ve web sitesinin tasarımı gerçekten çok iyi.
Çoğu Unity oyunu, ileri seviye shader ve teknikler kullansalar da iyi görünmüyor. Bazı doku eşleme teknikleri kaybolmuş ve Ikaruga gibi oyunlar harika bir arka plan sunuyor.
Half-Life 2'yi yakın zamanda yeniden oynadım, yüksek çözünürlüklü doku paketleri olmadan bile hâlâ çarpıcı görseller sunuyor.
"Turbobloat" ve motorların "şişkin" olma durumu hakkında daha fazla konuşulması gerekiyor: Tramway projesinde hangi özelliklerin çıkarıldığını netleştirin.
C++ konusunda rahat olmayan yeni başlayanlara yönelik bir çerçeve kullanımını anlatan makale için teşekkürler; öğretici hem eğlenceli hem de erişilebilir.
3D grafik ve bilim projeleri için bir motor oluşturma deneyimimden yola çıkarak yüksek çözünürlük ve dinamik aydınlatmayı uygulamada ne tür engeller olduğunu merak ediyorum. Vulkan/Dx/Metal/OpenGL ile minimum bir piksel ve fragment shader çiftini kullanarak da uygulanabilir.