@cubaPro

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

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

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

...

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

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

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

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

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

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

Похожие вопросы