Ranarama x Paradroid hybrid. Bare signal invisible to hardware, hunted by static; touch a machine for a picture-in-picture tune-to-lock duel while the world stays live; possessed bodies decay and double as ammo and disguise; gain=damage=noise aggro economy; eject leaves re-enterable husks; floor clear resolves the dissonant drone to a major chord. Vanilla JS + Canvas + Web Audio, no build step. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# PARADRAMORAMA
|
||
|
||
*Ranarama × Paradroid, finished properly this time.*
|
||
|
||
You are a rogue **Signal** loose in a haunted studio complex. The hardware can't
|
||
see you — you're just noise on the line. Static gremlins CAN see you, and they
|
||
hunt signals. Touch a machine to invade it in a live pitch-matching duel (the
|
||
world does not pause), wear its body while it decays, burn its weapons, and bail
|
||
before it blows. Purge every amp and every machine on the floor and the drone
|
||
resolves to a chord.
|
||
|
||
## Run it
|
||
|
||
Any static server from the repo root (ES modules won't load off `file://`):
|
||
|
||
```
|
||
python3 -m http.server 8474
|
||
```
|
||
|
||
then open http://localhost:8474
|
||
|
||
## Controls
|
||
|
||
| Key | Action |
|
||
|---|---|
|
||
| WASD / arrows | move |
|
||
| touch hardware | start possession duel |
|
||
| W / S (in duel) | tune your oscillator to the target tone, hold the lock |
|
||
| SPACE | fire — **hold** to ride the gain (more damage, more noise) |
|
||
| E | eject from the body (leaves a husk you can re-enter, no duel) |
|
||
| P | pause · M | mute |
|
||
|
||
## The loop
|
||
|
||
1. **Bare signal** — fast, invisible to hardware, helpless. Static hunts you.
|
||
2. **Duel** — bump a machine → picture-in-picture pitch-match under a timer
|
||
while the room stays live. Static hits you mid-duel, you lose the duel.
|
||
3. **Possessed** — the body is your health, ammo and disguise, and it is
|
||
always draining. Firing drains it faster. Gain = damage = noise = every
|
||
machine on the floor hears you.
|
||
4. **Bail** — eject before it blows or eat coherence damage. Hide. Hunt the
|
||
next host.
|
||
|
||
Full design: [DESIGN.md](DESIGN.md)
|
||
|
||
Prototype is vanilla JS + Canvas + Web Audio. No dependencies, no build step.
|