#c_sharp #unity3d #разработка_игр
Разрабатываем оффлайн игру. Одна из особенностей - ивенты. Дневные, месячные и т.п. Как пример, есть ивент, который стартует сначала каждого месяца. За заход в игру даются всякие плюшки. Выглядит как-то так. Чем больше дней в месяце ты заходил в игру, тем круче награду получаешь. Проблема: человек может переводить время на день вперёд 24 раза и получить награду за весь месяц в первый же день. В онлайн играх такой проблемы нет. Но как предотвратить такие читы в оффлайн игре? Понятное дело, что человек на своём устройстве про большом упорстве может что угодно ломануть в игре. В данном случае хочется найти алгоритм, который защитит от дилетантских попыток (вроде перевода времени). P.S. игра на unity3d, но это не важно, алгоритм не привязан к конкретному языку/движку.
Ответы
Ответ 1
Самое надёжное решение тут с использованием интернета. Его на работе и применяем. Всё просто: - Если соединения нет, то все ивенты недоступны, а вместо них какая-нибудь заглушка вроде "войдите в сеть, чтобы получить доступ к событиям" - Если интернет есть, то просто берём дату с серверам бэкенда или откуда-нибудь из интернета.
Комментариев нет:
Отправить комментарий