Wie kann ich eine globale Highscore-Rangliste implementieren? [geschlossen]

15

Gibt es Frameworks, auf denen ich aufbauen kann? Soll ich mein eigenes bauen? Wie kann ich verhindern, dass gefälschte Ergebnisse veröffentlicht werden?

Bryan Denny
quelle
Über welche Plattformen sprichst du? Muss es plattformübergreifend funktionieren?
Dennis Munsie
@Dennis speziell mit Java und Entwicklung für Android.
Bryan Denny

Antworten:

6

ScoreLoop ist für die Android-Plattform verfügbar.

Sie können ScoreNinja auch verwenden. ScoreNinja bietet eine einfache Möglichkeit, globale Scores zu implementieren, erfordert jedoch, dass Sie Ihre Scores in der ScoreNinja-Anwendung anzeigen.

Ansonsten Cocos iphone bietet eine globale Punktzahl mit CocosLive . Sie können CocosLive.net oder Ihre eigene GoogleApp Engine VM verwenden. CocosLive ist auf Android-Plattformen nicht verfügbar, das Protokoll ist jedoch REST mit JSON und kann problemlos portiert werden.

Meine aktuelle Lösung ist CocosLive für Android und iPhone mit meiner eigenen VM, aber ich werde ScoreLoop in meinem nächsten Spiel für die Integration in soziale Netzwerke verwenden.

Ellis
quelle
5

Ich bin nicht sicher, ob es ein Framework gibt, das sich über mehrere Plattformen erstreckt, aber es gibt mit Sicherheit plattformspezifische Frameworks. Zwei, die für das iPhone in den Sinn kommen, sind Scoreloop und OpenFeint .

carson
quelle
OpenFeint wurde für Android angekündigt - siehe openfeint.com/developers/android .
Dennis Munsie
1

Mach Folgendes:

(1) Der Benutzer erhält eine Punktzahl im Spiel.

(2) Erstellen Sie die Zeichenfolge "Benutzername, Punktzahl, Zeitstempel" oder ähnliches.

(3) Hänge ein Salt (geheime Zeichenkette) an diese Zeichenkette an: "Benutzername, Punktzahl, Zeitstempel, SALTSTRING"

(4) Berechnen Sie einen Hash dieser Zeichenfolge mit Ihrem bevorzugten Algorithmus (MD5, SHA ...).

(5) Veröffentlichen Sie "Benutzername, Punktzahl, Zeitstempel" zusammen mit dem von Ihnen berechneten Hash auf Ihrer Website: www.yoursite.com?str=username,score,timestamp&hash=MYHASH oder ähnliches

(6) Wiederholen Sie auf Ihrem Server die Berechnung, dh erstellen Sie "Benutzername, Punktzahl, Zeitstempel, SALTSTRING" und vergleichen Sie diese mit dem vom Benutzer übermittelten Hash. Wenn keine Übereinstimmung vorliegt, wurde etwas manipuliert.

Wenn der Benutzer die Klassendateien erhalten kann, können sie dekompiliert werden, und somit kann das Salz gesehen werden. Wenn der Benutzer Ihr Programm jedoch dekompilieren kann, gibt es keine Möglichkeit, falsche Highscores zu verhindern: Der Benutzer kann den Code ändern, um das Spiel zu vereinfachen und diese Version zu verwenden. Sie haben keine Möglichkeit, das zu überprüfen.

Per Alexandersson
quelle