incremental-idle is an incremental idle pixel game set in a steampunk world. The player tends a growing city that begins as a single small workshop, accumulating Steam as the main currency and progressing toward Aetherite Cores as the prestige currency. The first generator the player acquires is a simple steam machine placed beside the starting workshop.
The product intent is a patient, system-minded idle experience: numbers grow while the player is away, and a pixel-art visual overview of the city assembles itself one generator at a time. The audience is players who return daily to watch a hand-built pixel city grow, and who value legibility, mechanical satisfaction, and affectionate nostalgia over glossy presentation.
The visual and interaction language is authoritative: a Susan Kare–inspired, hand-built pixel aesthetic — aged-paper cream ground, soot-ink text, burnt copper actions, brass gold reserved for Aetherite Cores, chunky 2px ink outlines, Silkscreen headings, IBM Plex Mono data, and frame-by-frame sprite animation.
The current product is a browser-delivered incremental idle game with application-owned player identity and durable per-player progress. It consists of four first-party pages:
Actors. The single active human persona is the Idle City Builder Player. The application backend is a non-persona system actor that persists progress and computes idle Steam accumulation.
Accepted behavior. Steam accumulates from owned generators (beginning with the first steam machine beside the workshop); the player purchases generators that stamp into the city canvas on a fixed grid; the Steam balance ticks up in discrete odometer steps; Aetherite Cores are the prestige currency and receive the only brass-gold treatment in the UI.
Narrow exclusions. No photography, gradients, glassmorphism, blur panels, glossy 3D, or blue/indigo-on-white SaaS styling. No anti-aliased or non-integer-scaled sprites. No additional product capabilities beyond those stated in the authoritative requirement thread and the indispensable identity/persistence mechanics described below.
The game is delivered as a first-party web application. Because a player's city, Steam, and Aetherite Cores must survive between sessions and idle accumulation must continue while the player is away, the application owns player identity and durable progress. This is a required inference: without it, the accepted "growing city" and idle-currency lifecycle cannot be resumed by the same player.
Access is therefore split into an anonymous public boundary (Landing, Sign Up, Login) and a protected play boundary (City). The anonymous entry explains the game and its currencies before play begins; enrollment and returning verification establish the identity that binds progress to the correct player. The protected City surface cannot own the interaction that establishes access to itself, so enrollment and verification live on their own access surfaces.
Current scope is the four pages above and the accepted play loop. Future ideas not accepted in the authoritative thread (additional generator types beyond the first steam machine, prestige reset mechanics, offline-progress summaries, social features) are out of current scope and are not represented as pages or requirements.
Not applicable — no reference directive declares a content_source.
STOKE THE BOILER in Silkscreen caps, flush left in a 9-column measure, soot ink, clamp(40px, 8vw, 96px).A city grows one piston at a time. in IBM Plex Mono beneath the headline.BEGIN THE WORKS directly under the headline, left-aligned (not centred), with a small brass AETHERITE CORES 0 chip to its right.image-rendering: pixelated; workshop and steam machine loop on a 4-frame 480ms piston cycle.clamp(28px, 6vw, 56px), burnt copper, tabular figures, odometer-style discrete tick.FR-1 — Steampunk incremental idle pixel game (explicit) As an Idle City Builder Player, I should play an incremental idle pixel game set in a steampunk world, so that I can watch a pixel city grow over time.
FR-2 — Steam as main currency (explicit) As an Idle City Builder Player, I should accumulate Steam as the main currency, so that I can spend it on generators.
FR-3 — Aetherite Cores as prestige currency (explicit) As an Idle City Builder Player, I should see Aetherite Cores as the prestige currency, so that I understand the long-term progression target.
FR-4 — Visual overview of the growing city (explicit) As an Idle City Builder Player, I should see a visual overview of my growing city, so that I can watch it assemble itself.
FR-5 — City starts with a small workshop (explicit) As an Idle City Builder Player, I should start with a small workshop in my city, so that I have a visible home base from the first moment.
FR-6 — First generator is a simple steam machine beside the workshop (explicit) As an Idle City Builder Player, I should acquire a simple steam machine as my first generator, placed beside my workshop, so that Steam begins to accumulate.
FR-7 — Self-service enrollment for a new player (required_inference) As an Idle City Builder Player, I should be able to enroll myself on Sign Up, so that I can begin and persist my own city progress.
FR-8 — Returning verification for an existing player (required_inference) As an Idle City Builder Player, I should be able to verify myself on Login, so that I can resume my durable city progress, Steam, and Aetherite Cores.
FR-9 — Durable persistence of city progress, Steam, and Aetherite Cores (required_inference) As an Idle City Builder Player, I should have my city progress, Steam, and Aetherite Cores persisted, so that my progress survives between sessions and idle time.
Product context. A patient, system-minded player who returns daily to an incremental idle pixel game. They are drawn to the mechanical satisfaction of watching numbers grow and a pixel city assemble itself, and to the affectionate nostalgia of a hand-built pixel aesthetic. They play in short, frequent sessions and expect the game to keep working while they are away.
Primary goal. Grow a steampunk pixel city from a small workshop into something larger, accumulating Steam and progressing toward Aetherite Cores.
Distinct accepted responsibilities.
Relevant inputs or decisions. Whether to begin the works or verify as returning; enrollment and verification details; which generator to purchase and when it is affordable.
Interactions with other accepted participants. The player is the only active human participant. The application backend persists their progress and computes idle Steam accumulation on their behalf; the player observes the results on the City.
Observable success. The Steam balance ticks upward in discrete steps, the first steam machine appears beside the workshop with a brass flash, and on return the player's city, Steam, and Aetherite Cores are exactly as they left them.
What makes this role distinct. The player's work is one of patient observation and periodic commitment — reading a growing number and deciding when to spend it — rather than of administration, configuration, or multi-role collaboration. Their success is measured in the visible growth of a single city they privately own.
STOKE THE BOILER, the subline A city grows one piston at a time., the copper BEGIN THE WORKS button, the brass AETHERITE CORES 0 chip, and the pixel vignette of the workshop and steam machine with drifting airships.prefers-reduced-motion active, the City freezes all sprite loops to a single resting frame and lets counters update without the brass flash.Muse and headline. Susan Kare for a steampunk idle city — Charming clarity, one pixel at a time.
Mode. Light mode only.
Palette (exact hex by role).
#F2E7D0 (~60% of the screen).#FBF4E4 for panels and tiles (~25%).#241C14 for all copy.#B4531E for primary actions and the Steam-number colour.#E8B23A, the single hot accent reserved for Aetherite Cores, prestige glows, and the active generator's pulse.#7A6A55 for labels, rules, and secondary metadata.#4E7C6A and deep iron #3A3F45.Never blue-on-white; the generic indigo/blue-on-white SaaS template is forbidden.
Typography.
0.08em tracking on micro-labels.1.65 line-height so dense idle stats stay calm.clamp(40px, 8vw, 96px) for the landing headline; Steam balance clamp(28px, 6vw, 56px); labels fixed 12px uppercase.Shape language. Chunky 2px ink outlines on every panel and tile; hard 0px-to-4px corners (pixel-honest, no soft radii above 4px); 1px dotted rules between data rows; a visible 8px baseline grid implied by tile gutters. Buttons are extruded 3px down-right in a darker shade of their fill so they look physically pressed — the only "3D" in the system. Sprites are drawn on a strict 16px grid, upscaled with image-rendering: pixelated.
Layout. Two-column play layout at 1280px: a wide left city-canvas panel (fixed aspect, scrollable at small sizes) and a 360px right rail of generator tiles stacked like a parts catalogue, each tile a label/value pair (name, owned count, Steam/sec, cost) in Kare-tidy rows. Landing is a single centred column of 9 columns max with the workshop-and-steam-machine sprite pair as the hero artefact. At 375px everything stacks: city canvas first, then a horizontally scrollable generator strip with snap points, then the Steam total pinned as a sticky bar. Nothing overlaps; all counters and buttons wrap inside their tiles.
Imagery. Hand-drawn pixel sprites on a 16px grid: the starting workshop (a squat brick shed with a crooked chimney), the first steam machine (a riveted copper boiler with a visible piston), then gears, pipes, airships, aetherite crystal clusters. Environment drawn as a flat isometric-ish ground band of cobbles and rails with a soot-grey sky strip. Icon set for Steam (a puff cloud), Aetherite Cores (a faceted brass-ringed crystal), and each generator, all in the same chunky-outline style. No photography, no gradients, no glossy 3D.
Readability rule. Readable text and controls stay whole at every viewport: headlines, wordmarks, labels, numbers, cards' text and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element covers any part of them. Imagery, decoration, and motion may be cropped, bled off an edge, rotated, overlapped, or cut exactly as the direction asks, as long as it covers no readable text or control. Moving and scrollable content (marquees, tickers, carousels, horizontally scrollable rows) may cross the viewport or container edge by design; every item becomes fully readable as it passes. With prefers-reduced-motion, provide a usable static arrangement: wrap items into rows or allow horizontal scrolling so each item can be brought fully into view.
The live pixel city canvas as the hero artefact.
The Landing first screen is a cream parchment field with a single wide pixel-art vignette occupying the lower two-thirds: the small workshop at left, the first steam machine bolted beside it with its piston mid-stroke, a thin rail line running off the right edge, and a soot-grey sky band with two drifting airship sprites. Above it, flush left in a 9-column measure, Silkscreen caps read STOKE THE BOILER at clamp(40px, 8vw, 96px) in soot ink, with the line A city grows one piston at a time. in IBM Plex Mono beneath. A copper extruded button BEGIN THE WORKS sits directly under the headline, not centred, with a small brass AETHERITE CORES 0 chip to its right.
The signature moves carry through the product:
No gradient blobs, no centred stack, no blue.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief.
BEGIN THE WORKS button invites them to set the first machine in motion (outcome), without any motion that implies behavior the game does not have.STOKE THE BOILER; IBM Plex Mono subline; copper extruded BEGIN THE WORKS button with the brass AETHERITE CORES 0 chip to its right; the vignette below with the workshop at left, the steam machine beside it, the rail line running off the right edge, and the soot-grey sky band with two airships.image-rendering: pixelated; no anti-aliased or non-integer-scaled sprites. Rationale: the authoritative thread requires a pixel game, and the creative direction forbids blurred pixel grids.prefers-reduced-motion, sprite loops freeze to a single resting frame, counters update without the flash, and scrollable rows remain usable. Rationale: explicit motion rule in the creative direction.image-rendering: pixelated upscaling. [Default — not specified by user]
Public Works Notice
Aetherite Cores
0
A city grows one piston at a time.
Steam
Main currency
A small workshop. One steam machine bolted beside it. The rest is patience.
The workshop, and the first machine beside it.

Public Works Notice
Aetherite Cores
0
A city grows one piston at a time.
Steam
Main currency
A small workshop. One steam machine bolted beside it. The rest is patience.
The workshop, and the first machine beside it.
No comments yet. Be the first!