Moon base / infrastructure tycoon prototype built in Godot 4.x with an authoritative fixed-tick simulation.
All Codex prompts for this repository must include and follow the architecture rules in ARCHITECTURE_RULES.md.
- Open Godot 4.x.
- Click Import.
- Select this repository's
project.godot. - Run the project (F5).
The main scene is res://scenes/game/Main.tscn.
- Authoritative simulation lives in
Sim(autoload) and advances at fixed ticks (20 TPS). - Commands only for gameplay actions: UI/agents enqueue commands through
CommandBus; simulation drains and applies them. - No Node references in simulation state:
Simstores integer entity IDs and dictionaries only. - Data-driven stats are loaded from
.tresresources underres://data/viaDataDB. - On first run in dev, the project may auto-generate minimal sample defs under
res://data/if missing. Commit them to keep CI stable. - Autoload singletons are limited to:
Game→res://scripts/core/game.gdSim→res://scripts/core/sim.gdCommandBus→res://scripts/core/command_bus.gdDataDB→res://scripts/core/data_db.gd
Main triggers a new match, seeds sample entities/resources, and renders:
- Title label (
MoonIsState) - Live resources from
Sim.resources_changed - Tick counter updated once per simulated second
This gives a working loop for iterative feature development.
- Left click: Select one unit.
- Right click: Issue a move command for selected unit(s).
- Build Launchpad flow:
- Select a clanker.
- Click Build Launchpad in the Launch Console.
- Left-click in the world to place it.
- Wait for construction to complete.
- Use Launch Console buttons once the launchpad is complete.