Season and battle pass: tiers with prizes
How the ready-made iDos Games season works - a battle-pass-style ladder of tiers with rewards, status from play, VIP second prizes and alternating seasons - and how to set it up in the dashboard.
The season is a battle-pass-style ladder: the player earns status by playing, climbs tiers and collects a reward on each one. Seasons follow each other in a chain, and a VIP pass adds a second prize on every tier.
What the player sees
- Every season chain as a tab with the active season: name and timer.
- The player's tier and the status bar to the next one.
- The tier ladder: each tier pays once; "Claim all" takes every reached tier.
- A VIP second prize when the pass is active at the moment of the claim, and "Get VIP".
How it works
- The server decides the tier, including status that comes as a reward of other systems.
- A chain open to clients takes status from the game; the minimal template grants status for every round.
- Seasons of a chain follow each other: when one ends, the next one starts.
Step 01Add the system to your project
Ask the AI coder: "Add a battle pass season". It installs the ready system with two alternating 28-day seasons of five tiers with a VIP prize on each.
Step 02Set it up in the dashboard
Open the dashboard, pick your project and go to Live Operations → v2 → Season.
- Create a season chain and its seasons with dates.
- Build the tier ladder: status thresholds, rewards and VIP prizes.
- Decide where status comes from: the game, rewards of other systems or both.
The AI button on the page opens an assistant: describe what you need, it proposes changes, and you review them and press Save.
Step 03Test and release
Check the system in the test version of your app. Settings go to the live app as a separate action - see publishing and links.
For developers
The season works through client.season in @idosgames/core.
// A round was played: season status for a chain open to clients
await client.season.grantStatusTokens('main_season', 10)
// Claim reached tiers of the chain in one call (CurrentTier is in the state)
await client.season.claimTierRewardsBatch('main_season', [6, 7])- The game grants status only to a chain open to clients.
- The VIP prize is checked at the moment of the claim: a pass bought later does not pay tiers already claimed.
Every field is described in the season-system skill, served by the SDK MCP server.
Frequently asked questions
Is this a battle pass?
Yes, the same mechanic: tiers by status with a free prize and a VIP prize on each.
Where does status come from?
From play when the chain is open to clients, and from rewards of other systems: quests, events, chests.
See also
- Timed events: a festival with a prize trackHow ready-made iDos Games timed events work - limited-time events with tokens, a milestone track, VIP second prizes and daily caps - and how to set them up in the dashboard.
- VIP and premium passes in your gameHow the ready-made iDos Games VIP system works - premium passes with benefits, a free trial, discounts and bonus rewards across the game - and how to set it up in the dashboard.
- In-game leaderboard: ranking, rounds and rewardsHow the ready-made iDos Games leaderboard works - boards with rounds, rewards for rank and for points, protection from inflated scores - and how to set it up in the dashboard.
Make your own game
Describe the idea in a sentence - the AI coder builds it, and it goes live at its own link.