Bir oyun motorunda ileri teknolojileri kullanmamak için seçenekler eklemek için bir neden var mı?


22

Bir oyun motoru geliştiriyorum ve anizotropik filtreleme, ortam tıkanması, kenar yumuşatma, vb. Gibi oyun teknolojilerini keşfedip okudum.

Genellikle oyunlarda, bu ayarları açıp kapatabilirsiniz. Bununla birlikte, bu ayarlar yalnızca pozitif olanlardan başka bir şey eklemezse, geliştirici için bir oyun motorunda bunlar için geçiş değerleri eklemek için bir neden var mı?

Performansın önemli bir faktör olduğunu biliyorum, ancak bu ayarların her zaman değiştirilmesinin başka bir nedeni var mı?


69
Performans tek başına yeterli bir neden değil mi? Bir oyuncunun donanımı oynanabilir bir kare hızında tüm bu özellikleri destekleyemiyorsa, bu tek başına bazılarını devre dışı bırakmalarına izin vermek için zorunlu bir neden gibi görünür.
DMGregory,

3
Eğer donanımınız bazı etkilerin üstesinden gelemiyorsa, dediğiniz gibi hiç de olumlu değiller ... Motorunuzun ne yapabileceği ve yapamayacağı konusunda esnek davranarak, daha fazla insan oyunlarınızı oynayabilir / motorunuzu kullanabilir. Grafikleri düşürmek ancak ana oyunu emin tutmak bazı insanlar için kullanışlıdır.
rlam12

3
Quake, dokuları ve grafikleri en bariz şekilde neredeyse tamamen devre dışı bırakma seçeneğine sahipti, böylece yalnızca çekirdek oyun öğeleri mümkün olduğu kadar hızlı hale getirilebildi, bu da görseller pahasına en yumuşak oyunu sundu. Bunun için çok iyi bir sebep olduğu kesindi.
user1306322

9
Görüntü sallama ve hareket bulanıklığı anlamıyla bazı oyunlarda beni hasta edebilir. Açıkçası pek çok insan iyi olduklarını düşünüyor, çünkü hemen hemen her oyunda açık görünüyorlar, ancak onları kapatmak için bir seçenek vermediyseniz, oyununuzu kötü bir inceleme ile geri gönderirim.
Patrick M

2
@PatrickM Simülasyon hastalıklarını deneyimleyen oyuncuların, kendi başlarına iyi bir cevap daha verebilecek gibi ses çıkarması. :)
DMGregory

Yanıtlar:


49

Performans genellikle bu özelliklerin kullanıcı tarafından açılıp kapatılmasının ana nedenidir. Genellikle, pahalıdırlar ve kullanıcıların bunları bir geliştiriciden devre dışı bırakmalarını sağlayarak oyunu daha düşük kaliteli makineler içerecek şekilde oyunu çalıştıran makineler kümesini genişletir. Bu, potansiyel olarak daha fazla oyuncuya ve dolayısıyla potansiyel olarak daha fazla satışa (bu oyuncuların azalan görsel uygunlukla yaşayabileceğini varsayarsak) karşılık gelir.

Bu gelişmiş özellikler, @Artelius'un da belirttiği gibi, pil ömrüne veya fan çıkışına daha fazla zarar verebilir ve bu nedenle kullanıcılar bu nedenlerle devre dışı bırakmak isteyebilir.

Son olarak, basitçe kullanıcılara tercih ettikleri şey hakkında bir seçenek sunmak. Bazı insanlar, kenar yumuşatma işleminin nasıl göründüğünü veya v-sync işlevini devre dışı bırakmanın ekran yırtılmasına neden olabileceğini beğenmeyebilir. Veya daha pratik bir örnek için, font bitişik harflerini etkinleştirme veya devre dışı bırakma seçeneği olan Eternity Sütunları'nı düşünün. Bunlar muhtemelen çalışma zamanı performansı açısından çok pahalıya mal olmamakla birlikte, bazı kullanıcılar metni okumayı daha zor bulabilir. Veya (@SeanMiddleditch'in işaret ettiği gibi), tek tek bir makinede sorun olması nedeniyle bir özelliği devre dışı bırakmak isteyebilirsiniz. Ya da rekabet avantajı elde etmek için bir özelliği devre dışı bırakmak isteyebilirsiniz (örneğin, mekanikten uzaklaşan gürültülü görsel efektleri devre dışı bırakmak gibi).


12
Kullanıcıların hesaplama açısından pahalı etkilerini kapatmak istemelerinin bir başka nedeni de pil ömrünü korumak veya ısı ve fan gürültüsünü azaltmak.
Artelius

14
Dipnot olarak, kritik oyun dengesi / özelliklerini tasarlarken hangi ayarların devre dışı bırakılabileceğini hatırlamak önemlidir. Bir süre BF4'teki düşman duman bombası, bir grafik seçeneği devre dışı bırakılarak boşaltılabilir. Hata.
Jon

26
Başka bir neden, hatalar için geçici çözümlere izin vermektir. Bir kullanıcının belirli bir donanımı, oyunun belirli bir son işlem etkisinin uygulanmasına neden olan bir sahneyi çökebilir veya kötü şekilde yanlış yönlendirebilir veya örneğin daha yüksek ayarların daha fazla hafıza kullanımı bazı makinelerde çökmelere neden olabilir ve sadece perf kaybına neden olabilir. Kolayca aşırı ısınan ve GPU sürücüsünün çökmesini / sıfırlanmasını önlemek için yeni bir yardım alana kadar ayarları azaltabilen bir GPU vakası vardı.
Sean Middleditch

1
Witcher 3, HairWorks ile mükemmel bir örnektir. Performans bir yana, Geralt (oyuncu karakteri) dışındaki her şey için açmak isteyen birçok insan var . HairWorks’in hayvanların harika görünmesini sağladığını, ancak aynı zamanda Geralt’ın saçını da kötü gösterdiğini söylüyorlar. Her iki şekilde de umrumda değil, ama neden böyle hissettiklerini anlayabiliyorum.
Nolonar

2
Bir çok "kabartmak" efektini kapatıyorum, böylece oyunun kendisine odaklanabiliyorum. Çoğu zaman, öğeler çim ve çalılıklarda zemine gizlenir. Bu çimler kayboluyor veya daha düşük grafik ayarlarında daha statik / daha incelikli ve yerdeki öğeleri görmeme izin veriyor. Yazım efektleri küçük uçan yaratıkları hedef almayı da zorlaştırır, dolayısıyla daha düşük yazım efektlerine sahip olmak parçacık bulutunu daha küçük yapar ve daha hızlı dağılır. Bir diğer neden de, 5 yaşındaki çocuğumun habersiz olarak valsleştiği durumlarda, gore ayrıntılarının azaltılması bana biraz tamponlama süresi sağlıyor.
corsiKa

11

Josh Petrie'nin de belirttiği gibi, en önemli endişe performanstır. Sadece son kullanıcıların donanımının ne kadar güçlü olduğunu bilemezsiniz, bir motor inşa ederken insanların nasıl kullanacaklarını bile bilmiyorsunuz. Belki de oyun geliştiricileri, ekrana o kadar çok çokgen koyan ve en iyi donanımın bile etkilerini kapatmadan gerçek zamanlı olarak gerçekleştiremediği bir oyun kurmak istiyor? Ancak bunu otomatik olarak kullanmak da iyi bir fikir olmayabilir: Belki de geliştiriciler hangi nesneler üzerinde hangi etkilerin etkisizleştirileceğine karar vermek istiyor.

Ancak, performansın yanı sıra, estetik kaygılar da olabilir.

Örneğin, anizotropik filtreden en yakın komşu enterpolasyona geçmek ve düşük çözünürlüklü dokular veya yükseltilmiş sprite kullanmak, nostaljik bir piksel sanat görünümüne yol açar. Bunu yapan oyunun popüler bir örneği Minecraft. Ve elbette estetiğini kopyalayan birçok oyun. Daha iyisini yapmayı bilmedikleri için değil, istemedikleri için değil.


3
Ama bir oyun pikselli görünmek için tasarlandıysa ... neden kullanıcıya bunu değiştirmek için bir seçenek verdiniz? Minecraft'ın aslında doğrusal filtrelemeyi açmanın bir yolu var mı?
Nicol Bolas

6
@NicolBolas Soru sormak " geliştirici için bir oyun motorunda bunlar için geçiş değerleri eklemek için bir neden var ". Bu geliştirici bakış açısı hakkında soruyor olarak yorumlanır.
Philipp

1
Bana göre, soru açıkça , gerçek OpenGL / D3D / etc parametre ayarlarına değil, "geçiş değerleri" ile karşı karşıya görünüyor . Yani "geliştirici için", API'leri kullanan geliştiricileri değil, kullanıcının karşılaştığı seçeneği ekleyen geliştiricileri ifade eder.
Nicol Bolas

5

Tabii ki, performans. Crepuscular Rays, Alan Derinliği ve Bloom gibi bazı etkiler, özellikle eski GPU'larda fps'i çok fazla vergilendirir. Bazı ekstra fps elde etmenin iyi bir yolu da yansımaları ve gölgeleri azaltmak veya devre dışı bırakmaktır. Ayrıca - Artelius noktasını tekrarlamak için - görsel efektler pil ömrüne de çarpacaktır.

Bunun yanı sıra:

  • Bazı etkiler glitchy olabilir. Tüm makineler eşit yapılmaz ve bazı GPU kodunuzu yanlış kullanabilir ... efektleri devre dışı bırakmanın bir yolu olması, bu tür durumlardan muzdarip oyuncular için iyidir ve geliştiricilerin hata ayıklama kolaylığı için iyidir.
  • Bazı etkiler oyunu engelleyebilir. Özellikle Alan Derinliği, Hareket Bulanıklığı ve daha düşük bir ayrıntıya gizlenen efektler, Anisotropik filtreleme ve Kenar yumuşatma özelliğini genişletir.
  • Bazı etkiler rahatsız edici / rahatsız edici olabilir. Bu bana Alan Derinliği ile olur, odak değiştiğinde, litteraly buna dikkat çeker.
  • Erişilebilirlik Seçenekleri için bazı etkiler göz önünde bulundurulmalıdır. Bu, Bobbing ve Hareket Bulanıklığı Görünümü durumudur, bunlar bazı insanları hasta edebilir, şaka yapmaz.
  • Ebeveyn Kontrolü için bazı etkiler göz önünde bulundurulmalıdır. Kan partikülü etkilerini ve benzerlerini kapatmak - en azından ebeveyn oyun incelemelerine yardımcı olur.

Modded Minecraft bunun için gerçekten iyi bir oyun alanı. Minecraft bütün parçaları oluşturur, bu yüzden çokgen sayısı göründüğünden daha fazladır. Topakları toplayıp çöp gibi Java [1] gibi işaretçi dilinden yoksun bırakmanın komplikasyonlarını ve özellikle her zaman olduğu gibi eski donanımda bazı performans sorunlarını bekleyebilirsiniz. Bazı insanlar daha iyi grafikler talep ederken, diğerleri daha iyi performans istedi. Ve böylece, GLSL Shader Mod ve Optifine gibi modlar ortaya çıktı, her ikisi de ekstra grafik seçenekleri ekledi - farklı uçlara rağmen - uyumlular [2], eğer kullanma şansınız varsa bunları kullanma şansı görsel efektler.

[1]: Microsoft, Windows 10 için bir C ++ portu üretti - cep sürümüne göre - eski Java sürümlerinden çok daha iyi performans gösteriyor. Bu, Java'nın gerçekleştiremediği anlamına gelmez, bu yalnızca C ++ olmanın yanı sıra Microsoft olmanın da bir belirtisidir.

[2]: Aslında, Minecraft 1.8.9 - Optifine tarafından absorbe edilen modlar GLSL Shader Modunu absorbe etti .


Ve bir oyun motoru geliştirdiğinizi söylüyorsunuz , bu nedenle kodunuzun birçok farklı oyun için tekrar kullanılma şansını beklemektesiniz. Oyun geliştiricisinin bu efektleri kullanmak isteyip istemediklerine karar vermesine izin vermek ve bunları devre dışı bırakmak için seçenekler sağlamak isteyip istemedikleri iyi bir fikirdir. Tüm efektler tüm oyunlar için anlamlı olmayabilir ve bazı oyunlar bazı efektlere bağlı olabilir.

Bazı oyunların bu etkileri bir ruh hali oluşturmak, oyuncuya bilgi aktarmak için veya yalnızca sanatsal lisans için kullanacağını düşünün.

Özellikle, insan gözü yerine bir kamera tarafından görülmüş gibi görünmesini sağlamaya çalışmak için görsel efektler kullanmaya çalışılıyor. Bu, Kromatik Sapmalar, Mercek Fişekleri, Film tanecikleri ve diğer "Sinematik" efektler gibi efektler kullanılarak denenir. Bunlar her oyuna uygun değil ve bu yüzden oyun motoru tarafından empoze edilmemeliler.

Muhtemelen bunun çoğu - hepsi değilse - gölgelendiricilerde yapılırsa, oyun motorunuzun geliştiricinin gölgelendiricilerini yüklemesine izin verin.


Erişilebilirlik Seçenekleri Üzerine Bir Not: Birçok video oyunu sağır insanları göz ardı ediyor. Yalnızca işitsel şekilde bilgi vermek yeterince iyi olmayabilir. Gelen ateşin yönü veya yakındaki düşmanların varlığı (“duyabiliyorsunuz”) gibi şeyleri yansıtmak için görsel efektler eklemek iyi bir fikirdir [3]. Ve elbette, başlığı kapatın. Ayrıca, renk körü insanlar olduğunu unutmayın ... yalnızca renkle ayırt edilen öğeler ... evet, yeniden tasarlandı.

[3]: Minecraft'ta bu tırtılların ne kadar acı olduğunu bilmiyorsun, bir tıslama bile duyamıyorsun. Altlarında rastgele olurlar.

Ne kadar çok bilirseniz ★


2
Erişilebilirlik seçenekleri için +1 notu! Kendimi iyi duyuyorum ama video oyunlarına başlarken iyi İngilizce konuşamadım. Seslere ek olarak yazılı metinler olması, neler olup bittiğinden emin olmadığınızda çok yardımcı olabilir.
AndrejaKo

5

Henüz başkaları tarafından bahsedilmeyen bir şey:

Grafik özelliklerini devre dışı bırakmak , performansla ilgili olmayan belirli bir kurulum ile ilgili sorunlar için geçerli bir geçici çözüm olabilir .

Sadece bir örnek, bazı grafik seçenekleri sadece Wine'da (Linux için Windows uyumluluk katmanı) bir Windows oyunu çalıştırırken verilen bir işleme motoruyla düzgün çalışmıyor .

Belirli bir (kasıtlı olarak isimlendirilmemiş) bir oyun için, filtrelemeyi üçlü çizgiye ayarlamalı ve yansımaları etkisiz hale getirmeliyim. Teçhizatım buna bağlı olmadığı için (kesinlikle öyle), ama yapmazsam, aksaklıklar ve çökmeler yüzünden.

Başka bir oyunda, nVidia kartlarını çalıştıran herhangi bir donanım için (yerel Windows'ta bile) "sis" efektlerini devre dışı bırakmak zorunda kaldınız, çünkü sis her zaman% 100 opak yapmıştı.


Bir şey olduğu diğer cevaplar / yorum olarak bahsedilen, ama aslında bir nedendir değil belirli ayarları yapmak için opsiyonel (yaprak yoğunluğuna gibi sıkı sıkıya):

Rakip oyunlarda rakiplerin görünürlüğü.

Oyuncular oyununuzun "görünüşünü" "gerçekten kötü" olarak ayarlayarak rekabet avantajı kazanabilirlerse, oyun deneyimini iki şekilde zedeliyorsunuz:

  • Rekabetçi oyuncular sadece “kötü görünümlü” bir oyun görebilecekler;
  • rekreasyon oyuncuları, sadece iyi görünümlü bir oyun tercih ettikleri için beceri ile ilgisi olmayan (potansiyel olarak önemli) bir dezavantajda olacaktır.

Mümkünse bundan kaçının. Düşük performanslı kuleler için ciğeri ve bitki örtüsünü clunky görünmesini sağlayın, ancak düşük ayarların oyun avantajı sağlamadığından emin olun.


4

Rekabetçi oyunlarda görüş netliği

Rekabetçi çevrimiçi oyunlardaki oyuncular, performans kaygısı olmasa bile, daha güzel bir görünüme daha basit veya daha net bir görüntü tercih edebilir - birçok görsel seçenek görsel gerçekçilik ekler ancak oyuncuların gerçekten görmek istediği şeyleri gizler.

Oyun istemcisini her türlü ekstra otu veya yaprağı, özel efektleri, duman / sis / ateşi, vb. Devre dışı bırakacak şekilde yapılandırırsanız, oyununuzda düşmanı farketmek veya hedef almak daha kolay olabilir. bir dezavantajda etkileri.


2
Bana Pas'ı hatırlatıyor: Çimi kapat ve saklanacak yer kalmadı!
Gigala

3
Bu cevap, bu tür ayarları isteğe bağlı yapmamak için çok iyi bir neden sunar . Ben hiç olmamalıdır seçti "iyi görünümlü" ve "rekabetçi" arasında. Rekabetçilik ayarlanabilir olmamalı ve kesinlikle görünüşe karar veren aynı kaydırıcı ile yapılmamalıdır.
DevSolar

@DevSolar isteğe bağlı yapmamak da mümkün olmuyor (örn. Duvar korsanlığı)
Joel Bosveld

@JoelBosveld: Duvar paylaşımından kaçınmak vb. OP'nin sorusuyla hiçbir ilgisi yok. Yeşillik isteğe bağlı yapıyor ...
DevSolar

-1

Diğer cevaplar iyidir, ancak kapatmak isteyebileceğiniz gerçek etkilere ilişkin iyi örnekler bulunmadığını düşünüyorum.

Benim için, örneğin GTA3'ün, oyunu daha da kötüleştirdiği, gerçekten ucuz ve korkunç "hareket bulanıklığı". Neyse ki kapatabilirim.

Daha önce oynamam, ama GTA5'ten gördüğüm şey, GTA5'i denememe rağmen devre dışı bırakacağım başka bir çok sahte çözüm. (bkz. https://www.youtube.com/watch?v=VjIhl8hbO18 )

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.