Vortex

Slip through the closing walls, on the beat

palupdated 2026-10-05FunIn pal's registry

Open in pal Play in the browser

In pal's registry: the button shows it in pal, which asks before installing; the command does the same from a terminal. This page can't see what your pal has installed.

Vortex: Pulse: a neon grid far below, walls that read at a glance, and you, racing a minute against the song
Pulse: a neon grid far below, walls that read at a glance, and you, racing a minute against the song
Vortex: Undertow: caustics and bubbles under a half-time song, the moment a record falls
Undertow: caustics and bubbles under a half-time song, the moment a record falls
Vortex: Singularity in hyper: a black hole at the centre, the last stage, faster
Singularity in hyper: a black hole at the centre, the last stage, faster
Vortex: A death replays slowly with the wall that got you outlined; the card says how close the record and the next rank were
A death replays slowly with the wall that got you outlined; the card says how close the record and the next rank were
Vortex: The stages, each playing itself behind its card: your best, its rank, your medals, practice from a rank you reached
The stages, each playing itself behind its card: your best, its rank, your medals, practice from a rank you reached
Vortex: Medals open new shapes and trails for the player; the ghost of your best run, on or off
Medals open new shapes and trails for the player; the ghost of your best run, on or off
1 of 6

What it does

Turn round the centre and slip through the gaps as walls close in on the beat. Six stages written to their own songs, each in a world of its own, and a hyper of each; race the ghost of your best, medals that open new looks, Endless, a daily run, practice from any rank, and a retry one key away.

  • Walls close in on the centre with one way through; turn to the gap before they reach you, while the world spins, reverses and changes shape
  • Six stages written to their songs: walls land on the beat, builds tighten and go dark, every drop hits with a slam on its downbeat
  • Each stage its own world: neon, a nebula, glass, deep water, acid speed, a black hole; and a hyper of each, faster and in other colours
  • Race the ghost of your best run, see what killed you again in slow motion, hear every near miss
  • Medals for clearing, for a steady hand and for near misses, which open new shapes and trails for the player
  • Endless (every stage in turn, then their hypers), a daily run with the same walls for everyone, and practice from any rank you've reached
  • A leaderboard for every stage and its hyper, Endless and the daily; signed in, your bests, medals and looks follow you to your other machines and play.cagdas.io

Palettes 1

  • Vortexvortexview

    Turn round the centre through the closing walls. Escape or closing the panel pauses a run.

    • ←Turn (arrows or A and D; Shift turns slowly)
    • spacePlay, or play again
    • ↑Hyper, on the stages
    • PPractice from a rank, on the stages
    • CYour look, on the stages
    • ⌫Back to the stages
    • MSound on or off

Actions

  • TurnRound the centre, either way; A and D too. Hold Shift to turn slowly for a fine line.←or→
  • Play, or play againAfter a death the next run is one key away.space
  • Choose a stageLeft and right on the stages; up for a stage's hyper once you've cleared it.←or→or↑
  • PracticeOn a stage: start from a rank you've reached there.P
  • Your lookThe player's shape and trail, opened by medals; the ghost on or off.C
  • Back to the stages⌫
  • Sound on or offM

Settings

Extension, [extensions.vortex]

volume
80% number

How loud the music and the sounds are; M in the game turns them off.

Defaults shown. Change them in pal's settings window or in the config file.

The README

Everything Vortex does, key by key, from the extension's own README.md

Vortex

Turn round the centre and slip through the gaps as walls close in on the beat. Enter on the palette's row (or its hotkey) opens it as a view level whose body is the extension's own page (surface/, a surface view node).

The whole design, and why each part is there: DESIGN.md.

Playing

  • Turn with the arrows (or A and D); hold Shift to turn slowly. Walls close in with a way through; be in it when they reach you. Turning into a wall's side stops you there.
  • Ranks at 10, 20, 30, 45 and 60 seconds. A minute clears a stage, opens the next one and its hyper.
  • Space plays, and plays again after a death; Backspace goes back to the stages; M turns the sound off. Escape (or closing pal) pauses a run.
  • Stages: Pulse, Drift, Prism, Undertow, Overdrive, Singularity, each a chart written to its own song, in a world of its own; up on a cleared stage picks its hyper. Then Endless (every stage in turn, new walls each run) and the daily (today's walls, the same for everyone).
  • Your best run races you as a ghost; a death replays its last second slowly with the wall that got you outlined; near misses spark.
  • Medals (clear, steady, hairline, marathon) open new shapes and trails: C on the stages. P practises a stage from any rank you have reached.
  • Leaderboards for every stage and hyper, Endless and the daily; signed in to a pal account, the save follows you to your other machines.

Code

  • game/: the rules, pure and seeded. sim.ts (the run, patterns, collision), content.ts (every number), bot.ts (a planning player), meta.ts (the save).
  • surface/: the page. main.ts (screens, keys, the loop), render.ts (WebGL2), music.ts and songs.ts (the synthesised music, which is also the clock).
  • scripts/survey.ts: how long the bot lasts on every board.
  • Tests: test/vortex.test.ts.

The font is Orbitron (SIL Open Font License, surface/font/OFL.txt).