Существуют ли какие-либо фреймворки, на которых я могу построить? Должен ли я построить свой собственный? Как я могу предотвратить публикацию поддельных результатов?
Существуют ли какие-либо фреймворки, на которых я могу построить? Должен ли я построить свой собственный? Как я могу предотвратить публикацию поддельных результатов?
Ответы:
ScoreLoop доступен для платформы Android.
Вы также можете использовать ScoreNinja . ScoreNinja предлагает простой способ реализации глобальных оценок, но требует просмотра результатов в приложении ScoreNinja.
В противном случае Cocos iphone обеспечивает глобальный счет с CocosLive . Вы можете использовать CocosLive.net или использовать собственную виртуальную машину GoogleApp Engine. CocosLive не доступен на платформе Android, но протокол REST с JSON и может быть легко перенесен.
Мое текущее решение - CocosLive для Android и iPhone с моей собственной виртуальной машиной, но я буду использовать ScoreLoop в моей следующей игре для интеграции в социальные сети.
Я не уверен, что есть одна структура, которая охватывает несколько платформ, но наверняка есть платформы для конкретных платформ. Два, которые приходят на ум для iPhone, это Scoreloop и OpenFeint .
Ознакомьтесь с OpenFeint : Начало работы с OpenFeint SDK для Android 1.8 Легко начать!
Сделайте следующее:
(1) Пользователь получает оценку в игре.
(2) Создайте строку «Имя пользователя, оценка, отметка времени» или что-то подобное.
(3) Добавить соль (секретную строку) к этой строке: «имя пользователя, оценка, отметка времени, SALTSTRING»
(4) Рассчитайте хэш этой строки с помощью вашего любимого алгоритма (MD5, SHA ...).
(5) Опубликуйте «Имя пользователя, счет, метку времени» вместе с хэшем, который вы вычислили на своем сайте: www.yoursite.com?str=username,score,timestamp&hash=MYHASH или что-то подобное
(6) На вашем сервере повторите вычисления, то есть создайте «имя пользователя, счет, метку времени, SALTSTRING», а затем сравните с хешем, который отправил пользователь. Если нет совпадения, значит что-то было подделано.
Обратите внимание: если пользователь может получить файлы классов, они могут быть декомпилированы, и, таким образом, можно увидеть соль. Однако, если пользователь может декомпилировать вашу программу, нет способа предотвратить ложные высокие оценки: пользователь может изменить код, чтобы сделать игру проще и использовать эту версию. У вас не будет возможности проверить это.