Czy istnieje powód, aby dodać opcje nieużywania zaawansowanych technologii w silniku gry?

22

Opracowuję silnik gry, odkrywam i czytam technologie gier, takie jak filtrowanie anizotropowe, okluzja otoczenia, wygładzanie krawędzi itp.

Zwykle w grach możesz włączać i wyłączać te ustawienia. Jeśli jednak te ustawienia nie dodają nic oprócz dodatnich, to czy istnieje powód, aby dodawać przełączające wartości dla nich w silniku gry dla programisty?

Rozumiem, że wydajność jest głównym czynnikiem, ale czy jest jakiś inny powód, dla którego te ustawienia są zawsze dostępne do zmiany?

Java Man Tea Man
źródło
69
Czy sama wydajność nie jest wystarczającym powodem? Jeśli sprzęt odtwarzacza nie obsługuje wszystkich tych funkcji z możliwą do gry liczbą klatek na sekundę, to samo w sobie brzmi jak przekonujący powód, aby umożliwić mu wyłączenie niektórych.
DMGregory
3
JEŻELI Twój sprzęt nie jest w stanie poradzić sobie z niektórymi efektami, to nie są one wcale pozytywne, jak mówisz ... Dzięki elastyczności w zakresie tego, co silnik potrafi i nie może zrobić, więcej osób może grać w gry / korzystać z silnika. Obniżenie grafiki, ale utrzymanie podstawowej rozgrywki jest przydatne dla niektórych osób.
rlam12
3
Quake miał opcję prawie całkowitego wyłączenia tekstur i grafiki do minimalnego minimum, dzięki czemu tylko podstawowe elementy rozgrywki były renderowane tak szybko, jak to możliwe, oferując płynną rozgrywkę kosztem grafiki. Z pewnością był to bardzo dobry powód.
user1306322
9
Widok podskakujący i rozmycie ruchu może dosłownie sprawić, że zachoruję w niektórych grach. Najwyraźniej wiele osób uważa, że ​​są dobre, ponieważ wydają się być włączone w prawie każdej grze, ale zwróciłbym twoją grę z kiepską recenzją, jeśli nie dałbyś opcji ich wyłączenia.
Patrick M
2
@PatrickM Affordances dla graczy cierpiących na chorobę symulacyjną wydaje się, że byłaby to kolejna dobra odpowiedź sama w sobie. :)
DMGregory

Odpowiedzi:

49

Wydajność jest zasadniczo głównym powodem, dla którego użytkownik może włączać i wyłączać te funkcje. Zasadniczo są one drogie, a pozwalając użytkownikom na ich wyłączanie, programista poszerza zestaw maszyn, które skutecznie uruchamiają grę, o więcej niższych komputerów. Przekłada się to na potencjalnie większą liczbę graczy, a tym samym potencjalnie większą sprzedaż (zakładając, że ci gracze mogą żyć ze zmniejszoną wiernością wizualną).

Te zaawansowane funkcje mogą również znacznie zwiększyć żywotność baterii lub wydajność wentylatora, jak zauważył @Artelius, dlatego użytkownicy mogą chcieć je wyłączyć z tych powodów.

Wreszcie, po prostu, aby dać użytkownikom wybór, co preferują. Niektóre osoby mogą nie lubić wyglądu wygładzania lub tego, jak wyłączenie synchronizacji pionowej może powodować zrywanie ekranu. Lub bardziej praktyczny przykład, rozważ Pillars of Eternity, który ma opcję włączania lub wyłączania ligatur czcionek. Są prawdopodobnie nie kosztują tyle pod względem wydajności wykonawczego, ale niektórzy użytkownicy mogą znaleźć tekst trudniejszy do zapoznania się z nimi. Lub (jak wskazuje @SeanMiddleditch), ktoś może chcieć wyłączyć funkcję, ponieważ jest wadliwa na pojedynczym komputerze. Lub ktoś może chcieć wyłączyć funkcję, aby uzyskać przewagę konkurencyjną (na przykład poprzez wyłączenie głośnych efektów wizualnych, które odwracają uwagę od mechaniki).


źródło
12
Innym powodem, dla którego użytkownicy mogą chcieć wyłączyć drogie obliczeniowo efekty, jest oszczędzanie baterii lub ograniczenie ciepła i hałasu wentylatora.
Artelius
14
Jako przypis należy pamiętać, które ustawienia można wyłączyć podczas projektowania krytycznego balansu / funkcji gry. Przez pewien czas granaty dymne wroga w BF4 mogły zostać unieważnione przez wyłączenie opcji graficznej. Ups
Jon
26
Innym powodem jest umożliwienie obejścia błędów. Szczególny sprzęt użytkownika może ulec awarii lub źle wyrenderować scenę, na przykład w wyniku implementacji przez grę określonego efektu przetwarzania końcowego, lub większe użycie pamięci przez wyższe ustawienia może prowadzić do awarii na niektórych komputerach, a nie tylko utraty wydajności. Miałem jeden przypadek procesora graficznego, który łatwo się przegrzał i mogłem obniżyć ustawienia, dopóki nie dostałem nowego, który pomógł uniknąć awarii / resetu sterowników GPU.
Sean Middleditch
1
Wiedźmin 3 to świetny przykład z HairWorks. Pomijając występ, jest wielu ludzi, którzy chcieliby włączyć to wszystko poza Geraltem (postacią gracza). Mówią, że HairWorks sprawia, że ​​zwierzęta wyglądają świetnie, ale jednocześnie sprawiają, że włosy Geralta wyglądają okropnie. Tak czy inaczej, nie obchodzi mnie to, ale rozumiem, dlaczego tak się czuli.
Nolonar
2
Wyłączam wiele efektów „puchu”, dzięki czemu mogę skupić się na samej grze. Często przedmioty są ukryte na ziemi w trawie i krzewach. Te trawy znikają lub są bardziej statyczne / cieńsze przy niższych ustawieniach grafiki, co pozwala mi widzieć przedmioty na ziemi. Efekty zaklęć utrudniają także celowanie w małe latające stworzenia, więc posiadanie niższych efektów zaklęcia zmniejsza chmurę cząstek i szybciej się rozprasza. Innym powodem jest to, że obniżenie szczegółów krwawienia daje mi trochę czasu buforowego, jeśli moje 5-letnie walce w niezapowiedziany.
corsiKa
11

Jak już zauważył Josh Petrie, najważniejszym problemem jest wydajność. Nie tylko nie wiesz, jak potężny jest sprzęt użytkowników końcowych, ale kiedy budujesz silnik, nie wiesz nawet, jak ludzie będą go używać. Może twórcy gry chcą stworzyć grę, która wyświetla tak wiele wielokątów na ekranie, że nawet najlepszy sprzęt nie jest w stanie renderować jej w czasie rzeczywistym bez wyłączania efektów? Ale automatyczna obsługa może również nie być dobrym pomysłem: być może programiści chcą zdecydować, które efekty wyłączyć, dla których obiektów.

Ale oprócz wydajności może mieć również znaczenie estetyczne.

Na przykład przejście z filtrowania anizotropowego na interpolację najbliższego sąsiada i użycie tekstur o niskiej rozdzielczości lub przeskalowanych duszków prowadzi do nostalgicznego wyglądu pikseli. Popularnym przykładem gry, która to robi, jest Minecraft. I oczywiście wiele gier, które kopiują jego estetykę. Nie dlatego, że nie wiedzą, jak zrobić lepiej, ale dlatego, że nie chcą.

Philipp
źródło
3
Ale jeśli gra została zaprojektowana w taki sposób, aby wyglądała na pikselową ... dlaczego miałbyś dać użytkownikowi możliwość jej zmiany? Czy Minecraft rzeczywiście ma sposób na włączenie filtrowania liniowego?
Nicol Bolas
6
@NicolBolas Pytanie brzmiało: „czy istnieje powód, aby dodać przełączane wartości dla nich w silniku gry dla programisty ”. Zinterpretowano to jako pytanie o perspektywę programisty.
Philipp
1
Dla mnie, pytanie wydaje się wyraźnie koncentruje się na łatwy w obliczu „przełączanie wartości”, a nie rzeczywista w-OpenGL / D3D / etc parametr ustawienia. To znaczy „dla programisty” odnosi się do programistów dodających opcję skierowaną do użytkownika, a nie do programistów korzystających z interfejsów API.
Nicol Bolas
5

Oczywiście wydajność. Niektóre efekty, takie jak Crepuscular Rays, Depth of Field i Bloom, bardzo obciążają fps, szczególnie w starszych GPU. Dobrym sposobem na uzyskanie dodatkowego fps jest zmniejszenie lub wyłączenie odbić i cieni. Ponadto - aby powtórzyć punkt Arteliusa - efekty wizualne również wpłyną na żywotność baterii.

Poza tym:

  • Niektóre efekty mogą być błędne. Nie wszystkie maszyny są sobie równe, a niektóre GPU mogą źle obsługiwać kod ... możliwość wyłączenia efektów jest dobra dla graczy cierpiących na takie przypadki i jest dobra dla programistów dla łatwości debugowania.
  • Niektóre efekty mogą utrudniać rozgrywkę. W szczególności efekty, które ukrywają szczegóły, takie jak głębia ostrości, rozmycie ruchu, aw mniejszym stopniu filtrowanie anizotropowe i wygładzanie.
  • Niektóre efekty mogą być denerwujące / rozpraszające. Zdarza mi się to z głębią ostrości, kiedy skupienie się zmienia, to dosłownie zwraca na to uwagę.
  • W przypadku opcji ułatwień dostępu należy wziąć pod uwagę niektóre efekty. Tak jest w przypadku widoku Bobbing i Motion Blur, które mogą powodować, że niektórzy ludzie chorują, bez żartów.
  • W przypadku kontroli rodzicielskiej należy wziąć pod uwagę niektóre efekty. Wyłączanie efektów cząsteczek krwi i tym podobnych - przynajmniej pomaga w przeglądach gier rodzicielskich.

Modded Minecraft to naprawdę dobry plac zabaw. Minecraft renderuje całe fragmenty, więc jego liczba wielokątów jest większa, niż się wydaje. Dodaj do tego komplikacje związane z usuwaniem kawałków na śmieciach zebranych i pozbawionych języka wskaźnikowego, takiego jak Java [1], i możesz spodziewać się pewnych problemów z wydajnością - w szczególności na starym sprzęcie, jak zawsze. Niektóre osoby wymagały lepszej grafiki, podczas gdy inne chciały lepszej wydajności. I tak powstały mody, takie jak GLSL Shaders Mod i Optifine , które dodają dodatkowe opcje graficzne - chociaż na różnych końcach - są kompatybilne [2], jeśli masz szansę ich użyć, możesz eksperymentować z efektami wydajnościowymi efekty wizualne.

[1]: Microsoft stworzył port C ++ Minecraft dla Windows 10 - w oparciu o wydanie kieszonkowe - działa znacznie lepiej niż starsze wersje Java. To nie znaczy, że Java nie może działać, to nie tylko symptom bycia C ++, ale także bycia Microsoftem.

[2]: W rzeczywistości te mody połączyły się w Minecraft 1.8.9 - Optifine absorbuje GLSL Shaders Mod .


Mówisz, że opracowujesz silnik gry , więc spodziewasz się, że Twój kod będzie miał szansę na ponowne użycie w wielu różnych grach. Dobrym pomysłem jest umożliwienie twórcy gry decydowania, czy chcą korzystać z tych efektów i czy chcą zapewnić opcje ich wyłączenia, czy nie. Nie wszystkie efekty mogą mieć sens we wszystkich grach, a niektóre gry mogą zależeć od niektórych efektów.

Weź pod uwagę, że niektóre gry używają tych efektów do ustawiania nastroju, przekazywania graczowi informacji lub po prostu do uzyskania licencji artystycznej.

W szczególności istnieje tendencja do używania efektów wizualnych, aby wyglądać tak, jakby był widziany przez kamerę zamiast ludzkiego oka. Próbuje się tego za pomocą takich efektów, jak aberracje chromatyczne, flary obiektywu, ziarnistość filmu i inne efekty „kinowe”. Nie są one odpowiednie dla każdej gry, dlatego nie powinny być narzucane przez silnik gry.

Prawdopodobnie większość tego - jeśli nie wszystko - odbywa się w shaderach, pozwól silnikowi gry pozwolić programistom na przesłanie ich shaderów.


Uwaga na temat opcji ułatwień dostępu: Wiele gier wideo nie uwzględnia osób niesłyszących. Przekazywanie informacji wyłącznie w formie dźwiękowej może być niewystarczające. Dobrym pomysłem jest dodanie efektów wizualnych odzwierciedlających takie rzeczy, jak kierunek nadchodzącego ognia lub obecność pobliskich wrogów (które „słyszysz”) [3]. No i oczywiście podpis. Pamiętaj też, że istnieją osoby niewidome dla koloru ... te przedmioty, które wyróżniają się tylko kolorem ... tak, uważane za przeprojektowanie.

[3]: Po prostu nie wiesz, jak bolesne są te pnącza w Minecraft, kiedy nie słychać nawet syku. Stają się przypadkowymi przypadkami.

Im więcej wiesz ★

Theraot
źródło
2
+1 dla opcji dostępności Uwaga! Sam mam dobry słuch, ale kiedy zaczynałem od gier wideo, nie mówiłem dobrze po angielsku. Pisanie tekstu oprócz dźwięków może ogromnie pomóc, gdy nie masz pewności, co się dzieje.
AndrejaKo
5

Coś jeszcze nie wspomniane przez innych:

Wyłączenie funkcji graficznych może być dobrym obejściem problemów z pewną konfiguracją , niezwiązanych z wydajnością.

Tylko jeden przykład, niektóre opcje graficzne po prostu nie działają poprawnie z danym silnikiem renderującym podczas uruchamiania gry Windows na Wine (warstwa kompatybilności z Windows dla Linuksa).

W przypadku niektórych (celowo nienazwanych) gier muszę zmniejszyć filtrowanie do trójliniowych i wyłączyć odbicia. Nie dlatego, że mój sprzęt nie jest do tego zdolny (z pewnością tak jest), ale z powodu renderowania błędów i awarii, jeśli tego nie zrobię.

W innej grze trzeba było wyłączyć efekty „mgły” dla każdego zestawu z kartami nVidia (nawet w natywnym systemie Windows), ponieważ zawsze powodowały, że mgła była w 100% nieprzezroczysta.


Coś, co jest wymienione w innych odpowiedzi / komentarze, ale w rzeczywistości jest powodem nie dokonać pewnych ustawień (takich jak gęstość liści, GRAS) opcjonalnie:

Widoczność przeciwników w konkurencyjnych grach.

Jeśli gracze mogą uzyskać przewagę konkurencyjną, ustawiając „wygląd” gry na „naprawdę zły”, szkodzisz rozgrywce na dwa sposoby:

  • rywalizujący gracze zobaczą tylko „źle wyglądającą” grę;
  • gracze rekreacyjni znajdą się w (potencjalnie znaczącej) niekorzystnej sytuacji niezwiązanej z umiejętnościami, po prostu za preferowanie dobrze wyglądającej gry.

Unikaj tego, jeśli to w ogóle możliwe. Spraw, by gras i liście wyglądały na niezgrabne dla zestawów o niskiej wydajności, ale upewnij się, że niższe ustawienia nie dają przewagi w grze.

DevSolar
źródło
4

Przejrzystość widoku w konkurencyjnych grach

Gracze w konkurencyjnych grach online mogą preferować prostszy lub bardziej przejrzysty widok niż piękniejszy widok, nawet jeśli wydajność nie jest problemem - wiele opcji wizualnych dodaje realizmu wizualnego, ale przesłania rzeczy, które gracze naprawdę chcą zobaczyć.

Łatwo może się zdarzyć, że w twojej grze łatwiej będzie zauważyć wroga lub zaatakować go, jeśli skonfigurujesz klienta gry tak, aby wyłączał wszelkiego rodzaju dodatkową trawę lub liście, efekty specjalne, dym / mgłę / ogień itp. To umieszcza graczy, którzy włączają takie skutki w niekorzystnej sytuacji.

Piotr jest
źródło
2
Przypomina mi Rust: wyłącz trawę i nie ma już miejsca do ukrycia!
Gigala
3
Ta odpowiedź daje bardzo dobry powód nie aby takie ustawienia opcjonalne. Nie powinienem wybierać między „dobrze wyglądającym” a „konkurencyjnym”. Konkurencyjność nie powinna być regulowana, a na pewno nie za pomocą tego samego suwaka, który decyduje o wyglądzie.
DevSolar,
@DevSolar nie powoduje, że jest to opcjonalne, jednak nie uniemożliwia (np. Hakowania ścian)
Joel Bosveld
@JoelBosveld: Unikanie hackowania ścian itp. Nie ma jednak nic wspólnego z pytaniem OP.
Użycie
-1

Inne odpowiedzi są dobre, ale myślę, że brakuje im dobrych przykładów faktycznych efektów, które możesz chcieć wyłączyć.

Dla mnie naprawdę tani i okropny „motion blur”, który miał na przykład GTA3, pogorszył grę. Na szczęście mogłem to wyłączyć.

Nie grałem w to, ale to, co widziałem w GTA5, to kolejne dość hackerskie rozwiązanie, które mógłbym wyłączyć, jeśli kiedykolwiek spróbuję GTA5. (patrz https://www.youtube.com/watch?v=VjIhl8hbO18 )

NiklasJ
źródło