@kakisaebalsujit

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

Всем привет, вот я пишу сейчас некоторую игру. И я задался вопросом, как можно организовать отслеживание и выполнение задание пользователем.
Приведу пример, у меня есть ведро и ручей. Человеку нужно набрать для выполнения задание 5 ведер, но набор воды происходит в отдельном кусочке кода, и вот как отслеживать выполнения задания идей нету.
Можно просто привести логику в виде текста, ну или какой то схемы.
Буду рад, спасибо заранее.
  • Вопрос задан
  • 156 просмотров
Решения вопроса 2
@bqio
https://bqio.github.io/
Задание (квест) - это слушатель действий игрока. Как только игрок совершает определенное действие, меняются текущие условия задания. В Вашем движке должен быть некий middleware, который будет слушать все действия и все активные задания и когда условия задания будут выполнены, он его отметит как завершенное и больше слушать его не будет. Когда игрок будет набирать воду, у вас в коде должно изменяться состояние задания.

Через этот middleware должны будут проходить все действия пользователя, а ядро уже, по их типу, будет определять "тип" действия (набор воды) и изменять состояние задания.

Я вижу это так. Остальные могут меня поправить.
Ответ написан
Grapeoff
@Grapeoff
В чём концепция...?
Согласен с человеком выше.

Я бы сделал событийно-ориентированную реализацию данной задачи.

То бишь каждое событие (ну, не прям каждое, а только то, которое в теории может быть заданием) отправляло оповещение о своём совершении во внешний код, а там уже решать, прибавлять прогресс к чему-то или нет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы