@cubaPro

Как организовать систему достижений в играх?

Здравствуйте.

В игре необходимо реализовать систему достижений.
- Находился в онлайне N часов
- Заработал N денег
- Потратил N денег
- Достиг N уровня

...

Мои мысли:
1. Реализовать класс на каждую группу событий и вызывать его в определенной части. Например те достижения которые нужно проверять после каждого обновления страницы установить в какой нибудь AppController а остальные после определенного действия.

2. Встроить условия в таблицу что то вроде
проверить: Fetch | users | online | >= | 60
выполнить: users | id | points | +10000

проверить: Fetch | users | online | >= | 120
выполнить : users | id | points | +20000

Но кажется, что все это как то топорно. Как решаются подобные задачи, поделитесь пожалуйста опытом и идеями. Спасибо
  • Вопрос задан
  • 60 просмотров
Решения вопроса 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Каждое событие исправляет значение определённого достижения в отдельной ячейке/колонке таблицы достижений.

История изменений достижений по конкретному пользователю - идёт параллельно и используется для сверки или обновления итогового рейтинга при смене формулы его подсчёта на основе достижений.
Ответ написан
@MagicMight
Можно завести таблицу с достижениями и пользователями, которым достижение назначено.
И создать, например, триггеры, которые следят за апдейтами
Например, апдейт очков пользователя проверяет необходимость назначения ачивки по очкам. И так далее
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
15 авг. 2020, в 01:45
95000 руб./за проект
14 авг. 2020, в 22:47
15000 руб./за проект
14 авг. 2020, в 22:40
15000 руб./за проект