You are browsing as a guest. Sign up (or log in) to start making projects!

37m 18s logged

LIFE OF SOFTWARE — a typing game where the answers expire

Made for the GMTK Game Jam 2026, theme “Count Down”, in 96 hours.
Play: raidentechnology.itch.io/lifeofsoftware
Source (MIT): github.com/RaidenTechnology/life-of-software

THE IDEA

Everyone’s first instinct with “Count Down” is a timer. So I gave the game two.

You get one clock and twenty-five programming languages. Type the patterns of the
language in front of you — import, async, fn, =>, mov — and every correct one
buys back seconds, score and credits.

But while you type, the language itself is going obsolete. Every few seconds a
pattern you have not written yet is put on notice — deprecated since 3.11,
removed in 4.0 — and moments later it is gone for the rest of the level. Write it
before the notice dies and it pays double.

That is the whole game: racing one countdown while a second one eats the answers.
The theme isn’t decoration on top of a typing game; it’s the thing that makes the
typing hard.

THE PART I’M PROUDEST OF

Most typing games hand you words. This one hands you impl, nonlocal, »= and %>%.
If it stopped there you could clear HASKELL at speed and learn nothing about
Haskell — which felt like a waste of the player’s time.

So the game asks two questions before the run: how much software do you know, and
do you want the patterns explained? The first answer moves the ropes (opening
clock, assist, hint price) and never the score, so one personal best stays one
number. Say yes to the second and every time a language falls you get a CODE
REVIEW card: the patterns you typed, in the order you typed them, each with a
one-line meaning and a real example.

All 1276 patterns in the game carry one; 937 open a second, deeper panel. I
recounted these out of the shipping build before writing this — an earlier number
I’d been quoting was wrong, and I’d rather correct it than repeat it.

THE LADDER

25 languages, easiest to hardest: HTML, CSS, Python, JavaScript, … Rust, Haskell,
Assembly. Each has its own rules — JAVA and C# pay more for long patterns, BASH
and ASSEMBLY for short ones, RUST and HASKELL charge three seconds for a mistake.
Around it: bosses with an exploit chain (three patterns in order for triple
damage, break the order and the boss heals), a boon card every level, ten item
types across five rarities, festivals, and a daily seeded challenge.

TECHNICAL NOTES

Phaser 3, plain script tags, no bundler. There are no audio files in the build —
every sound is synthesised at runtime from WebAudio primitives, including the
per-language music profiles, the deprecation stings and the boss bed.

The trap that bit me repeatedly: itch.io serves updated builds from the same URL,
so every change has to bump ?v= in index.html. Forget it and the browser
cheerfully replays yesterday’s JavaScript. The shipping build is v41.

The four bugs I found on the last day all came from playing the itch draft rather
than my local copy. Local testing found none of them. Test where the players are.

ON THE HOURS

Honest note: this project shows almost no tracked time. My WakaTime plugin died on
22 July — the day the jam started — and stayed dead through all 96 hours. I only
found it today. The 204 commits in the repo are the real record of the work; I am
not going to claim hours I cannot prove.

AI DISCLOSURE

Design, direction and concept are mine. Parts of the code were written with AI
assistance (Claude) — the audio layer, the language data pass, the ending and
prologue scenes. No AI-generated art or audio assets are in the build; all sound
is procedurally synthesised code, which the jam rules permit. The same disclosure
is on the itch.io page.

0
3

Comments 0

No comments yet. Be the first!