Countless Days
Game
Countless Days is a 2D rhythm game that runs in a browser. Numbered circles appear on a playfield in time with the music, a ring closes in on each one, and you press it as the ring meets it, right on the beat. Holds ask you to keep pressing and follow a path to its end. Each press is judged by how close it came to the beat, and the score, combo and accuracy add up as the song plays.
The songs are ten tracks from countless days in ableton, an album made by friends, and five songs of the game's own. Each has five difficulties, Easy to Master, and each step up is measurably harder than the one below it. Presses are judged against the time the music was heard rather than the time a frame was drawn, so a dropped frame does not move a judgement, and an audio offset and a visual offset in Settings tune the timing to a player's machine. Every judgement is shown as a word and a shape as well as a colour.
Friends play together from a lobby. The host sends an invite link, up to eight players join, everyone plays the same song and sees each other's scores. The page makes no request to another site until someone presses Host or Join.
It is a Builder project: a Rust core holds every rule, a WebAssembly shim passes values to the page, and the page only draws what the core returns.
Playing it
Choose a song and a difficulty, then press Play. Aim with the mouse and press with a click or with your keys: Z and X to start, and any keys you like in Settings. On a touch screen, tap. Escape pauses.
Checked in Chromium, Firefox and WebKit.