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