57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
# 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.
|