task-bar-villain.exe

A knight lives on your taskbar. He walks right, forever, killing scarecrows while you work — and keeps at it while your machine is off.

running · windows 11
A pixel-art knight on a strip of grass, sitting on a Windows 11 taskbar next to the real system tray icons and clock, with kill and gold counters reading 2.60K and 765K.
Not a mockup — an actual screenshot, next to the real tray and clock. 2,600 kills in, 765 thousand gold banked.
vitals

Idle games are supposed to be invisible. Most of them aren't. These numbers are read off the running process, not estimated.

MetricVillainTypical
Memory2.4 MB300 MB – 2 GB
CPU idle0.32% of one core20 – 25%
Processes14 – 8
Download350 KB200 MB+

Measured over 180 s on Windows 11, v0.2.0: 2.38 MB private bytes, 12.4 MB working set, 0.32% of one core (0.013% of a 24-thread machine), 0.9 ms per frame, 3 threads, 1 process. No engine, no web view, no GPU context. Collapse the strip and the paint loop drops to 1.5 fps while the game keeps ticking at its normal rate.

click the strip
The management panel: kills, gold, paces and gold-per-kill, above buyable sword, boots and greed upgrades.
Spend the gold. Sword raises damage, boots raise speed, greed raises the payout — and every one of them is a multiplier, so the numbers run away from you on purpose.
The same panel showing an offline progress banner reading AWAY 9H 41M, 1.26K kills and 579M gold earned.
Shut the machine down and he keeps walking. Progress is worked out from the clock on the way back in, capped at 24 hours.
The diagnostics panel showing backend, FPS, frame time, CPU, RSS, uptime, tick count and strip size.
It reports its own vitals, so you don't have to take the numbers above on faith.
it's your taskbar

The strip goes where you want it and takes as much of the bar as you want to give it. Drag the middle to slide it along; drag either end to make it longer or shorter. Wherever you leave it is where it comes back.

A small context menu with Manage, Minimise, Fit to bar, Reset size and Quit.
Right-click for the menu. Fit to bar hands him the whole taskbar; Quit is the only thing that closes him.
The strip collapsed to a small coin-and-chevron nub sitting next to the system tray.
Minimised, he's a coin and an arrow. The game keeps running at full speed; only the drawing slows down.
how
Pure Rust, no dependencies
No engine, no web view, no GPU context, and nothing in Cargo.toml but the Windows API bindings. The font, the rasterizer, the sprite decoder and the big-number type are all in the box, which is most of why the download is a third of a megabyte.
A layered window
UpdateLayeredWindow takes a finished premultiplied bitmap, so the window never answers WM_PAINT — there is no paint loop. The message pump blocks in GetMessageW, and a coalescable timer lets the kernel batch our wakeups with everyone else's instead of waking a core on our schedule.
Numbers that don't run out
Counters are a mantissa-and-exponent pair rather than a u64, because an idler's economy passes 18 quintillion in an afternoon and a u64 overflows in silence. Past the named suffixes it falls back to scientific notation.
Windows only, deliberately
There was an X11 backend. It was cut: the thing being built is a Windows taskbar resident, and X11 could only ever approximate that on a desktop that happens to have a panel. Everything above the platform layer is still free of platform types, so a second backend is one file rather than a rewrite.
read this first
  • It's a prototype. Version 0.2.1. Rough edges are the point, and the upgrade curve is illustrative rather than balanced.
  • The .exe is unsigned. SmartScreen will warn you. "More info" → "Run anyway", or don't — that's a reasonable call for a binary off the internet.
  • Offline progress is capped at 24 hours. Longer than that and you're told it was capped rather than quietly shorted.
  • Your save lives in %APPDATA%\task-bar-villain\save.txt. It's plain text. Delete it to start over; edit it if you'd rather cheat.
  • Vertical taskbars aren't handled. A side-docked bar has no room for a 16-pixel-tall strip, so he falls back to a band along the bottom of the screen instead.
  • Windows 11 z-order is a fight, not a contract. He reclaims the top of the stack once a second. It works; it isn't guaranteed by anything.