Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Как можно защитить дневные ивенты в игре от пользователей, переводящих время на устройстве

#c_sharp #unity3d #разработка_игр


Разрабатываем оффлайн игру.

Одна из особенностей - ивенты. Дневные, месячные и т.п. Как пример, есть ивент, который
стартует сначала каждого месяца. За заход в игру даются всякие плюшки. Выглядит как-то так.



Чем больше дней в месяце ты заходил в игру, тем круче награду получаешь. 

Проблема: человек может переводить время на день вперёд 24 раза и получить награду
за весь месяц в первый же день. В онлайн играх такой проблемы нет. Но как предотвратить
такие читы в оффлайн игре? Понятное дело, что человек на своём устройстве про большом
упорстве может что угодно ломануть в игре. 

В данном случае хочется найти алгоритм, который защитит от дилетантских попыток (вроде
перевода времени).

P.S. игра на unity3d, но это не важно, алгоритм не привязан к конкретному языку/движку.
    


Ответы

Ответ 1



Самое надёжное решение тут с использованием интернета. Его на работе и применяем. Всё просто: - Если соединения нет, то все ивенты недоступны, а вместо них какая-нибудь заглушка вроде "войдите в сеть, чтобы получить доступ к событиям" - Если интернет есть, то просто берём дату с серверам бэкенда или откуда-нибудь из интернета.

Комментариев нет:

Отправить комментарий