A continuous-time grand-strategy and deterrence simulation built around real geography, military basing, ballistic missile physics, radar coverage, logistics, and eventually resource-driven force generation.
Deterrence models strategic power as something that must be built, moved, sustained, and defended.
The current foundation includes:
- a 3D Earth client with selectable major powers:
USA,CHN, andRUS - real-world military installation overlays and country-aware visibility
- ballistic missile launches with staged flight, predicted trajectories, and impact estimation
- radar placement, early-warning satellites, and orbital launch mechanics
- naval asset scaffolding and global basing concepts
- a backend API and migration pipeline for country and installation data
The next phase expands this into a full continuous-time economy and logistics simulation where industrial output, foreign resource access, hub basing, and forward deployment drive military power.
packages/app: browser client, simulation, rendering, overlays, UI, and local public assetspackages/server: API, PostgreSQL migrations, country data, and military installation servicesscripts: deterministic dataset builders and workspace helpersdocs: architecture notes, military data references, and next-phase planningtmp: local scratch space for upstream datasets and build inputs
Install dependencies:
npm install
Start Postgres:
npm run docker:up
Start the frontend and backend together:
npm run start
Stop Docker services:
npm run docker:down
## Tooling
Format check:
npm run format:check
Format all files:
npm run format
Lint:
npm run lint
Syntax / type-style validation:
npm run typecheck
## Default Local Services
- client: http://localhost:4173
- api: http://localhost:3000
- postgres: localhost:55432
## Environment
A root reference file is included at example.env.
Active package env files are expected at:
- packages/app/.env
- packages/server/.env
Current core variables:
- app: VITE_API_PORT
- server: PORT, DATABASE_URL, CLIENT_ORIGIN
## Current Data ModelThe backend currently seeds and serves:
- country directory data
- military-related country attributes
- military installations
- expanded strategic installation coverage for USA, CHN, and RUS
- curated Russia and China strategic ports, air bases, launch facilities, and spaceports
Useful endpoints include:
- GET /health
- GET /countries
- GET /countries/directory
- GET /countries/:isoCode
- GET /countries/:isoCode/attributes
- GET /military-installations
The planned next phase is a continuous-time strategic layer built around:
- oil and rare-earth extraction
- chip and military asset production
- transport assets such as cargo aircraft and oil ships
- hub bases as theater logistics anchors
- sticky forward deployment to real-world bases
- ongoing sustainment cost and logistics demand
- foreign resource contracts and geopolitical negotiation
- supply-chain disruption through strikes, interdiction, and war
The design goal is simple: power should not spawn instantly. It should emerge from industrial capacity, logistics reach, diplomacy, and sustained strategic planning.
See docs/plan.md for the current full roadmap.