Gibt es eine Möglichkeit, Benutzer daran zu hindern, ihre Gammakorrektur so anzupassen, dass sie ihren Weg aus einem "dunklen" Bereich "betrügen"?

13

In fast jedem Spiel, auf das ich gestoßen bin, gibt es eine dunkle Situation, die die Art und Weise verändert, wie ein Benutzer mit der Umgebung umgeht. Es gibt immer einige Spieler, die die Gammakorrektur ihres Monitors aufdrehen, um den gewünschten Effekt zu negieren.

Gibt es eine Möglichkeit, Benutzer daran zu hindern, ihre Gammakorrektur so anzupassen, dass sie ihren Weg aus einer Herausforderung betrügen? (die Finsternis)

Ich würde mir vorstellen, wenn Sie die aktuelle Gammakorrektur des Monitors des Benutzers zuverlässig abrufen könnten, könnten Sie damit mehr oder weniger den Vorteil verhindern, den er sonst gewähren würde, ohne den normalen Benutzern Unannehmlichkeiten zu bereiten.

Athix
quelle
17
Ist dies für ein Multiplayer-Spiel, bei dem ich einen unfairen Vorteil erlangen könnte? Wenn nicht, wäre es mir als Spieler viel lieber, wenn Sie meine Anzeigeeinstellungen in Ruhe lassen, danke.
3
Wie Cong Xu bereits sagte, erhalten Sie nur minimale Effekte beim Anpassen des Gammas, da nur die Helligkeit des tatsächlich Sichtbaren geändert wird. Wenn Sie nicht möchten, dass etwas gesehen wird, zeichnen Sie es vollständig schwarz. Der Spieler kann dann praktisch nicht mehr durch Anpassen des Gammas schummeln.
LiquidFeline

Antworten:

44

Wenn Sie unbedingt kontrollieren müssen, ob der Spieler etwas sehen kann oder nicht, möglicherweise für Multiplayer-Anti-Cheat oder wenn es der Schlüssel zu Ihrer Spielmechanik ist, dann verdecken Sie diese vollständig . Auf diese Weise werden sie durch keine Gammakorrektur sichtbar.

Nicht das beste Beispiel, aber in Closure sind Bereiche, die nicht beleuchtet werden, vollständig dunkel:

Bildbeschreibung hier eingeben

... wenn Sie die aktuelle Gammakorrektur des Benutzermonitors zuverlässig abrufen können ...

Bitte gehen Sie nicht diesen Weg; Es gibt viele Gründe - außer Betrug -, um Gamma zu korrigieren. Vielleicht hat der Spieler schlechtes Sehvermögen oder einen schlechten Monitor oder spielt tagsüber. Bitte respektiere deine Benutzer! Lass nicht zu, dass ein paar Betrüger / Piraten / Was-hast-du die Erfahrung für alle anderen ruinieren.

congusbongus
quelle
9

Ich würde vorschlagen, der gerenderten Ausgabe ein wenig weißes Rauschen hinzuzufügen. In hellen Szenen ist dies nicht sichtbar, in dunklen Szenen mit gewöhnlicher Gamma-Einstellung ähnelt es dem, was Kameras oder das menschliche Auge tatsächlich in der Realität tun. Aber für jemanden, der das Gamma hochdreht, wäre dieses Geräusch ein starkes Ärgernis. Dunkle Objekte werden nicht nur nicht richtig sichtbar, die Verstärkung des Rauschens im unteren Bereich lenkt auch von hellen Objekten ab. Daher sollte es die Menschen ausreichend davon abhalten, dies zu tun.

(Natürlich haben sehr clevere Leute immer noch ausgefeilte Entrauschungstechniken, aber diese sind zumindest auf normalen Monitoren nicht verfügbar.)

links herum
quelle
Ein Beispiel für diese Technik ist das Flash-Spiel Don't Escape
user1937198
Wenn Sie das weiße Rauschen additiv mischen (anstatt zu mitteln / zu überlagern), werden dunkle Bereiche sehr verrauscht, während Glanzlichter und Mitteltöne kaum wahrnehmbares Rauschen aufweisen. Je nach Auflösung des Spiels benötigen Sie möglicherweise auch größere Punkte für das Rauschen - höhere Auflösungen verringern die Effektivität des Rauschens.
Logan Pickup
8

Es gibt einige Windows-API-Funktionen, die den Trick ausführen können : SetMonitorBrightness und SetDeviceGammaRamp . Dies ist jedoch hardwareabhängig. Wahrscheinlich unterstützen nicht alle Monitore die programmgesteuerte Einstellung der Helligkeit, und verschiedene Monitore können unterschiedliche Ergebnisse usw. liefern.

Außerdem klingt es nicht nach einer sehr guten Idee. Das Sperren der Gamma / Helligkeit auf einen festen Wert wird Ihre Spieler sicherlich ärgern und das Spiel sehr wahrscheinlich für einige Spieler unspielbar machen, da es in ihrem Setup zu dunkel (oder zu hell) erscheint.

Wenn es sich letztendlich um ein Einzelspielerspiel handelt und der Spieler das Spiel für sich selbst vereinfachen möchte, ist dies das Richtige für ihn. Warum solltest du sie aufhalten? Wenn es sich um ein Multiplayer-Spiel handelt, sind andere Strategien erforderlich, z. B. das Senden von Informationen zu Ereignissen, die so nah sind, dass sie oder innerhalb ihres Taschenlampenstrahls sehen können, oder etwas Ähnliches.

Nathan Reed
quelle
0

Angesichts der zufälligen Helligkeit, des zufälligen Kontrasts und des zufälligen Gammas der Bildschirme des Benutzers und nicht der Raumbeleuchtung, in der sich der Benutzer befindet, gibt es keine zuverlässige Möglichkeit, etwas zu erstellen, das "gerade sichtbar genug" oder "gerade unsichtbar genug" ist. Wenn Sie möchten, dass etwas unsichtbar ist, machen Sie es schwarz. Wenn Sie etwas mehrdeutig wahrnehmbar machen möchten, müssen Sie akzeptieren, dass einige Spieler eine bessere Gelegenheit haben, es zu sehen.

ddyer
quelle
0

Wenn es ein Einzelspieler ist, spielt es keine Rolle.

Wie wäre es mit einer Kollisionsanzeige im Mehrspielermodus, die anzeigt, was sie anzeigen können? Wenn sie sich in einem dunklen Bereich befinden, teilen Sie dem Client mit, dass er andere Spieler / Bühnenobjekte / usw. erst dann zeichnen soll, wenn sie sich im Kollisionsfeld der Feldansicht befinden.

Josh Jones
quelle