thedivergentai/godot-genre-simulation
Expert blueprint for simulation and tycoon games (SimCity, RollerCoaster Tycoon, Factorio, Two Point Hospital) covering economy management, time progression, interconnected systems, NPC simulation, and feedback loops. Use when building management sims, tycoon games, city builders, or resource optimization games. Keywords tycoon, economy system, resource management, time scale, feedback loop, progression unlock, simulation tick.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-genre-simulation
Optimization, systems mastery, and satisfying feedback loops define management games.
_process(); strictly use a Tick Manager to batch updates or process entities in rotating pools.Base * pow(1.15, Level)) to maintain challenge and strategic tension.duplicate() to avoid unintentionally updating every building of that type._physics_process() or delta accumulators for deterministic simulation results.RefCounted or Data Resources to avoid the memory/CPU overhead of the SceneTree.OS.low_processor_usage_mode; strictly enable it for stationary management screens to save massive CPU/Battery life.call_deferred() for thread-safe UI updates..res formats.is_equal_approx() to prevent floating-point jitter failures in logic gates.> MANDATORY reads before implementing the matching system:
> 1. tycoon_economy.gd — integer cents / discrete stocks
> 2. sim_tick_manager.gd — _physics_process tick accumulator
> 3. simulation_tick_controller.gd — speed / pause control surface
| Need | Action |
|------|--------|
| Money / wallets | MANDATORY tycoon_economy.gd — integer cents, never float primary |
| Sim clock | MANDATORY sim_tick_manager.gd — accumulator on _physics_process |
| Speed UI | simulation_tick_controller.gd |
| Entity / load | Strategy |
|---------------|----------|
| < ~200 entities | Tick signal → direct update; UI via resource_changed only |
| Hundreds of agents | Rotate pools per tick; npc_schedule_agent.gd |
| Heavy graph / path logistics | Offload with WorkerThreadPool; call_deferred UI — see simulation_patterns.gd / economy_graph_manager.gd |
| Stationary management screens | Enable OS.low_processor_usage_mode |
Do not re-inline TycoonEconomy / SimulationTime / Worker tutorials — load the scripts.
| Phase | Skills | Purpose |
|-------|--------|---------|
| 1. Data | resources, godot-economy-system | Stocks / sinks |
| 2. Time | tick manager | Deterministic hours |
| 3. Agents | schedules / nav | NPCs & logistics |
| 4. Perf | WorkerThreadPool | Heavy ticks |
| 5. Balance | godot-monte-carlo-balancer | Bankruptcy / growth bands |
| Pitfall | Solution |
|---------|----------|
| Float money | Integer cents in tycoon_economy |
| _process sim step | Physics accumulator tick manager |
| UI every frame | Signal on resource_changed only |
| Topic | Reference / script |
|-------|-------------------|
| Economy & wallets | economy-design.md + tycoon_economy.gd |
| Sim clock / speed | time-system.md + sim_tick_manager.gd |
| Workers & facilities | entity-management.md + npc_schedule_agent.gd |
| Demand & customers | customer-demand.md |
| Feedback & dashboards | feedback-systems.md |
| Unlock progression | progression-unlocks.md |
| Production graphs / CSV bake | elite-technical-patterns.md + simulation_patterns.gd |
> 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.
delta (or a dedicated tick), never frame-count assumptions..tres Resources so designers retune chains without code edits.@export build costs, wages, and growth bases so balance sheets stay Inspector-driven.user:// across platforms.WorkerThreadPool, not the main-thread UI loop.Tree requires call_deferred / main-thread SceneTree rules.OS.low_processor_usage_mode on stationary management UIs to cut CPU/battery burn.NavigationServer3D.map_get_path queries for schedule-driven NPCs without per-agent node overhead.is_equal_approx, and fixed-point-safe math for currency and needs..tres assets, not hard-coded Node trees.resource_changed buses must drive UI without Labels mutating the simulation wallet.store_var, and threaded save/load.Tree/VBoxContainer layouts bound to throttled signals..tres balance sheets exist, Monte Carlo career sims prove minutes-to-milestone and bankruptcy bands before shipping growth factors.Take thedivergentai/godot-genre-simulation 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.