thedivergentai/godot-genre-idle-clicker
Expert blueprint for idle/clicker games including big number handling (mantissa + exponent system), exponential growth curves (cost_growth_factor 1.15x), generator systems (auto-producers), offline progress calculation, prestige systems (reset for permanent multipliers), number formatting (K/M/B suffixes, scientific notation). Use for incremental games, idle games, or cookie clicker derivatives. Trigger keywords: idle_game, big_number, exponential_growth, generator_system, offline_progress, prestige_system, number_formatting.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-genre-idle-clicker
Expert blueprint for idle/clicker games with exponential progression and prestige mechanics.
1.5e300) to prevent INF crashes at 1e308.Timer nodes for revenue generation; strictly use a manual accumulator in _process(delta) to prevent drift during frame fluctuations.Cost = BasePrice * pow(GrowthFactor, OwnedCount) (industry standard 1.15x).==); strictly use is_equal_approx() or >= to prevent "stuck" progress due to precision loss.to_int(); strictly use to_float() or a dedicated BigNumber parser.OS.low_processor_usage_mode = true to preserve battery life.MultiMeshInstance for click-feedback.text property; strictly use append_text() to prevent main thread blocking.seconds_offline * total_revenue using system UNIX timestamps (Time.get_unix_time_from_system()).Time.get_ticks_msec(); strictly use Persistent UNIX timestamps as ticks reset on app restart.RefCounted or Resource objects for lightweight, serializable logic.> MANDATORY reads before implementing the matching system:
> 1. big_number.gd — mantissa + exponent beyond float INF
> 2. generator.gd — exponential cost / rate units
> 3. scientific_notation_formatter.gd — K/M/B/T + scientific display
> 4. offline_progress_calculator.gd — UNIX offline catch-up (not ticks_msec)
low_processor_usage_mode + signal-throttled UI..tres pattern.| Need | Action |
|------|--------|
| Values past ~1e308 | MANDATORY big_number.gd |
| Labels / abbreviations | MANDATORY scientific_notation_formatter.gd |
| Cost curve ~1.15^n | generator.gd + precision_cost_validator.gd |
| Need | Action |
|------|--------|
| Offline catch-up | MANDATORY offline_progress_calculator.gd (UNIX time) |
| Long catch-up | threaded_catchup_simulator.gd |
| Battery / idle CPU | idle_performance_setup.gd |
Do not re-inline BigNumber/Offline tutorials in the skill body — load the scripts above.
| Phase | Skills | Purpose |
|-------|--------|---------|
| 1. Math | godot-gdscript-mastery | Big-number arithmetic |
| 2. UI | godot-ui-containers, labels | Scientific / suffix labels |
| 3. Data | godot-save-load-systems | Offline timestamps + prestige |
| 4. Logic | signals | Throttled economy UI |
| 5. Balance | godot-monte-carlo-balancer | Minutes-to-milestone bands |
| Pitfall | Solution |
|---------|----------|
| Wrong Expert Component hrefs | Links above point at canonical big_number / generator / formatter |
| Time.get_ticks_msec offline | Use UNIX via offline calculator |
| UI every frame | Signal-throttle via economy bus / performance setup |
> LLM-ignorance rule: If a general agent would not know it before reading, load the reference — never delete expert deltas.
> Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.
_process(delta) (or a fixed sim tick), not drifting Timer nodes, so generators stay frame-rate independent.Time.get_unix_time_from_system(); never get_ticks_msec(), which resets when the app restarts.user:// so offline timestamps and big-number strings remain writable across platforms..tres Resources so designers retune cost_growth_factor without code changes.@export base costs, revenue rates, and growth factors so balance sheets stay Inspector-driven.currency_updated only when balances change so HUD labels do not rewrite every frame.OS.low_processor_usage_mode (and sleep usec) for mobile idle sessions that spend most time waiting on generators.WorkerThreadPool; UI must not block while thousands of ticks replay.call_deferred / main-thread rules from this page.%.2fe%d scientific display depend on correct format strings (and String.num_scientific when appropriate).RefCounted/Resource data, not Node trees.pow growth, and precision-safe compares (is_equal_approx) are core GDScript patterns before building idle economies..tres assets.GridContainer/VBoxContainer layouts bound to throttle-friendly labels.text blobs.GPUParticles2D.emit_particle rather than spawning Label nodes per tap.Take thedivergentai/godot-genre-idle-clicker from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.