Game systems

In-game quests: daily tasks and rewards

How the ready-made iDos Games quests work - daily, weekly and one-time tasks, a points track with chests and a bonus for a group of tasks - and how to set them up in the dashboard.

Updated: Русский

Quests are a ready-made task system: daily, weekly and one-time quests with rewards, a points track with chests and a bonus for completing a group of tasks. Quests are part of every new project. The server counts progress and rewards; the game only reports what the player did and shows the result.

What the player sees

  • Cycles as tabs: daily, weekly, achievements, with a timer to the next cycle.
  • Progress bars on every task and a details popup with all its goals.
  • A "Claim all" button for finished tasks.
  • A points track with chests that open as points add up.
  • A badge on the tab when finished tasks are waiting.
Quests
12 450
320
Daily2
Weekly
Achievements
New quests in 08:12:44
Quest points: 45
20
40
60
80
100
Defeat 20 monsters
20/20
+10
Claim
Clear 3 stages
3/3
+10
Claim
Upgrade the hero 10 times
7/10
+15
Claim
Buy anything in the shop
0/1
+20
Claim
Claim all
Cycles are tabs, with the timer to the next cycle.
The points track: claimed quests add points, chests open along the way.
A finished quest waits for "Claim"; the rest show their progress.
"Claim all" takes every finished quest in one tap.
Example. The quests screen: cycles, the points track with chests and the quest list.

How quests are built

  • Cycle - a set of tasks with a schedule: daily, weekly, permanent or a timed event. A cycle can run in phases one after another, for example a season of eight weeks, each week with its own tasks and its own points track.
  • Quest - one or more goals, each with its own counter ("defeat 20 monsters"), and a reward. A quest can require another quest to be done first: that is how chains are built.

There are three kinds of rewards, and all of them work at once:

  1. Quest reward - when all goals are done.
  2. Chests on the points track - a claimed quest adds cycle points, and a chest opens at the required total.
  3. Group bonus - when a set number of quests of one group are done.

Where progress comes from

SourceExampleWhat you need to do
The game reports itA monster defeated, a level clearedOne line of code where it happens
The server counts itA store purchase, another quest claimedNothing, just pick the event
A server scriptYour own rule in cloud codeA call from the script

Step 01Create a cycle

Open the dashboard, pick your project and go to Live Operations → v2 → Quest. On the Cycles tab create a cycle, for example a daily one, and add a points track with chests if you like.

Step 02Add tasks

On the Quests tab create a quest: name, cycle, goals and reward. For each goal choose where its progress comes from. If the game counts it, pick a counter name, for example monsters_defeated.

The AI button on the page opens an assistant: "Make three daily quests: for wins, for store purchases and for hero upgrades". It proposes changes, and you review them and press Save.

Step 03Teach the game to report progress

For goals the game counts, ask the AI coder: "Count monsters_defeated every time a monster is defeated". It adds the call in the right place of the code. The idle RPG template already reports cleared stages and hero upgrades.

For developers

Quests work through client.quest in @idosgames/core. Progress is sent by counter name, not by quest: the server hands it to every active task that listens to that counter.

TypeScript
// Where it happens: a monster was defeated
await client.quest.addQuestProgress('monsters_defeated', 1)

// The quests screen: the player's progress; cycles roll forward by themselves
const state = await client.quest.getUserQuestState()

// Claim the reward of a finished quest
const claim = await client.quest.claimQuestReward('daily_win_20', 'daily')
if (!claim.ok) return showError(claim.error)
  • addQuestProgress moves only goals whose source is the game. Goals the server counts by itself are rejected.
  • Never send a value "to be safe": if a goal has a maximum per call, going over it bans the player's account.
  • Granted rewards are already applied to the balances in the SDK cache, no need to reload them.

Every field is described in the quest-system skill, served by the SDK MCP server.

Frequently asked questions

Do I need to add quests to my project?

No. Quests are part of every new project. The quests tab becomes visible to players as soon as at least one quest is set up in the dashboard.

How does the game know a task is done?

The server counts progress. Some tasks it counts by itself (purchases, other quests), and about actions inside the game, such as defeating a monster, the game tells the server with one line of code.

Can I make a battle pass?

The points track of a cycle gives a similar mechanic. Every claimed quest adds points, and the track holds chests that open when the player reaches the required points.

See also

Make your own game

Describe the idea in a sentence - the AI coder builds it, and it goes live at its own link.