PC Oyunlarında Felaket: Geliştirme Sürecinin Zorlukları ve Shader Stutter Sorunu
PC oyunlarında felaket mi? Geliştirme sancıları ve shader stutter sorunu, oyun dünyasının komik ama acı gerçekleriyle yüzleşiyor!
5 saat önce

Ah, PC oyun dünyası… Hani derler ya, bazen çok şükür ki deniz severiz! Fakat son zamanlarda çıkan oyunlara bakıldığında, denizin dibine dalmaktansa yüzmek, hatta yürüyerek geçmek daha mantıklı! Gotham Knights, The Callisto Protocol, Wild Hearts, The Last of Us Part I, Star Wars: Jedi Survivor ve Redfall gibi oyunlar, PC’de ciddi birer felaket haline gelmiş durumda. Bu oyunların çoğu, en güçlü ekran kartlarına sahip kullanıcılar için bile 60 FPS alma şansını elinden almış durumda. Hatta bazen ekran görüntüleri o kadar kötüleşiyor ki, “Takılıp kalma, bazen sadece seçim yapmak zorundasın” felsefesiyle yola çıkan oyunseverler için oyun birer kâbus haline geliyor. Böyle bir durumun pek çok sebebi var, ancak bunun yalnızca “Firmalar açgözlü” diye ifade edilemeyecek kadar karmaşık olduğunu vurgulamam lazım!
Oyun geliştirmenin ne kadar zorlu bir süreç olduğunu anlamak için, işin içine biraz daha derinlemesine bakmak gerekiyor. Her oyunun aynı geliştirme sürecine tabi olmadığını söylesem, muhtemelen kafalarınız karışacak ama aslında bu, işin temelini oluşturuyor. Bazı firmalar, PC’yi ana platform olarak seçip, oyunlarını ilk önce burada geliştirirken, diğerleri tam tersi hareket eder. Konsollara önce uyum sağlama eğiliminde olan bu firmalar, günümüz AAA oyunlarının genelde böyle gelişmesine neden oluyor; zira konsollar sabit bir donanım sunuyor. Tek bir sistem üzerinden geliştirme yapmak, geliştiricilere bir çeşit konfor alanı sağlar. Ancak PC’nin sunduğu donanım çeşitliliği, geliştiriciler için ciddi bir çile haline gelir. Her bir kombinasyon için ayrı optimizasyon ve emek gerektirir.
Yetersiz Vizyon
Geliştirme sürecinin kabusuyla uğraşırken, bir de “Vizyon sancıları” bölgelerinde kayboluyoruz. Birbirinden bağımsız çalışan bu donanımların olduğu bir dünyada, oyunun her elementinin nasıl görüneceğini hesaplamak için, “shader” belasıyla uğraşmamız gerekiyor. Çok sayıda programcının açıklamasıyla, shader; ekran kartında çalışan ve oyunun nesnelerinin nerede ve nasıl görüneceğini belirleyen bir yazılım. Yani aslında biraz da matematikten kaçmak değil, matematikten korkmamak üzerine inşa edilmiş bir sistem olarak ele alabiliriz. Konsollar gibi sabit bir donanımda geliştirme yapıyorsanız, bu shader hesaplamalarını oyunun dosyalarına dahil edebilirsiniz. Ancak PC dünyasında bu hesaplamaları önceden yapmak mümkün değil. Yani, anlık takılmalara maruz kalmak da kaçınılmaz bir sonuç oluyor.
Shader Stutter’a Karşı
Bu arada, “Shader stutter” diye bir durum var ki, tam anlamıyla PC dünyası için felaket! Unreal Engine 4 oyunlarında özellikle yaygın olan bu durum, işlemcinin o kadar çok shader hesaplaması yapmasından kaynaklanıyor ki, ekran kartı sahneyi yenileyemiyor, oyuncular takılmalar yaşamak zorunda kalıyor. Sonuç? Ekranın karşısında oğlum amca gibi beklemek ve “utanç verici” anlar yaşamak. Tam bu noktada, çoklu çekirdek kullanımı devreye girmekte. Yeni nesil konsollarda artık çoklu çekirken, PC’ler de çağın gerisinde kalıyor gibi görünüyor. İşlemcinin sadece belirli bir yüzdesi çalışır hale geldiğinde, işler sarpa sarıyor. Grafik harikası bir oyunu, stand-up komedyeni gibi bir hale getirmek pek akıllıca değil, öyle değil mi?
Bunun üstüne bir de RAM yapısı eklenince, işler iyice çığırından çıkıyor. Konsollardaki tek bir RAM alanı, PC’de bir sürü karmaşık hafıza yapısına dönüşüyor. Örneğin, PC’lerin RAM’i ile VRAM’i arasında sürekli bir çatışma var. Kısaca, bir PC’de hafıza konusunun karmaşıklığından faydalanmak istiyorsanız, kodları buna uygun bir şekilde yazmış olmalısınız. Kimse eline bir şamar yemek istemiyor, değil mi? Dolayısıyla her aşama size; zaman ve para! Bu da oyunun seviyesini düşüren bir yapı kazandırıyor. İşte burada, PC portlarının şanssız kaderi resmen ortaya çıkıyor.
Yazılımsal Kaos
Ayrıca, yukarıda bahsedilen API’ların bu optimizasyonları sağladığını unutmamak lazım. API’lar, geliştiricilerin donanımları daha rahat yönetmelerini sağlayan yazılımlar olması sebebiyle oldukça önemlidir. Grafik programlama alanında Windows’ta DirectX, OpenGL, Vulkan gibi çeşitli seçenekler bulunuyor. Ama her yeni sürümde aradaki farklar da maalesef korkutucu! Düşünün bir kere, bir AAA oyunun geliştirilmesi ortalama 5 yıl sürerken, NVIDIA’nın 2 jenerasyon ilerlemesi, geliştiricileri kaygıya sürüklüyor ve sonunda acı bir sona yol açıyor. Geçmişte yaşanan birçok kötü PC portunun tekrar edilip edilmediği sorusu, herkesin kafasında beliren bir kaygı haline geldi.
Sonuç olarak, bu talihsiz PC portlarının aslında bir yenilik olduğu anlaşılabilir. Belki de gelecekte bu sorunların azalması için ulusal düzenlemelere, hatta bir tür oyun geliştirme kurallarına ihtiyaç duyarız. Zira bu kadar problemli portların sürekli yaşanması, tüketiciye hakaret olarak kabul edilebilir. Gerçekten, bu oyunların yaşadığı zorluklar gülünç derecede fazla, belki de biz oyuncular bir gün sabırlı olup kıyameti beklerken sadece kahkahalarla bu durumu geçiştireceğiz!
Henüz yorum yapılmadı, ilk yorumu sen yapmak ister misin?