Come posso implementare una scala globale di punteggio elevato? [chiuso]


15

Ci sono dei framework esistenti su cui posso basarmi? Dovrei costruirne uno mio? Come posso evitare di pubblicare punteggi falsi?


Di quali piattaforme stai parlando? Deve funzionare su più piattaforme?
Dennis Munsie,

@Dennis utilizza specificamente Java e lo sviluppo per Android.
Bryan Denny,

Risposte:


6

ScoreLoop è disponibile per la piattaforma Android.

Puoi usare ScoreNinja anche . ScoreNinja offre un modo semplice per implementare punteggi globali ma richiede di visualizzare il punteggio nell'applicazione ScoreNinja.

Altrimenti Cocos iphone fornisce un punteggio globale con CocosLive . Puoi utilizzare CocosLive.net o utilizzare la tua VM di GoogleApp Engine. CocosLive non è disponibile sulla piattaforma Android ma il protocollo è REST con JSON e può essere facilmente trasferito.

La mia soluzione attuale è CocosLive per Android e iPhone con la mia VM, ma userò ScoreLoop nel mio prossimo gioco per l'integrazione con i social network.




1

Fare quanto segue:

(1) L'utente ottiene un punteggio nel gioco.

(2) Crea la stringa "Nome utente, punteggio, data e ora" o qualcosa di simile.

(3) Aggiungi un salt (stringa segreta) a questa stringa: "username, score, timestamp, SALTSTRING"

(4) Calcola un hash di questa stringa con il tuo algoritmo preferito, (MD5, SHA ...).

(5) Pubblica "Nome utente, punteggio, timestamp" insieme all'hash che hai calcolato sul tuo sito: www.yoursite.com?str=username, punteggio, timestamp&hash=MYHASH o qualcosa di simile

(6) Sul server, ripetere il calcolo, ovvero creare "nome utente, punteggio, timestamp, SALTSTRING" e confrontarlo con l'hash inviato dall'utente. Se nessuna corrispondenza, allora qualcosa è stato manomesso.

Nota, se l'utente può ottenere i file di classe, allora possono essere decompilati e quindi si può vedere il salt. Tuttavia, se l'utente può decompilare il tuo programma, non c'è modo di prevenire falsi punteggi alti: l'utente può modificare il codice per semplificare il gioco e utilizzare quella versione. Non avrai modo di verificarlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.