JasonFlatford
Skip to content

Case study

The Endless Grimoire — cozy spell-craft idle, built for delight

Tap to gather, hire quirky workers, unlock passive sigils, and time active spells to push the run. Under the hood: a strongly-typed game loop, configurable balance, and human-friendly math with a smooth, responsive UI.

  • Pre-MVP
  • Active & passive spells
  • Workers + automation
  • Offline progress
  • 20+ theme variants

Overview

The Endless Grimoire is a cozy, session-friendly idle/incremental with a spellbook at its heart. You gather arcana, hire workers to automate taps, unlock passive sigils that reshape the math, and time active spells with cooldowns to break through soft caps.

  • Active & passive magic: actives have costs/cooldowns; passives unlock permanent modifiers and new builds.
  • Workers & automation: Producers, Speeders, and Boosters with readable value curves and batch-purchase helpers.
  • Rotating themes: 20+ themes planned for launch (some purchasable). Each time you prestige—jumping the rift into the next timeline—you’ll play in a theme you haven’t seen yet.

What makes it fun

Pacing & payoffs

  • Short spikes from actives; long arcs from passives.
  • Clear near-term goals: the next worker, sigil, or spell rank.
  • “Aha!” moments when synergies unlock a new tier of income.

Clarity by design

  • Cards explain exactly what changed (icons + crisp copy).
  • Cooldowns, costs, and yields in human time/number formats.
  • Progress bars and highlight states reduce cognitive load.

Systems at a glance

Spellbook

  • Actives: cost magic, trigger effects, and enter cooldown.
  • Passives: unlock permanent multipliers and new caps.
  • Detail sheets: cost rows, cooldown bars, availability, and smart primary actions (“Develop”, “Cast”, “Cooling down”).

Workers

  • Three worker families (Producers/Speeders/Boosters) with geometric pricing.
  • Batch math + max-purchasable helpers; clear buy/affordance states.

Progression

  • Soft/hard caps via config; narrative intro variants per theme.
  • Theme packs (palette, flavor, icons) swap with a single line.

Engineering highlights

  • SSOT for math: a Derived-Stats engine aggregates all modifiers (spells, upgrades, theme) so UI reads from one source of truth.
  • Typed configs with Zod: game balance in JSON validated by Zod; safe merges + experiment flags for rapid iteration.
  • Workers domain: pure utilities for pricing, batch buys, and max-buy; framework-agnostic so logic is easy to unit test.
  • Offline reconciliation: snapshot, cap, and produce during downtime with predictable, human-readable math.
  • React context + hooks: Campaign & Theme providers isolate state; tiny, memoized selectors keep the UI snappy.

What’s next

  • Achievements & meta-progress “chapters”.
  • More passive synergies and late-game loops.
  • Live-ops hooks for seasonal and purchasable themes.
  • Web build + iOS/Android via Expo EAS.

Want to try it?

I’m sharing private builds with studios and friends. If you’d like to test the feel—or peek under the hood at the math/config system—I’m happy to send a build.

Back to top ↑

Press Esc to close • ⌘K / Ctrl K to open