49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
|
|
# Wings of the 90s - Flight Simulator
|
|||
|
|
|
|||
|
|
A period-accurate 3D flight simulator inspired by early 90s Amiga/DOS games like *Comanche*, *F-15 Strike Eagle*, and *After Burner*. Runs in any modern browser.
|
|||
|
|
|
|||
|
|
## Features
|
|||
|
|
|
|||
|
|
- **Authentic retro aesthetic** — 320×200 VGA Mode X resolution, CRT post-processing (barrel distortion, scanlines, color quantization, chromatic aberration, vignette), EGA 16-color palette
|
|||
|
|
- **Loading screen** with progress bar and cycling messages
|
|||
|
|
- **Main menu** with keyboard navigation
|
|||
|
|
- **Procedural terrain** — 2000m heightmap with vertex-colored hills, water plane, low-poly clouds
|
|||
|
|
- **Airport** — Runway with markings, taxiway, control tower, hangars, fuel truck, windsock
|
|||
|
|
- **Low-poly Cessna-style aircraft** with animated propeller and retractable landing gear
|
|||
|
|
- **6-DOF flight physics** — Thrust, drag, lift, gravity, ground friction, auto-leveling
|
|||
|
|
- **Flight HUD** — Artificial horizon, airspeed, altimeter, heading tape, vertical speed indicator, throttle bar
|
|||
|
|
- **Sound** — Engine drone tied to throttle, menu beeps
|
|||
|
|
|
|||
|
|
## Controls
|
|||
|
|
|
|||
|
|
| Key | Action |
|
|||
|
|
|---|---|
|
|||
|
|
| `W` / `S` | Throttle up / down |
|
|||
|
|
| `↑` / `↓` | Pitch |
|
|||
|
|
| `←` / `→` | Roll |
|
|||
|
|
| `Q` / `E` | Yaw (rudder) |
|
|||
|
|
| `C` | Toggle cockpit / chase camera |
|
|||
|
|
| `Esc` | Pause / resume |
|
|||
|
|
|
|||
|
|
## Getting Started
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm install
|
|||
|
|
npm run dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Open `http://localhost:5173` in your browser.
|
|||
|
|
|
|||
|
|
## Build
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm run build
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Tech Stack
|
|||
|
|
|
|||
|
|
- Three.js r160 for 3D rendering
|
|||
|
|
- Vite for dev server and builds
|
|||
|
|
- Vanilla JS, no frameworks
|
|||
|
|
- Web Audio API for sound
|