Godot Genre Simulation logo

Godot Genre Simulation

Community
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.

Overview

Publisherthedivergentai
RepositoryGD-Agentic-Skills
Skill namegodot-genre-simulation
Stars
727
Forks
43
Bundled files
22
LicenseLGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 22 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by thedivergentai on GitHub. Read the source before you install it.

Installation

Install the Godot Genre Simulation AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git /tmp/GD-Agentic-Skills
mkdir -p .claude/skills
cp -r /tmp/GD-Agentic-Skills/skills/godot-genre-simulation .claude/skills/godot-genre-simulation
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Godot Genre Simulation in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Godot Genre Simulation on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Godot Genre Simulation is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

NEVER Do (Expert Anti-Patterns)

Simulation & Economy

  • NEVER use floating-point for primary currency; strictly use Integer Cents (or fixed-point math) to prevent accumulated precision errors in financial models.
  • NEVER process 1000+ entities individually in _process(); strictly use a Tick Manager to batch updates or process entities in rotating pools.
  • NEVER rely on linear cost scaling; strictly use Exponential Growth (Base * pow(1.15, Level)) to maintain challenge and strategic tension.
  • NEVER hide critical metrics from the player; strictly provide Detailed Breakdowns (Income vs. Expense) so players can make optimization-based decisions.
  • NEVER allow infinite resource stacking; strictly enforce Logistical Caps (warehouses/silos) to create meaningful space-management gameplay loops.
  • NEVER let the early game become a "Waiting Simulator"; strictly Front-Load Decisions and quick early wins to build player momentum.
  • NEVER modify a shared Resource directly; strictly use duplicate() to avoid unintentionally updating every building of that type.
  • NEVER tie simulation logic to the visual framerate; strictly use _physics_process() or delta accumulators for deterministic simulation results.

Performance & Threading

  • NEVER update UI labels every frame; strictly use Event-Driven Signals to refresh UI ONLY when the underlying data changes.
  • NEVER run heavy economic loops synchronously; strictly use WorkerThreadPool to offload complex calculations and prevent UI stutters.
  • NEVER store massive resource data as Nodes; strictly use RefCounted or Data Resources to avoid the memory/CPU overhead of the SceneTree.
  • NEVER ignore OS.low_processor_usage_mode; strictly enable it for stationary management screens to save massive CPU/Battery life.
  • NEVER manipulate the SceneTree from background threads; strictly use call_deferred() for thread-safe UI updates.
  • NEVER parse large JSON save files on the main thread; strictly use Threaded Serialization or optimized binary .res formats.
  • NEVER use standard equality (==) for needs; strictly use is_equal_approx() to prevent floating-point jitter failures in logic gates.

🛠 Expert Components (scripts/)

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

Original Expert Patterns

Modular Components


Core Loop

  1. Place/build → 2. Tick economy → 3. Read income vs expense → 4. Unlock / expand → 5. Optimize logistics

Decision Trees

Currency & time (must match NEVER)

NeedAction
Money / walletsMANDATORY tycoon_economy.gd — integer cents, never float primary
Sim clockMANDATORY sim_tick_manager.gd — accumulator on _physics_process
Speed UIsimulation_tick_controller.gd

Tick rate vs UI vs threads

Entity / loadStrategy
< ~200 entitiesTick signal → direct update; UI via resource_changed only
Hundreds of agentsRotate pools per tick; npc_schedule_agent.gd
Heavy graph / path logisticsOffload with WorkerThreadPool; call_deferred UI — see simulation_patterns.gd / economy_graph_manager.gd
Stationary management screensEnable OS.low_processor_usage_mode

Do not re-inline TycoonEconomy / SimulationTime / Worker tutorials — load the scripts.

Skill Chain

PhaseSkillsPurpose
1. Dataresources, godot-economy-systemStocks / sinks
2. Timetick managerDeterministic hours
3. Agentsschedules / navNPCs & logistics
4. PerfWorkerThreadPoolHeavy ticks
5. Balancegodot-monte-carlo-balancerBankruptcy / growth bands

Common Pitfalls

PitfallSolution
Float moneyInteger cents in tycoon_economy
_process sim stepPhysics accumulator tick manager
UI every frameSignal on resource_changed only

Deep recipes (on demand)

TopicReference / script
Economy & walletseconomy-design.md + tycoon_economy.gd
Sim clock / speedtime-system.md + sim_tick_manager.gd
Workers & facilitiesentity-management.md + npc_schedule_agent.gd
Demand & customerscustomer-demand.md
Feedback & dashboardsfeedback-systems.md
Unlock progressionprogression-unlocks.md
Production graphs / CSV bakeelite-technical-patterns.md + simulation_patterns.gd

Reference

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.

Official Documentation

  • Idle and physics processing — Simulation clocks and economy ticks must accumulate with delta (or a dedicated tick), never frame-count assumptions.
  • Using signals — Emit resource/tick changes so dashboards refresh only when wallets or hours actually change.
  • Resources — Recipes, facilities, and unlock tables belong as .tres Resources so designers retune chains without code edits.
  • GDScript exports@export build costs, wages, and growth bases so balance sheets stay Inspector-driven.
  • Saving games — Persist stocks, day/hour, unlocks, and facility graphs so long management sessions survive restarts.
  • Data paths — Keep large binary/JSON sim saves under user:// across platforms.
  • Using multiple threads — Heavy production-graph and upkeep passes belong on WorkerThreadPool, not the main-thread UI loop.
  • Thread-safe APIs — Marshaling sim results to Labels/Tree requires call_deferred / main-thread SceneTree rules.
  • WorkerThreadPool — API for batching economy ticks without blocking manager screens.
  • OS — Enable OS.low_processor_usage_mode on stationary management UIs to cut CPU/battery burn.
  • AStarGrid2D — Grid logistics and worker paths on factory floors without manually wiring AStar points.
  • Using NavigationServers — Direct NavigationServer3D.map_get_path queries for schedule-driven NPCs without per-agent node overhead.

Related Skills

Prerequisites
  • godot-project-foundations — Autoloads, Resources, and scene structure before building tick managers and economy graphs.
  • godot-gdscript-mastery — Typed Dictionaries, signals, is_equal_approx, and fixed-point-safe math for currency and needs.
  • godot-resource-data-patterns — Production recipes and unlock tables should be Resource-first .tres assets, not hard-coded Node trees.
  • godot-signal-architecture — Tick and resource_changed buses must drive UI without Labels mutating the simulation wallet.
Complements
  • godot-economy-system — Soft-currency wallets, sinks, and transaction ledgers that compose with tycoon multi-resource stocks.
  • godot-save-load-systems — Versioned serialization for large world states, binary store_var, and threaded save/load.
  • godot-navigation-pathfinding — NavigationServer / grid pathing for worker jobs and schedule agents after the tick clock exists.
  • godot-performance-optimization — Entity batching, low-processor mode, and thread offload budgets for 1000+ sim entities.
  • godot-autoload-architecture — TimeManager / Economy autoloads that survive scene reloads need clear ownership rules.
  • godot-ui-containers — Income/expense dashboards and facility lists are Tree/VBoxContainer layouts bound to throttled signals.
Downstream / consumers
  • godot-monte-carlo-balancer — After cost curves, production yields, and CSV→.tres balance sheets exist, Monte Carlo career sims prove minutes-to-milestone and bankruptcy bands before shipping growth factors.
  • godot-genre-idle-clicker — Offline catch-up and prestige loops reuse tick + integer-currency patterns from management sims.
  • godot-genre-rts — Build-order economies and worker logistics consume the same tick/graph and pathfinding primitives at combat scale.
Master
  • godot-master — Library router and mirrored module entry; use when discovering peer skills or syncing shared script mirrors after Domain Skill edits.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Godot Genre Simulation AI skill do?

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.

Why use Godot Genre Simulation on TypingMind?

Because you install it once and use it with any model. Godot Genre Simulation is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Godot Genre Simulation in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-genre-simulation. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Godot Genre Simulation?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Godot Genre Simulation?

As many as you like. As long as a model supports skills, you can use Godot Genre Simulation with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Godot Genre Simulation AI skill free?

Yes. It is published on GitHub by thedivergentai under the LGPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇