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