system

Use when

You are planning post-launch content cadence and retention.

What it is. The post-launch content engine: a repeating cadence of seasons, events, and rotations that gives a shipped game a reason to be reopened. Live-ops is the calendar; the game is the venue.

Player fantasy / why it’s fun. The game is a place, not a purchase. Something is happening right now that won’t be happening next month — so coming back feels like showing up, not grinding.

When to use / when NOT

Use when the loop is replayable and you can author content faster than players exhaust it — genre-roguelike, genre-deckbuilder, genre-horde-survival, genre-auto-battler, competitive genre-fighting-game. Live-ops is a promise of more; only make it if you can keep it.

Do NOT bolt seasons onto a finite, authored, one-and-done experience (genre-walking-sim, genre-puzzle-platformer, a tight genre-metroidvania). A season on a game with no evergreen loop is a countdown to antipattern-content-desert. And never ship the calendar before the process-core-loop is fun on day one — live-ops amplifies a good loop, it does not create one.

Variants

VariantShapeReferenceBest for
Battle-pass seasonFixed-length track of rewards; play to progress tiersFortnite, Dead Cells daily/seasonal (anchor-dead-cells)Steady engagement, cosmetic monetization
Rotating modesA pool of modifiers/rulesets cycles in and outSlay the Spire dailies (anchor-slay-the-spire), Hades Pact heat (anchor-hades)Reframing existing content cheaply
Limited-time eventThemed content live for a window, then goneVampire Survivors patches (anchor-vampire-survivors), holiday eventsSpikes, novelty, community moments
Living map / world beatThe shared world state visibly changes each seasonFortnite map, Animal Crossing seasons (anchor-animal-crossing)Persistence, “you had to be there”
Ranked ladder resetCompetitive standing wipes and re-climbs on a clockStarCraft (anchor-starcraft), Dota (anchor-dota) MMR seasonsKeeping system-achievements-and-leaderboards fresh

The twist seams

Tuning levers

LeverTurn up →Turn down →
CadenceFaster (weekly) = habit, but burns content and staffSlower (quarterly) = each drop is an event, but dead air between
Rotation vs accumulationRotate out → legible, balanceable, urgentAccumulate → collector satisfaction, but bloat + creep
Track lengthLong pass = commitment, but a completion cliff for late joinersShort pass = casual-friendly, but weaker retention hook
Catch-up generosityGenerous → newcomers belong (system-onboarding)Stingy → early adopters feel elite, latecomers bounce
ExclusivityNever-again rewards = urgency + statusRe-earnable = fairness, but softer pull
Reward mixCosmetic-heavy = safe (no creep)Power-heavy = the fastest road to antipattern-pay-to-skip and creep

FOMO ethics — the line you don’t cross

Urgency is fine. Manufactured anxiety is a dark pattern. Hold the line:

How it wires to Hayao

Live-ops is content scheduling over a deterministic base — the sim never learns the real calendar; a season is data fed in, not wall-clock read inside the loop. Keep it clean:

Fails when…

Verify

Frontmatter sets the target: see docs/VERIFICATION.md. Season selection must be deterministic (same season id + seed → same run) and all season state must stay out of the world hash where it’s cosmetic. Prove the reward track’s pacing against system-reward-schedules, and confirm catch-up math lets a mid-season joiner reach the finale within the remaining window.

This module rendersthe repo's markdowndirectly — edit it there, it changes here.