feat(game): add neon isometric relay interface
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# VANTA//RELAY
|
||||
|
||||
A neon isometric puzzle game about being your own infrastructure.
|
||||
|
||||
The vault will not accept the current you as a power source. Walk onto a lower-case signal node, **anchor** a frozen echo, then use the reset present-self to cross the matching upper-case gate. Each chamber asks you to sustain more impossible versions of yourself at once.
|
||||
|
||||
## Play
|
||||
|
||||
This project is fully static and has no package installation or build step.
|
||||
|
||||
```sh
|
||||
cd /root/vanta-relay-20260727-095415
|
||||
python3 -m http.server 4173
|
||||
```
|
||||
|
||||
Then open `http://127.0.0.1:4173`.
|
||||
|
||||
- `WASD` or arrow keys: move
|
||||
- `Space`: anchor an echo while standing on a lower-case node
|
||||
- `Z`: remove the most recently anchored echo
|
||||
- `R`: reset the current relay
|
||||
- `M`: toggle synthesized audio
|
||||
- `H`: show the protocol card
|
||||
|
||||
The on-screen D-pad and buttons provide touch/click alternatives.
|
||||
|
||||
## Design
|
||||
|
||||
- **Three authored chambers** — from one echo to three simultaneous signal witnesses.
|
||||
- **Actual game rules, separate from rendering** — `game-engine.js` is a deterministic, DOM-free state model.
|
||||
- **Pseudo-3D canvas world** — an isometric grid, extruded null-walls, glowing gates, particles, animated portal rings, and procedural starfield; no images, fonts, CDN, or network runtime calls.
|
||||
- **Accessible controls** — semantic buttons, canvas label, visible objective/status readouts, and keyboard controls.
|
||||
- **Optional local progress** — the highest unlocked chamber is stored locally only when browser storage is available.
|
||||
|
||||
## Verify
|
||||
|
||||
Node 22+ is sufficient; there are no dependencies to install.
|
||||
|
||||
```sh
|
||||
npm test
|
||||
npm run check
|
||||
```
|
||||
|
||||
The suite covers engine behavior, invalid maps, closed-gate negative paths, echo capacity/undo/reset, authored-map reachability, staged gates, and a static zero-external-asset shell check.
|
||||
|
||||
## Project map
|
||||
|
||||
```text
|
||||
index.html interface, responsive chrome, and inline style system
|
||||
app.js canvas renderer, controls, particles, audio, smoke-test surface
|
||||
game-engine.js deterministic relay state machine
|
||||
levels.js authored chambers plus graph reachability helper
|
||||
tests/ Node test suite
|
||||
```
|
||||
|
||||
No credentials are stored in this repository.
|
||||
Reference in New Issue
Block a user