docs: initial baseline — game design plan, workflow rules, env template

This commit is contained in:
2026-09-16 17:24:50 +00:00
commit fd2a887524
4 changed files with 59 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
CESIUM_ION_TOKEN=your-cesium-ion-token-here
+15
View File
@@ -0,0 +1,15 @@
# env — never commit secrets
.env
# deps
node_modules/
# build output
.next/
dist/
test-results/
*.tsbuildinfo
# local data (DB + CSV cache) — keep folder marker
data/*
!data/.gitkeep
+7
View File
@@ -0,0 +1,7 @@
# Flight Simulator — Workflow Rules
## Change process (mandatory)
1. **Small, incremental changes** — work is done one change at a time, in smaller parts; each part must be tested thoroughly with unit and e2e tests covering it before moving on.
2. **Changelog entry** — every such change is listed in `CHANGELOG.md` with date, time and version (format: `## v<version> — YYYY-MM-DD HH:MM`, then bullet points of what changed).
3. **Version bump** — the version is updated in `package.json`.
4. **Commit + tag** — a commit is created for each change, tagged with the version (e.g. `v0.1.0`).
+36
View File
@@ -0,0 +1,36 @@
# Flight Ops — Game Design
Browser game, pure economic gameplay: run a small airplane transport company in Europe.
No manual flying — planes auto-fly assigned routes; you manage the business from an ops dashboard over a 2D map (lite 3D terrain if it stays lightweight).
## Layout (single screen)
- Left pane — Assets: fleet list (plane type, status, fuel, location), wallet, reputation
- Right pane — Jobs & Market: contracts between airports (reward, deadline, cargo/passengers) with accept/dispatch actions; market actions (buy/sell planes, refuel, maintenance)
- Middle — Map: EU airports as markers, animated plane positions along routes, active contract routes highlighted; click airport → info (runways, local time, weather); click plane → status
## Core loop
Accept job → dispatch a plane → watch it fly the route on the map → earn money + reputation → buy better planes / take bigger jobs.
## Map & rendering
- MapLibre GL JS with vector tiles (OpenFreeMap/OSM-based) — crisp detail down to ~10–100 m/px at city zoom, smooth continent overview; no Cesium needed
- Lite 3D: terrain/hillshade from free DEM tiles if it stays lightweight, otherwise flat 2D
- Game-logic data (airports, runways, countries/regions): downloaded CSV dataset cached in `data/`
## Simulation engine
- Server-authoritative state: sim ticks on the server, client polls and renders
- Time scale 1x–60x + pause; sim clock persisted across sessions
- SQLite via Drizzle ORM — schema designed to switch to Postgres later
- Demand/revenue/cost formulas per contract leg; fuel burn by distance/plane type
## Weather (display-only for now)
- Generated per airport (wind, visibility/fog, conditions)
- Shown on map / airport info; no gameplay effects yet
## MVP slice
Starter plane + EU airports + contracts + buy/sell + map visualization + weather display.
## Later
- Weather effects: delays, fuel burn changes, closed airports
- More aircraft types, upgrades (fuel efficiency, cargo capacity) — money sinks
- Multi-region packs (non-EU airports)
- Multiplayer (shared world, contract races)