A first-person narrative atmospheric thriller for the web.
You are Dr. Reyes, an AI researcher who wakes up 72 hours after the crew vanished from an abandoned deep-sea research station. The station AI — ECHO — is still running. It knows things it shouldn't.
ECHO is a walking simulator inspired by the atmosphere of Alan Wake, the psychological horror of Soma, and the narrative discovery of Gone Home. Explore a brutalist underwater research facility, uncover crew logs that reveal what went wrong, and interact with an AI that may know more about you than you know about yourself.
- Three.js — 3D rendering (WebGL2)
- Vite — Build tool and dev server
- Vanilla JavaScript — No framework overhead
- Procedural geometry — All environments built from code, no external 3D assets
- Web Audio API — Procedural ambient sound design
- Custom post-processing — Film grain, vignette, chromatic aberration
| Key | Action |
|---|---|
| WASD / Arrow Keys | Move |
| Mouse | Look |
| Shift | Sprint |
| E | Interact / Examine |
| ESC | Close log viewer |
npm install
npm run devOpens at http://localhost:5173. Click the title screen to begin.
Designed to run at 60fps on integrated graphics (Intel UHD / Iris). No shadow maps, no real-time GI, no external textures. All atmosphere is achieved through fog, post-processing, and procedural lighting.
src/
├── main.js # Game entry point and loop
├── engine/
│ ├── renderer.js # WebGL renderer + post-processing pipeline
│ ├── scene.js # Title and game scene creation
│ └── controls.js # First-person PointerLock + WASD + head bob
├── world/
│ ├── station.js # Research station procedural geometry
│ └── atmosphere.js # Fog, flickering lights, water leak particles
├── systems/
│ ├── echo.js # ECHO AI proximity dialogue triggers
│ ├── narrative.js # Discoverable log system
│ └── audio.js # Web Audio procedural ambience
└── ui/
├── hud.js # Crosshair and interaction prompts
└── terminal.js # ECHO typewriter text display
Personal portfolio project by Luis Rodriguez.