Ich bin auf die Idee gekommen, Verschlüsselung zu verwenden, um zu verhindern, dass Benutzer Inhalte in meinem Programm außerhalb des Programms selbst herausfinden. So wie Benutzer möglicherweise Texturen finden, die nie im Spiel verwendet wurden und Teil eines Ostereies sein sollen, während sie die Spieldaten durchgehen. Dies kann es zB für alle ruinieren, wenn es online gepostet wird.
Stellen Sie sich einen geheimen Raum vor, in dem der Spieler die richtigen Zahlen an einer Sicherheitstür im Spiel drücken muss. Wenn dies korrekt ist, sollte dies den richtigen Entschlüsselungsschlüssel generieren und dann diesen Teil des Levels entschlüsseln und die Tür öffnen. Auf diese Weise wird das Osterei auch beim Durchsehen der Spieldaten ansonsten unzugänglich, da der Schlüssel nicht tatsächlich gespeichert ist und auf der Grundlage von Benutzereingaben generiert wird.
Hier ist ein weiteres Beispiel für das, was ich mir vorgestellt habe. Ich habe ein Puzzlespiel mit 20 Levels, die jeweils mit einem anderen Schlüssel verschlüsselt sind. Anstatt den Entschlüsselungsschlüssel mit dem Programm direkt zu speichern, damit jemand das Programm dekompilieren und finden kann, erstelle ich den Verschlüsselungs- / Entschlüsselungsschlüssel basierend auf der Lösung des vorherigen Puzzles. Auf diese Weise müsste der Spieler das Rätsel tatsächlich lösen, bevor er Informationen zum nächsten Level erhält, selbst wenn er die Spieldaten durchblättert.
Der Spieler könnte es, wenn er sich auskennt, "leicht" brachial erzwingen, da die Anzahl der Rätsellösungen wahrscheinlich geringer ist als die Anzahl der Entschlüsselungsschlüssel. Es ist wirklich eine Frage der Komplexität des Puzzles und ist hier nicht sehr wichtig. Obwohl ich habe es eine Antwort schreiben in Bezug auf hier über
Gibt es heute Programme / Spiele, die so etwas gemacht haben? Speichern von verschlüsselten Inhalten in ihren Spielen? Und wenn nicht warum? Gibt es viele Regeln und Vorschriften, entweder im Ladengeschäft oder auf Länderebene? Sieht jemand offensichtliche Fallstricke, die ich vermisse? Wenn ich Dinge wie User-Experience ignoriere, erscheint mir die Idee vernünftig und macht mich neugierig, warum ich das noch nie gesehen habe.
Bearbeiten : Es ist möglicherweise nicht klar, was ich sage, also ist hier ein konkreteres Beispiel.
Angenommen, ich habe eine Funktion, die eine Zeichenfolge von 20 Zeichen umfasst und einen symmetrischen Schlüssel generiert, mit dem ich Inhalte im Spiel verschlüsseln / entschlüsseln kann. Die einzige Möglichkeit für den Benutzer, an diesen Inhalt zu gelangen, besteht darin, diese 20 Zeichen zu kennen und denselben Schlüssel zu generieren. Dieser Schlüssel wird niemals direkt gespeichert und sofort auf der Grundlage von Benutzereingaben generiert. Diese Charaktere würden im Spiel in Büchern versteckt sein, im Dialog mit NPCs, vielleicht sogar außerhalb des Spiels auf der Rückseite der Schachtel.
Bei 2 * 10 ^ 28 möglichen Kombinationen ist es wahrscheinlich wahrscheinlicher, dass die Leute den Inhalt auf die beabsichtigte Weise finden, als wenn sie die Spieldaten durchsehen.
Bearbeiten 2 : Der betreffende Inhalt wird vor dem Versand an den Verbraucher mit einem beliebigen und geheimen Schlüssel verschlüsselt . Dieser Schlüssel wird natürlich nicht mit dem Spiel ausgeliefert. Er oder sie müsste den Schlüssel irgendwie wieder zusammenpuzzeln, wenn er eine Reihe von Hinweisen erhält, die auf dem Schlüssel basieren und die während des Spiels oder irgendwo anders versteckt sind. Dieses System wäre jedoch für den Benutzer transparent, da Sie nicht wissen würden, dass der Inhalt verschlüsselt ist, es sei denn, Sie haben die Spieldaten tatsächlich durchgesehen.
Wie schon erwähnt, hat dies einen offensichtlichen Nachteil, da sein Anwendungsfall begrenzt ist. Sobald eine einzelne Person es herausgefunden hat, kann sie es mit allen anderen teilen, wenn nicht der Schlüssel / die Lösung, dann der Inhalt selbst. Wenn Sie jedoch die Absicht haben, etwas so geheim zu halten, dass es nicht von einer einzelnen Person gelöst werden kann und die Menschen zusammenarbeiten müssen, oder wenn Sie befürchten, dass Ihr Osterei (beabsichtigt) so gut versteckt ist, dass es nicht funktioniert Wahrscheinlicher ist, dass jemand es im Code findet, eher durch das Spiel. Dann denke ich, dass das großartig funktionieren könnte.
Ich persönlich würde empfehlen, es nur einmal pro Spiel zu verwenden und nur für Dinge, die das Kernspiel nicht beeinflussen, z. B. Ostereier, ein geheimes Ende. Jedes Rätsel müsste so kompliziert oder gut versteckt sein, dass es die Leute so verlangsamt, dass sich die Verschlüsselung des Inhalts lohnt. Wenn dieses Rätsel den Fortschritten der Leute im Wege steht, hat wahrscheinlich niemand Spaß.