Квесты в игре: ежедневные задания и награды
Как работают готовые квесты iDos Games - ежедневные, еженедельные и разовые задания, трек очков с сундуками и бонус за группу заданий - и как настроить их в кабинете.
Квесты - готовая система заданий: ежедневные, еженедельные и разовые квесты с наградами, трек очков с сундуками и бонус за выполнение группы заданий. Квесты есть в каждом новом проекте. Прогресс и награды считает сервер, игра только сообщает о действиях игрока и показывает результат.
Что видит игрок
- Циклы вкладками: ежедневные, еженедельные, достижения, с таймером до следующего цикла.
- Полосы прогресса у каждого задания и окно с подробностями и всеми целями.
- Кнопку «Забрать всё» для выполненных заданий.
- Трек очков с сундуками, которые открываются по мере набора очков.
- Значок на вкладке, когда есть выполненные задания.
Как устроены квесты
- Цикл - набор заданий с расписанием: ежедневный, еженедельный, постоянный или событие на время. Цикл может идти фазами одна за другой, например сезон из восьми недель, у каждой недели свои задания и свой трек очков.
- Квест - одна или несколько целей, у каждой цели свой счётчик («победить 20 монстров»), и награда. Можно требовать, чтобы перед ним был выполнен другой квест: так строятся цепочки.
Наград три вида, и все работают одновременно:
- Награда за квест - когда все цели выполнены.
- Сундуки на треке очков - забранный квест добавляет очки цикла, сундук открывается при наборе нужного числа.
- Бонус за группу - когда выполнено заданное число квестов одной группы.
Откуда берётся прогресс
| Источник | Пример | Что нужно сделать |
|---|---|---|
| Сообщает игра | Победа над монстром, пройденный уровень | Одна строка кода в месте действия |
| Считает сервер сам | Покупка в магазине, забранный другой квест | Ничего, только выбрать событие |
| Серверный скрипт | Своё правило в облачном коде | Вызов из скрипта |
Шаг 01Создайте цикл
Откройте кабинет, выберите проект и перейдите в LiveOps → v2 → Quest. На вкладке Циклы создайте цикл, например ежедневный, и при желании добавьте трек очков с сундуками.
Шаг 02Добавьте задания
На вкладке Задания создайте квест: название, цикл, цели и награду. Для цели выберите, откуда берётся прогресс.
Если её засчитывает игра, придумайте имя счётчика, например monsters_defeated.
Кнопка ИИ на странице открывает помощника: «Сделай три ежедневных квеста: на победы, на покупки в магазине и на улучшения героя». Он предложит правки, вы проверите их и нажмёте Сохранить.
Шаг 03Научите игру сообщать о прогрессе
Для целей, которые засчитывает игра, попросите ИИ-кодер: «Засчитывай счётчик monsters_defeated при каждой победе над монстром». Он добавит вызов в нужное место кода. Шаблон idle-RPG уже сообщает о пройденных этапах и улучшениях героя.
Для разработчиков
Квесты работают через client.quest из @idosgames/core. Прогресс отправляется по имени счётчика, а не по квесту:
сервер сам раздаёт его всем активным заданиям, которые слушают этот счётчик.
// В месте действия: победа над монстром
await client.quest.addQuestProgress('monsters_defeated', 1)
// Экран заданий: прогресс игрока, циклы обновляются сами
const state = await client.quest.getUserQuestState()
// Забрать награду выполненного квеста
const claim = await client.quest.claimQuestReward('daily_win_20', 'daily')
if (!claim.ok) return showError(claim.error)- Через
addQuestProgressможно двигать только цели с источником «игра». Цели, которые сервер считает сам, этот вызов отклонит. - Не отправляйте значение «с запасом»: если у цели задан максимум за один вызов, превышение блокирует аккаунт игрока.
- Начисленные награды уже применены к балансам в кэше SDK, перечитывать баланс не нужно.
Подробное описание полей - в навыке quest-system, его отдаёт MCP-сервер SDK.
Частые вопросы
Квесты нужно добавлять в проект отдельно?
Нет. Квесты входят в каждый новый проект. Вкладка заданий видна игрокам, как только в кабинете настроен хотя бы один квест.
Как игра узнаёт, что задание выполнено?
Прогресс считает сервер. Часть заданий он засчитывает сам (покупки, другие квесты), а о действиях внутри игры, например о победе над монстром, игра сообщает серверу одной строкой кода.
Можно сделать боевой пропуск?
Похожую механику даёт трек очков цикла. Каждый забранный квест добавляет очки, а на треке стоят сундуки, которые открываются при наборе нужного числа очков.
Смотрите также
- Магазин в игре: витрины, товары и ценыКак работает готовый магазин iDos Games - витрины с ротацией товаров, цены в валюте игры или реальными деньгами, бесплатные подарки и лимиты покупок - и как настроить его в кабинете без кода.
- Лидерборд в игре: рейтинг, раунды и наградыКак работает готовый лидерборд iDos Games - таблицы с раундами, награды за место и за набранные очки, защита от накрутки очков - и как настроить его в кабинете.
- Шаблон idle-RPG: герой, волны и боссыГотовый шаблон idle-RPG на iDos Games - герой сам сражается с волнами монстров и боссами, золото копится даже без игрока, характеристики улучшаются за золото. Что внутри и как переделать под свою игру.
- Что входит в новый проектКаждый новый проект на iDos Games начинается со входа, лобби и шести готовых систем; магазин, лидерборды, ивенты, мультиплеер и другие системы добавляются, когда они нужны.
Сделайте свою игру
Опишите идею одним предложением - ИИ-кодер соберёт её, и она откроется по своей ссылке.