Skip to content

Cycles overview

A world cycle in PostRoll is a recurring world state with named phases: moons waxing and waning, tides rising and falling, seasons turning, festival rings rotating. Cycles let your world have texture — “the players arrive in Vael during the Festival of Lanterns, on a falling tide, under a waxing gibbous moon”.

Cycles are defined once with a period and an anchor. Every view works out “what phase are we in right now” on the fly — nothing is stored ahead of time. This means you can change a cycle’s anchor or phase definitions and every view updates instantly.

Cycle kind Examples
moon The classic Standard Moon (28-day, 8 phases). Fantasy worlds with multiple moons add one cycle per moon.
tide A 12-hour two-tide cycle, or 6-hour for fast tidal worlds.
season 365-day Four Seasons, or unequal seasons in non-Earth settings.
festival A festival ring with one named festival per month / season.
custom Anything else periodic — magical storms, ghost tides, mana cycles, monster migrations, portal alignments.

A world can have any number of cycles, each independent. They all overlay on the Calendar grid as small chips per day.

Three core numbers + a phase list:

  • Period — the cycle length in minutes. A 28-day moon is 28 × 24 × 60 = 40,320. A 12-hour tide is 12 × 60 = 720.
  • Anchor point — the master timeline position the cycle is pinned to. At this position, the cycle is at the phase you set below.
  • Phase index — which phase the cycle sits at, at the anchor point. Defaults to 0 (the first phase).
  • Phases — ordered list of named phases, each with a fraction of the cycle. Fractions sum to ≈1.0.

Once defined, every view (Cycles dashboard, Calendar phase chips, wiki embed) works out the current phase from the period and the anchor point on the fly.

  • Cycles tab — phase ring + “next 30 days” strip per cycle, with a date scrubber for time-travel browsing.
  • Calendar tab — small phase emoji chips in each day cell’s top-right.
  • Wiki embeds — the World cycles block shows a card grid with current phases.

A cycle has its own Visibility setting:

  • World (default) — visible to anyone with read access.
  • GM only — hidden from player-facing views (Calendar chips, the wiki embed, the Cycles dashboard for viewers). Useful for hidden cycles like a curse cycle that the players haven’t discovered.

GM only cycles still apply to the world — the GM can see them on their dashboard and use them for planning — they just don’t surface on player views.

For the common workflows:

  1. Just want a moon — clone Standard Moon, name it (“Sister”, “Selûne”, whatever), edit its anchor point to line up a known phase with a known date.
  2. Want tides for a coastal campaign — clone Twice-Daily Tide, anchor it. Tides feel right with the asymmetric default phase fractions (low/high short, rising/falling longer).
  3. Want seasons in a non-Earth setting — clone Four Seasons, override the period to your world’s year length, edit the season names.
  4. Want a festival calendar — clone 12-Month Festival Ring, rename each phase to your festival.