Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01As1S7fpDqEDnZxcGbSSoUW
WINDOW HERO
An idle RPG where your desktop windows are the monsters. Your pinned apps are the party. They fight on their own while you work — you only step in for Bosses (fullscreen) and the fun stuff (FIGHT / MAGIC / ITEM / RUN).
Status: v0 feel-prototype (web-mock/v0.html — open in any browser, no build)
plus core extracted (core/: DOM-free game logic, npm test → 13 passing).
No sensors, no overlay yet. On purpose.
The pitch (one paragraph, Steam-page draft)
Leave it running. Every window you open spawns a monster scaled to the app — terminals
are Slimes, browsers are Hydras (one head per tab), your 4 GB Electron app is a mid-boss
and everyone knows it. Your pinned apps fight for you automatically: kitty backstabs,
Discord buffs the party, Firefox multi-shots your tabs. Kills pay EXP and gil, bosses
demand your attention, and kill -9 is holy damage. Your PC was a dungeon all along.
Layout
| path | what |
|---|---|
web-mock/v0.html |
playable feel-prototype: fake desktop, auto-battle, loot, boss. The spec. |
core/ |
(next) platform-agnostic game logic ported from v0 — combat ticks, XP/loot, persistence. Framework-free JS. No DOM, no OS calls. |
sensors/ |
(later) one thin backend per OS translating real window events → game events. kwin.js (Linux), win32 (Windows), quartz (macOS). |
overlay/ |
(later) transparent click-through renderer (HP bars, damage numbers, battle menu). Electron or Tauri — undecided. |
docs/architecture.md |
the core/sensor/overlay split, event flow, per-OS plan, Steam notes. |
docs/interview-01.md |
design roundup: what's built, interview Q&A (presence decided, money + content open). |
Roadmap
- v0 — feel-prototype. DONE. If the loop isn't fun here, nothing downstream matters.
- core — extract v0 logic into testable, DOM-free modules + save format (SQLite).
- sensor spike — prove the window-event feed on one OS (KWin script first: log open/close/focus).
- overlay spike — draw one HP bar over one real window.
- Alpha — core + one sensor + overlay + panel widget. Playable on a daily driver.
- Steam — achievements, cloud saves, original art pass. Only when the alpha survives a month of real use.
The Anti-Annoyance Law (non-negotiable, applies to every layer)
- Never steal focus. Never cover work. No sound by default.
- Never close, minimize, or move a user window on its own. Every aggressive act is a deliberate player-cast spell.
- Ignorable 99% of the time. Ambient → Companion → Goblin Mode spectrum setting.
- Per-app exorcisms: any app can be declared monster-free forever.
Origin
Spun out of clockmost-desktop (design concepts 13-encounter et al). This repo owns the
game; the desktop repo owns the desk it haunts.