Ci sono dei framework esistenti su cui posso basarmi? Dovrei costruirne uno mio? Come posso evitare di pubblicare punteggi falsi?
Ci sono dei framework esistenti su cui posso basarmi? Dovrei costruirne uno mio? Come posso evitare di pubblicare punteggi falsi?
Risposte:
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.
Non sono sicuro che esista un framework che si estende su più piattaforme ma ci sono sicuramente framework specifici per piattaforma. Due che vengono in mente per l'iPhone sono Scoreloop e OpenFeint .
Dai un'occhiata a OpenFeint : Introduzione a OpenFeint SDK per Android 1.8 Facile da avviare!
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.