Ana içeriğe geç
Oyun

Lise öğrencisi sıfırdan açık kaynaklı 3D oyun motoru geliştirdi

Öne çıkanlar

  • Proje yaklaşık 100 bin satır C# kodundan ve özel OpenGL işleyicisinden oluşuyor.
  • Çöp toplayıcı etkisini azaltmak için yığın tabanlı özel bellek ayırıcılar kullanıldı.
  • Dünya haritası dosya kaydetmek yerine tohum değerine bağlı prosedürel algoritmalarla anlık üretiliyor.

Geliştirici Maxi Levi, lise yıllarında OpenGL öğrenmek amacıyla başlattığı Project Hedra adlı projesini açık kaynak olarak paylaştı. Yaklaşık 100 bin satır kod içeren yapım, prosedürel olarak üretilen sonsuz dünyalara sahip bir açık dünya rol yapma oyununa ve bağımsız bir oyun motoruna dönüştü. Proje, harici ticari motorlara ihtiyaç duymadan doğrudan C# ve modern OpenGL mimarisi üzerinden çalışıyor.

Sistem, voksel tabanlı arazileri sürekli yüzeylere dönüştürmek için Marching Cubes algoritmasını kullanıyor. Bellek yönetimini optimize etmek amacıyla C# tarafındaki çöp toplayıcı yükünü azaltan özel bellek ayırıcılar barındırıyor. Tüm dünyanın çizim sürecini üç çağrıya kadar indirebilen motor; yansımalar, ortam örtmece, parçacık efektleri, gölgelendirmeler ve Bullet Physics tabanlı fizik hesaplamalarını yerel bileşenlerle yönetiyor.

Oyun mekanikleri, IronPython desteği sayesinde Python betikleriyle modlanabilen bir yapı sunuyor. Dokusuz modeller için metin tabanlı PLY ve DAE biçimlerini ayrıştıran sistem, Linux ve Windows platformlarında yerel olarak derlenebiliyor. Projede ayrıca binin üzerinde birim test ve Steam entegrasyonu için sürekli entegrasyon iş akışları bulunuyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.