Farming Simulator 25 – Gerçekçi Arazi Deformasyonu Nasıl Çalışıyor?

0

Farming Simulator 25 – Arazi Deformasyonu Nasıl Çalışıyor?

Giants Software, Farming Simulator 25 ile seriye yıllar sonra nihayet gelen arazi deformasyonu özelliğinin nasıl çalıştığını anlatıyor. Serideki en büyük eksikliklerden olan gerçekçi zemin deformasyonu FS 25’in en büyük yeniliklerinden oldu. Araçların lastiklerinde kalan çamur topaklarını da daha iyi hale getiren oyun 12 Kasım’da çıkacak.

GIANTS Software’da 12 yıldır çalışan Kıdemli Programlama Mühendisi Eddie Edwards, bu yeni teknoloji ile ilgili detayları aktarıyor. Density Map daha iyi hale getirilirken yeni arazi geometri sistemi ve arazi sanal dokulama(texture) sistemi oyun motoruna kazandırılıyor. Bu özellik sayesinde lastik izlerimiz artık arazi 3D görünebiliyor. Çeşitli videolarda bu derinliğin epey arttığını ve yağmurlu hava ile tarlanın ıslak oldu zaman harika göründüğünü göstermişlerdi. Tarlalar sabanla sürülürken çok daha gerçekçi duracak.

 

Giants ekibinin röportajı; (Bazı kelimeler veya cümleler tarafımızdan anlaşılabilmesi için sadeleştirildi.)


Eddie, öncelikle kendinden ve pozisyonundan bahseder misin? Takımdaki görevin nedir?

Ben, Farming Simulator için Kıdemli Oyun Motoru Programcılarından biriyim. GIANTS’ta FS13’ün ilk günlerinden beri çalışıyorum. Orijinal PlayStation 3 portunu oluşturdum ve GIANTS Engine’i PS4, PS5, Switch ve iOS’a taşımaktan sorumlu oldum. Şirkette “PlayStation adamı” olarak tanınıyorum, ama aynı zamanda Density Maps (Yoğunluk Haritaları), rendering (görüntüleme), shader compiler (gölgelendirici derleyici), bazı fizik, ses gibi platformlar arası motor teknolojileri üzerinde de çalışıyorum. Son 12 yıl içinde GIANTS Engine’de üzerinde çalışmadığım pek bir şey kalmadı! Özellikle, FS25 için zemin deformasyonunu sağlayan yeni teknolojileri; geliştirilmiş Density Map(Yoğunluk Haritası) sistemi, yeni arazi geometri sistemi ve arazi sanal dokulama sistemini yarattım.

 

Arazi zemin nasıl deforme oluyor?

Farming Simulator 25’te zemin tipi, deformasyon ve sıkıştırma faktörlerine göre farklılık gösteriyor.

Zeminin deformasyonunu hangi faktörler belirler?

Eddie: Birçok faktör bunu etkiler. İlk olarak, her zemin türü farklı bir “Firmness/Sıkılık” ve “Viscosity/Viskozite” seviyesine sahiptir. Örneğin, asfalt hiç deforme olmazken, çamur çok fazla deforme olur (farklı “firmness/sıkılık” seviyeleri nedeniyle), karda sürerken yüzey hemen ezilirken, çamurda yavaşça sıkışır (farklı “viskozite” seviyeleri nedeniyle). Ayrıca, zemin ıslaksa bu da deformasyonu etkiler. Kullandığınız aracın ağırlığı ve lastik genişliği de zeminin tepkisini etkiler. Yavaş hareket eden bir araç, hızlı hareket eden bir araçtan daha hızlı batacaktır.

Viscosity için akma direnci, akışmazlık, akışa direnç gibi kelimelerle ifade edebiliriz.

Zemin deformasyonu oyun oynanışını nasıl etkiliyor? Oyuncular ne “hissedecek”?

Farming Simulator 25 (FS 25) ilk defa zeminden gerçek bir fiziksel yanıt almanızı sağlıyor. Traktör arazide yani zeminde hareket ettiğini hissedecek, çukurlar ve izler bıraktığını göreceksiniz. Tekrar üzerinden geçerseniz bu izlerin etkisini de hissedeceksiniz. Ayrıca zemine battıysanız yönlendirmek zorlaşır, tıpkı gerçek hayattaki gibi. Yağmurda sürmek, güneşli bir günde sürmekten daha zor olacaktır. Lastik konfigürasyonu da daha büyük bir etkiye sahip ve farklı mevsimler ile farklı tarla işleri için hangi lastiklerin en iyi olduğunu düşünmeniz gerekebilir.

Lastikte sıkışan çamurlar zamanla kuruyor ve lastik üzerinde kalmaya devam ediyor. Eğer yağmur yağarsa aracın genel kiri yıkansa da çamurlar lastik dişlerinin arasında kalıyor. Lastikler ve paletler için kirlenme sistemine ek olarak çamurların birikmesi sistemi çok iyi olmuş.

Pullukla sürmenin keyfi

Toprak deformasyonu makineler, ağırlıkları ve diğer koşullara göre bireysel olarak şekillense de Farming Simulator 25’te özellikle bir tarla etkinliği oldukça farklı hissettirecek.

Zemin deformasyonunu en iyi hangi makineler veya ekipmanlar gösterecek?

Tarla sürme artık yeni bir deneyimdir. Pullukla sürerken gerçek fiziksel oluklar oluşuyor. Bu sadece ekranda daha net görülmekle kalmıyor, aynı zamanda traktörü sürerken de etkiliyor. Ayrıca paletli makineler, engebeli zemini daha iyi yönetebildikleri için daha ön plana çıkıyor.

Yukarıda yeni arazi geometri sistemine ait bir görüntü bulunuyor. Oyundaki arazimiz artık bu şekilde gösterilecek. Mesh sistemi daha da büyütüldüğü için arazinin her noktası deforme oluyor.

Performans, görseller ve zorluklar

Zemin deformasyonunu uygulamada teknik zorluklar nelerdi?

Zemin deformasyonu 12,5 cm’lik bir ızgara boyutunda(grid size) çalışıyor ve bu da 2 km’lik bir harita için 16K x 16K olarak hesaplanıyor (yani haritanın kendisi sadece 4 megapiksel iken 256 megapiksel oluyor). Bu veriyi verimli bir şekilde saklamak ve araçların geçtiği ince ölçekli çıkıntılar ve tümseklerle etkileşime girmesi durumunda veriyi işlemek gibi örneğin kültivatörler veya pulluklar tarlada çalışırken bu gibi durumlarda çeşitli teknik zorluklar vardı. Ayrıca arazinin görüntülerle texture-mapped/doku eşleşmesine benzer bir şekilde geometriyle eşlenen “prosedürel” bir zemin deformasyonu seviyesi vardır. Ancak daha hızlı GPU yerine CPU’da çalışır ve bu nedenle kodlarını büyük ölçüde optimize etmek zorunda kaldık.

Zemin deformasyon verileri nasıl saklanıyor ve yönetiliyor?

Yüksek çözünürlüklü zemin deformasyonu nedeniyle, deformasyon bulunmayan bölgelerde (örneğin, kayalık dağlarda veya oyuncunun henüz gitmediği yerlerde) belleği tasarrufu yapmak istedik. Bu yüzden Density Maps/Yoğunluk Haritalarının “sparse” bir sürümünü oluşturduk. Bu yalnızca deformasyonun gerçekten var olduğu bölgelerde veri parçacıklarını saklıyor. Ayrıca bellek ayak izini daha da azaltmak için geçmişte kullandığımız mevcut Density Maps sıkıştırmasının daha gelişmiş bir versiyonu kullanılarak harita tile/karoların tümü sıkıştırıldı. Bu yüksek çözünürlüklü veride hızlı işlemleri desteklemek için CPU üzerinde çalışan küçük bir GPU emülatörü gibi olan kısa adı DPU olan Density Map Processing Unit (Yoğunluk Haritası İşlem Birimi) geliştirdik. Bu işlemci, Density Maps yani Yoğunluk Haritaları üzerinde önceki hızlardan çok daha yüksek hızlarda işlemler yapabiliyor. Bu özellik henüz FS 25’te kullanılmasa da, aslında şirket içi shader/gölgelendirici dilimiz kullanılarak programlanabilir.

Sparse; aralıklı, seyrek anlamına geliyor.

Bu sistemin tamamı (veri sıkıştırma, DPU işlemleri ve prosedürel üretim), SIMD yerel komutlarını kullanarak yazılmıştır (PC ve konsollarda SSE4.1 veya AVX2, ARM tabanlı Mac’lerde NEON). Bu sürümde, Farming Simulator’da şimdiye kadar hiç olmadığı kadar çok SIMD optimize edilmiş kod bulunuyor.

SIMD; Single instruction, multiple data yani tek bir komut ile birden fazla çoklu veriyi paralel olarak işleyip yönetmek için kullanılıyor.

 

Deformasyon fiziğini performans için nasıl optimize ettiğinizi anlatır mısın?

Eddie; Önceki Farming Simulator sürümlerinde özel araç fiziği 0,5m çözünürlükte araziyle etkileşime giriyordu. Arazi deformasyonu ve displacement/yer değiştirme ile birlikte çözünürlük şimdi 0,125 m(12.5cm) – her yönde 4 kat daha yüksek, yani 16 kat daha fazla üçgen(triangle) kullanılıyor. Bu durum tekerlek ve arazi çarpışma algılamasını 16 kat yavaşlattı. Bu nedenle FS25 için eski koda kıyasla yaklaşık otuz kat daha hızlı olan özel bir uygulama yazdık. Böylece tüm yeni özelliklerle birlikte genel araç fiziğimiz şimdi öncekine göre yaklaşık iki kat daha hızlı hale geldi.

Yeni fizik kodu oldukça yoğun matematik ve sayısal analiz gerektiriyordu. Neyse ki Matematik alanında yüksek lisans derecem var ve bu da bu görevde bana çok yardımcı oldu!

Zemin deformasyonu oyun içinde nasıl görsel olarak değişiyor?

FS 25 için bir diğer yeni özellik ise oyuncuya yakın alanlarda yüksek çözünürlükte üçgen(triangle) çizim sağlayan ancak uzakta daha düşük çözünürlük kullanan bir arazi dörtgen ağıdır. (terrain quadtree mesh). Geometri, oyuncudan biraz uzakta deforme olmuş halden deforme olmamış hale yumuşak bir şekilde dönüşür. Ancak, FS 25’teki bir başka yeni teknoloji olan terrain virtual texture system/arazi sanal doku sistemi nedeniyle bu geçiş oldukça iyi gizlenmiştir. Deformasyon uzak mesafelerde üçgenler(triangles) kullanılarak render edilmese de, yine de shaded/gölgelendirilmiş ve arazi dokusuna işlenmiştir (normal mapping adı verilen bir grafik tekniği kullanılarak). Bu nedenle, render edilen üçgen(triangle) sayısının çok düşük olduğu uzak alanlarda bile deformasyon net bir şekilde görülebilir ve AI araçlarının bıraktığı izleri yarım kilometre uzaktan izliyor olsanız bile görebilirsiniz!

Böylece deforme olmuş geometri bu sayede yüzlerce metre uzaklıkta olduğunda render edilmiyor. Deformasyonun çok uzaktaki alanlarda bile açıkça görülebilmesi için ise arazi dokusuna render ediliyor.

Oyundaki zemin deformasyonuyla ilgili kişisel olarak en çok neyi seviyorsunuz?

Zemin deformasyonunu oyuna eklemek tatmin ediciydi. Hem daha iyi bir görsel deneyim sunuyor hem de fizik ve oynanış ile etkileşime geçerek FS 25’i daha önce hiç olmadığı kadar ilginç ve gerçekçi bir simülatör yapıyor!”

 

25 saniyelik kısa tanıtım videosu

 

 

SimülasyonTÜRK

CEVAPLA

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz