Gibt es einen Grund, Optionen hinzuzufügen, um fortschrittliche Technologien in einer Spiele-Engine nicht zu verwenden?

22

Ich habe eine Spiel-Engine entwickelt und Spieltechnologien wie anisotropes Filtern, Umgebungs-Okklusion, Anti-Aliasing usw. entdeckt und gelesen.

Normalerweise können Sie diese Einstellungen in Spielen ein- und ausschalten. Wenn diese Einstellungen jedoch nur positive Werte hinzufügen, gibt es einen Grund, diese in einer Game-Engine für den Entwickler umzuschalten?

Ich verstehe, dass die Leistung ein wichtiger Faktor ist, aber gibt es einen anderen Grund, warum diese Einstellungen immer zum Ändern verfügbar sind?

Java Man Tea Man
quelle
69
Ist Leistung allein kein ausreichender Grund? Wenn die Hardware eines Players bei einer spielbaren Bildrate nicht alle diese Funktionen unterstützen kann, ist dies allein schon ein zwingender Grund dafür, dass einige Funktionen deaktiviert werden können.
DMGregory
3
WENN Ihre Hardware einige der Effekte nicht verarbeiten kann, sind sie, wie Sie sagen, überhaupt nicht positiv ... Durch die Flexibilität, was Ihre Engine kann und was nicht, können mehr Leute Ihre Spiele spielen / Ihre Engine verwenden. Das Verringern der Grafik, aber das Beibehalten des Core-Gameplays ist für einige Leute praktisch.
rlam12
3
Quake hatte die Option, Texturen und Grafiken fast vollständig auf ein Minimum zu beschränken, damit nur die Kernelemente des Spiels so schnell wie möglich gerendert werden und das reibungsloseste Gameplay auf Kosten der Grafik möglich ist. Dafür gab es sicher einen sehr guten Grund.
user1306322
9
Wackeln und Bewegungsunschärfe können mich in manchen Spielen buchstäblich krank machen. Offensichtlich denken viele Leute, dass sie gut sind, da sie in fast jedem Spiel aktiviert zu sein scheinen, aber ich würde Ihr Spiel mit einer schlechten Bewertung zurückgeben, wenn Sie keine Option zum Deaktivieren geben würden.
Patrick M
2
@PatrickM Erschwernisse für Spieler, die an einer Simulationskrankheit leiden, scheinen eine weitere gute Antwort für sich zu sein. :)
DMGregory

Antworten:

49

Die Leistung ist im Allgemeinen der Hauptgrund, warum diese Funktionen vom Benutzer ein- und ausgeschaltet werden können. Im Allgemeinen sind sie teuer, und indem die Benutzer sie von einem Entwickler ausschalten können, wird der Satz von Computern, auf denen das Spiel effektiv ausgeführt wird, erweitert, um mehr Computer der unteren Preisklasse. Dies führt zu potenziell mehr Spielern und somit zu potenziell mehr Verkäufen (vorausgesetzt, diese Spieler können mit der verringerten visuellen Wiedergabetreue leben).

Diese erweiterten Funktionen beeinträchtigen möglicherweise auch die Akkulaufzeit oder die Lüfterleistung, wie @Artelius ausführte, und Benutzer sollten sie aus diesen Gründen deaktivieren.

Abschließend möchten wir den Benutzern lediglich die Wahl lassen, was sie bevorzugen. Einige Leute mögen es möglicherweise nicht, wie Anti-Aliasing aussieht oder wie das Deaktivieren von V-Sync zum Reißen des Bildschirms führen kann. Ein praktischeres Beispiel ist Pillars of Eternity, bei dem Sie die Schriftligaturen aktivieren oder deaktivieren können. Diese kosten in Bezug auf die Laufzeitleistung wahrscheinlich nicht so viel, aber für einige Benutzer ist es möglicherweise schwieriger, den Text mit ihnen zu lesen. Oder (wie @SeanMiddleditch hervorhebt) man möchte eine Funktion deaktivieren, weil sie auf einem einzelnen Computer fehlerhaft ist. Oder Sie möchten eine Funktion deaktivieren, um einen Wettbewerbsvorteil zu erzielen (z. B. durch Deaktivieren von verrauschten visuellen Effekten, die von der Mechanik ablenken).

Josh
quelle
12
Ein weiterer Grund, warum Benutzer möglicherweise rechenintensive Effekte deaktivieren möchten, ist die Schonung der Akkulaufzeit oder die Reduzierung von Wärme und Lüftergeräuschen.
Artelius
14
Als Fußnote ist es wichtig, sich zu merken, welche Einstellungen deaktiviert werden können, während Sie kritische Spielbalancen / -funktionen entwerfen. Für eine Weile können feindliche Rauchgranaten in BF4 durch Deaktivieren einer Grafikoption aufgehoben werden. Hoppla.
Jon
26
Ein weiterer Grund besteht darin, Problemumgehungen für Fehler zuzulassen. Die spezielle Hardware eines Benutzers kann beispielsweise bei der Implementierung eines bestimmten Nachbearbeitungseffekts durch das Spiel abstürzen oder eine Szene schlecht rendern, oder die höhere Speichernutzung der Einstellungen kann auf einigen Computern zu Abstürzen und nicht nur zu Leistungsverlust führen. Ich hatte einen Fall von einer GPU, die sich leicht überhitzte und in der Lage war, die Einstellungen zu verringern, bis ich eine neue bekam, um Abstürze / Zurücksetzungen des GPU-Treibers zu vermeiden.
Sean Middleditch
1
Der Hexer 3 ist ein großartiges Beispiel für HairWorks. Abgesehen von der Leistung gibt es eine Menge Leute, die es für alles außer Geralt (dem Spielercharakter) aktivieren möchten . Sie sagen, dass HairWorks Tiere großartig aussehen lässt, gleichzeitig aber Geralts Haare schrecklich aussehen lässt. Es ist mir egal, aber ich kann sehen, warum sie sich so fühlen würden.
Nolonar
2
Ich schalte viele "Fluff" -Effekte aus, damit ich mich auf das Spiel selbst konzentrieren kann. Oft sind Gegenstände auf dem Boden in Gras und Büschen versteckt. Diese Gräser verschwinden oder sind bei niedrigeren Grafikeinstellungen statischer / dünner, sodass ich Objekte auf dem Boden sehen kann. Zauber-Effekte erschweren es auch, auf kleine fliegende Kreaturen zu zielen. Durch geringere Zauber-Effekte wird die Partikelwolke kleiner und löst sich schneller auf. Ein weiterer Grund ist, dass ich durch das Verringern der Blütendetails etwas Pufferzeit bekomme, wenn meine 5-jährige Walzerin unangekündigt hereinkommt.
corsiKa
11

Wie Josh Petrie bereits betonte, ist die Leistung das wichtigste Anliegen. Sie können nicht nur nicht wissen, wie leistungsfähig die Endbenutzer-Hardware ist, sondern wissen beim Erstellen einer Engine auch nicht, wie die Leute sie verwenden werden. Vielleicht möchten die Spieleentwickler ein Spiel entwickeln, das so viele Polygone auf den Bildschirm bringt, dass selbst die beste Hardware es nicht in Echtzeit rendern kann, ohne die Effekte auszuschalten? Aber auch eine automatische Handhabung ist möglicherweise keine gute Idee: Vielleicht möchten die Entwickler entscheiden, welche Effekte für welche Objekte deaktiviert werden sollen.

Neben der Leistung kann es aber auch ästhetisch von Belang sein.

Wenn Sie beispielsweise von der anisotropen Filterung auf die Interpolation zum nächsten Nachbarn umschalten und Texturen mit niedriger Auflösung oder hochskalierte Sprites verwenden, erhalten Sie einen nostalgischen Pixel-Art-Look. Ein beliebtes Beispiel für ein Spiel, das dies tut, ist Minecraft. Und natürlich die vielen Spiele, die seine Ästhetik kopieren. Nicht weil sie nicht wissen, wie sie es besser machen sollen, sondern weil sie es nicht wollen.

Philipp
quelle
3
Aber wenn ein Spiel pixelig aussehen würde ... warum würden Sie dem Benutzer die Option geben, dies überhaupt zu ändern? Hat Minecraft tatsächlich eine Möglichkeit, die lineare Filterung zu aktivieren?
Nicol Bolas
6
@NicolBolas Die Frage lautete: "Gibt es einen Grund, in einer Game-Engine für den Entwickler Umschaltwerte für diese Werte hinzuzufügen? ". In interpretiert dies als Frage nach der Entwicklerperspektive.
Philipp
1
Mir scheint die Frage fokussiert klar auf Benutzer zugewandten „Toggle - Werte“, nicht die tatsächliche in-OpenGL / D3D / etc Parametereinstellungen. Das heißt, "für den Entwickler" bezieht sich auf Entwickler, die die Option für Benutzer hinzufügen, nicht auf Entwickler, die die APIs verwenden.
Nicol Bolas
5

Natürlich Leistung. Einige Effekte wie Crepuscular Rays, Depth of Field und Bloom belasten die Geschwindigkeit sehr, insbesondere bei älteren GPUs. Eine weitere Möglichkeit, zusätzliche FPS zu erzielen, besteht darin, Reflexionen und Schatten zu reduzieren oder zu deaktivieren. Auch - um Artelius Punkt zu wiederholen - beeinträchtigen visuelle Effekte die Batterielebensdauer.

Außerdem:

  • Einige Effekte können fehlerhaft sein. Nicht alle Computer sind gleich, und einige GPUs behandeln Ihren Code möglicherweise falsch. Eine Möglichkeit zum Deaktivieren von Effekten ist gut für die Spieler, die unter solchen Fällen leiden, und gut für die Entwickler, um das Debuggen zu vereinfachen.
  • Einige Effekte können das Gameplay beeinträchtigen. Insbesondere Effekte, die Details verbergen, wie z. B. Schärfentiefe, Bewegungsunschärfe und in geringerem Maße anisotropes Filtern und Antialiasing.
  • Einige Effekte können störend oder ablenkend wirken. Das passiert mir mit Depth of Field, wenn sich der Fokus ändert, lenkt es die Aufmerksamkeit auf sich.
  • Einige Effekte sollten für die Eingabehilfen berücksichtigt werden. Dies ist der Fall bei View Bobbing und Motion Blur, die manche Leute krank machen können, kein Scherz.
  • Einige Effekte sollten für die Kindersicherung berücksichtigt werden. Ausschalten von Blutpartikeleffekten und Ähnlichem - zumindest bei der Überprüfung von Kinderspielen.

Modded Minecraft ist dafür wirklich ein guter Spielplatz. Minecraft rendert ganze Blöcke, so dass die Anzahl der Polygone größer ist als es scheint. Fügen Sie die Komplikationen hinzu, die durch das Entsorgen von Stücken auf einem gesammelten Müll und ohne Zeigersprache wie Java [1] entstehen, und Sie können, wie immer, einige Leistungsprobleme erwarten, insbesondere bei alter Hardware. Einige forderten bessere Grafiken, andere eine bessere Leistung. Und so entstanden Mods wie GLSL Shaders Mod und Optifine , die beide zusätzliche Grafikoptionen hinzufügen, obwohl sie zu unterschiedlichen Zwecken kompatibel sind [2]. Wenn Sie die Möglichkeit haben, sie zu verwenden, können Sie die Leistungseffekte der visuelle Effekte.

[1]: Microsoft hat eine C ++ - Portierung von Minecraft für Windows 10 erstellt - basierend auf der Pocket Edition - und bietet eine viel bessere Leistung als die älteren Java-Versionen. Das bedeutet nicht, dass Java keine Leistung erbringen kann. Dies ist nicht nur ein Symptom dafür, dass es sich um C ++ handelt, sondern auch, dass es sich um Microsoft handelt.

[2]: Tatsächlich wurden diese Mods für Minecraft 1.8.9 - Optifine absorbed GLSL Shaders Mod zusammengeführt .


Und Sie sagen, Sie entwickeln eine Spiel-Engine , sodass Sie davon ausgehen, dass Ihr Code für viele verschiedene Spiele wiederverwendet werden kann. Es ist eine gute Idee, dem Spieleentwickler zu erlauben, zu entscheiden, ob er diese Effekte verwenden möchte und ob er Optionen bereitstellen möchte, um sie zu deaktivieren oder nicht. Möglicherweise sind nicht alle Effekte für alle Spiele sinnvoll, und einige Spiele hängen möglicherweise von bestimmten Effekten ab.

Bedenken Sie, dass einige Spiele diese Effekte verwenden, um eine Stimmung einzustellen, Informationen an den Spieler zu übermitteln oder nur um eine künstlerische Lizenz zu erhalten.

Insbesondere wird versucht, visuelle Effekte zu verwenden, um das Aussehen so zu gestalten, als würde es von einer Kamera anstelle des menschlichen Auges gesehen. Dies wird versucht, indem Effekte wie chromatische Aberrationen, Lens Flares, Filmkörnung und andere "Cinematic" -Effekte verwendet werden. Diese sind nicht für jedes Spiel geeignet und sollten daher nicht von der Game-Engine festgelegt werden.

Das meiste davon - wenn nicht alles - geschieht wahrscheinlich in Shadern. Lassen Sie Ihre Game-Engine den Entwicklern erlauben, ihre Shader hochzuladen.


Ein Hinweis zu Eingabehilfen: Bei vielen Videospielen werden gehörlose Personen nicht berücksichtigt. Nur auditive Informationen bereitzustellen, ist möglicherweise nicht gut genug. Es ist eine gute Idee, visuelle Effekte hinzuzufügen, um Dinge wie die Richtung des einfallenden Feuers oder die Anwesenheit von Feinden in der Nähe (die Sie "hören" können) zu reflektieren [3]. Und natürlich Untertitel. Beachten Sie auch, dass es farbenblinde Menschen gibt ... diese Dinge, die sich nur durch Farbe auszeichnen ... ja, als Neugestaltung angesehen.

[3]: Du weißt einfach nicht, was für ein Schmerz diese Kriecher in Minecraft sind, wenn du nicht einmal ein Zischen hörst. Sie werden zufällig in der Tiefe.

Je mehr du weißt ★

Theraot
quelle
2
+1 für die Zugänglichkeitsoptionen beachten! Ich selbst habe ein gutes Gehör, aber als ich mit Videospielen anfing, sprach ich kein gutes Englisch. Wenn Sie sich nicht sicher sind, was los ist, können Sie enorm helfen, wenn Sie zusätzlich zu den Tönen Text geschrieben haben.
AndrejaKo
5

Etwas, was andere noch nicht erwähnt haben:

Das Deaktivieren von Grafikfunktionen kann eine gültige Problemumgehung für Probleme mit einem bestimmten Setup sein , die nicht mit der Leistung zusammenhängen.

Nur ein Beispiel: Einige Grafikoptionen funktionieren mit einer bestimmten Rendering-Engine nicht ordnungsgemäß, wenn ein Windows-Spiel unter Wine (der Windows-Kompatibilitätsebene für Linux) ausgeführt wird.

Für ein bestimmtes (absichtlich unbenanntes) Spiel muss ich die Filterung auf trilinear reduzieren und Reflexionen deaktivieren. Nicht, weil mein Rig nicht dazu in der Lage ist (das ist es mit Sicherheit), sondern weil es Pannen und Abstürze gibt, wenn ich das nicht tue.

In einem anderen Spiel mussten Sie "Nebel" -Effekte für jedes Rig deaktivieren, auf dem nVidia-Karten ausgeführt werden (auch unter nativen Windows-Betriebssystemen), da der Nebel immer zu 100% undurchsichtig war.


Etwas , das ist in anderen Antworten / Kommentaren erwähnt, ist aber eigentlich ein Grund , nicht bestimmte Einstellungen zu machen (wie Laub Dichte, GRAS) optional:

Sichtbarkeit der Gegner in Pflichtspielen.

Wenn Spieler sich einen Wettbewerbsvorteil verschaffen können, indem Sie das "Aussehen" Ihres Spiels auf "wirklich schlecht" einstellen, können Sie das Spielerlebnis auf zwei Arten beeinträchtigen:

  • Konkurrierende Spieler werden nur ein "schlecht aussehendes" Spiel sehen.
  • Freizeitspieler haben einen (potenziell signifikanten) Nachteil, der nichts mit Geschick zu tun hat, nur weil sie ein gut aussehendes Spiel bevorzugen.

Vermeiden Sie das, wenn es überhaupt möglich ist. Stellen Sie sicher, dass Gras und Laub für Rigs mit geringer Leistung klobig aussehen. Stellen Sie jedoch sicher, dass niedrigere Einstellungen keinen Gameplay-Vorteil bieten.

DevSolar
quelle
4

Klarheit der Sicht in Pflichtspielen

Spieler in Online-Wettbewerben bevorzugen möglicherweise eine einfachere oder klarere Ansicht gegenüber einer schöneren Ansicht, auch wenn die Leistung keine Rolle spielt. Viele visuelle Optionen sorgen für visuellen Realismus, verdecken jedoch die Dinge, die die Spieler tatsächlich sehen möchten.

Es kann leicht vorkommen, dass es in Ihrem Spiel einfacher ist, einen Feind zu bemerken oder anzugreifen, wenn Sie den Spiel-Client so konfigurieren, dass alle Arten von zusätzlichem Gras oder Laub, Spezialeffekten, Rauch / Nebel / Feuer usw. deaktiviert werden nachteilige Wirkungen.

Peter ist
quelle
2
Erinnert mich an Rust: Schalte das Gras aus und es gibt keinen Platz mehr zum Verstecken!
Gigala
3
Diese Antwort gibt einen sehr guten Grund , nicht solche Einstellungen optional zu machen. Ich sollte nicht gewählt haben zwischen „gut aussehen“ und „wettbewerbsfähig“. Die Wettbewerbsfähigkeit sollte nicht einstellbar sein, und schon gar nicht mit demselben Schieberegler, der über das Aussehen entscheidet.
DevSolar
@ DevSolar macht es nicht optional macht es nicht möglich, obwohl (zB Wallhacking)
Joel Bosveld
@JoelBosveld: Das Vermeiden von Wallhacking usw. hat jedoch nichts mit der Frage des OP zu tun. Laub optional zu machen, ist ...
DevSolar
-1

Die anderen Antworten sind gut, aber ich denke, es fehlen gute Beispiele für tatsächliche Effekte, die Sie deaktivieren möchten.

Für mich machte die wirklich billige und schreckliche "Bewegungsunschärfe", die zum Beispiel GTA3 hatte, das Spiel noch schlimmer. Zum Glück konnte ich es ausschalten.

Habe es nicht gespielt, aber was ich von GTA5 gesehen habe, ist eine andere ziemlich hackige Lösung, die ich deaktivieren würde, wenn ich jemals GTA5 versuchen würde. (siehe https://www.youtube.com/watch?v=VjIhl8hbO18 )

NiklasJ
quelle