docs: initial baseline — game design plan, workflow rules, env template
This commit is contained in:
@@ -0,0 +1 @@
|
||||
CESIUM_ION_TOKEN=your-cesium-ion-token-here
|
||||
+15
@@ -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
|
||||
@@ -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`).
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user