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

  1. v0 — feel-prototype. DONE. If the loop isn't fun here, nothing downstream matters.
  2. core — extract v0 logic into testable, DOM-free modules + save format (SQLite).
  3. sensor spike — prove the window-event feed on one OS (KWin script first: log open/close/focus).
  4. overlay spike — draw one HP bar over one real window.
  5. Alpha — core + one sensor + overlay + panel widget. Playable on a daily driver.
  6. 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)

  1. Never steal focus. Never cover work. No sound by default.
  2. Never close, minimize, or move a user window on its own. Every aggressive act is a deliberate player-cast spell.
  3. Ignorable 99% of the time. Ambient → Companion → Goblin Mode spectrum setting.
  4. 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.

S
Description
An idle RPG where your desktop windows are the monsters (prototype, JavaScript)
Readme MIT
48 KiB
0 Stars 1 Watchers 0 Forks
Languages
HTML 50.1%
JavaScript 49.9%