game image
game image
game image
Blueprint — An Incremental Factory
Blueprint is a browser incremental about drafting a factory on an engineering sheet. Mine ore, smelt ingots, press parts, assemble circuits, forge cores, and refine prototypes across six tiers.
Development
Continuous updates
Platforms
Web
Monetization
Free
Playstyle
Idle
Semi idle
Length
Hours
Graphics
2D
Setting
Industrial
Scientific
Technological
Gameplay
Resource management
Factory
Numbers go up
Branching upgrade tree
Loops
Features
Web responsive
Prestige
Big numbers
Has ending
No registration
Local save
Achievements
Open source
Offline progress
Persistent browser game
Engine
HMTL-JAVASCRIPT

Blueprint is a browser incremental about drafting a factory on an engineering sheet. Mine ore, smelt ingots, press parts, assemble circuits, forge cores, and refine prototypes across six tiers. When a run is mature, Prestige to bank Schematics and unlock the radial research tree. Push deeper to Publish for Patents that persist across every reset — then unlock Exhibitions for Legacy Marks, a third currency that survives every reset including Publish.

What's inside

  • Six production tiers with 28 machines (base + MK-IV + MK-V variants)
  • Radial research tree — six branches: Speed, Logistics, Yield, Automation, Efficiency, Power
  • Three prestige layers — Schematics (per-run), Patents (meta-reset), Legacy Marks (endgame, survives every reset)
  • 14 Challenge modes with unique constraints and permanent rewards
  • 15 Blueprints — random per-run modifiers rolled after each prestige for run-to-run variance
  • 8 Exhibitions + a 10-item Archive of permanent Legacy upgrades (unlocks at 30 lifetime Patents)
  • 71 Achievements — progress, scale, hidden twists, plus a ◆◆◆ PERFECTIONIST capstone that requires earning every other one
  • Stats tab with live production, schematics, and patents graphs

Built for long sessions

  • Target play arc: 25–40 hours to complete the Archive
  • Runs in the background — production keeps accumulating (and time-based events still fire) even with the tab hidden, thanks to a Web Worker heartbeat
  • Offline progress capped at 8 hours (extendable via patents / legacy upgrades)
  • Save / load via base64 export string (one-tap copy to clipboard)
  • Reduce-motion and colorblind-safe palette in the accessibility settings
  • Works on desktop and mobile (touch-first factory grid, pinch/drag research tree)

What's new in v0.9.4 — patent curve softcap

  • patentsForPublish now softcaps above 100 patents per publish. The v0.9.2 cbrt × 2 curve was tuned for normal-pace runs but stayed unbounded — a player idling for 24–48 h could stockpile trillions of prototypes and cash out 10 000+ patents in one publish, collapsing the whole mastery layer into a single overnight run. The cube-root shape is preserved for normal play (100 K prototypes is still ~92 patents); above raw = 100, the surplus is compressed with a 0.65 exponent so extreme proto counts can't inflate past a few thousand patents per publish.

Before / after at a glance:

| Prototypes | Old patents | New patents | | --- | --- | --- | | 100 K | 92 | 92 | | 1 M | 200 | 119 | | 1 B | 2 000 | 235 | | 1 T | 20 000 | 722 | | 1 e14 | 92 831 | 1 793 | | 1 e15 | 200 000 | 2 889 |

Normal first-publish range (1 K – 500 K prototypes) is unchanged. Moderate idlers (10 M – 100 M) lose ~40 %. Overnight-farm exploits lose 95 – 99 %. Full mastery (~904 patents) still takes the intended 8–12 publishes — a stockpile run now shaves 2–3 publishes off rather than ending the meta-layer outright. No save migration — existing patents and progress are preserved.

What's new in v0.9.3 — code audit pass

  • importSave() now runs the same migration pipeline as load(). A v0.6 base64 export imported into v0.9.3 now picks up every new field and default exactly like a reload would. Extracted into a shared migrateState() helper so the two paths can't drift.
  • DRAFTING HEIRLOOM clamped under TALL. The Legacy upgrade adds +1 starting drill unconditionally; combined with fast_start it could have violated TALL's 3-per-type cap if either side was bumped in a future balance pass. Defensive clamp added so the opening state can never violate the cap regardless of other changes.
  • A full 33-item audit ran across the v0.7–v0.9 additions (gating, migrations, interactions, logic). The two items above were the only real bugs; everything else verified clean.

What's new in v0.9.2 — pipeline rebalance

  • T6 prototype production rates halved. Refiner 0.01 → 0.005, Compactor 0.05 → 0.025, Prototyper 0.2 → 0.1 proto/s. Doubles the real time to accumulate prototypes without touching costs or consumption ratios.
  • patentsForPublish tightened from cbrt × 3 to cbrt × 2. Same cube-root shape, 33 % lower coefficient. First publishes still feel meaningful (100 K protos ≈ 92 patents) but full mastery now takes 8–12 publishes instead of 3–5, matching the 25–40 h target play arc. Existing patents and progress are preserved — only future rewards are affected.

Full changelog: github.com/Real-Fruit-Snacks/blueprint/blob/main/CHANGELOG.md

Earlier updates (v0.9.1 through v0.6.1) — click to expand

v0.9.1 — regression fixes

  • Research tree no longer becomes unbuyable after Publish.doPublish() was wiping state.research.levels to { origin: 0 } instead of { origin: 1 }, which made every node say "origin required" with no hint to re-click the centre node. Fixed.
  • Background-tab simulation is now capped at the offline limit. The v0.9.0 Web Worker had no budget — leaving the tab hidden for 24 h ticked 24 h of production, while closing the tab capped at 8 h. Hidden and closed tabs are now treated identically.

v0.9.0 — true background simulation

  • sim-worker.js — a tiny Web Worker that posts tick messages at 1 Hz from its own thread. Workers aren't subject to the main tab's visibility throttling, so the heartbeat keeps firing at full speed even when the game tab is hidden.
  • When the tab is visible, rAF handles simulation at 60 Hz as before. Worker messages are only processed when the tab is hidden — no double-counting.

v0.8.2 — catch-up on return

  • Added applyOffline-style catch-up on visibilitychange → visible. Before this, background time that didn't quite trigger a reload was leaked entirely.

v0.8.1 — endgame achievement fill

  • Twelve new achievements covering the Exhibitions / Archive flow, plus a ◆◆◆ PERFECTIONIST capstone that requires earning every other achievement and carries a flat +50 % / +50 % / +50 % bonus.

v0.8.0 — Exhibitions endgame

  • Third prestige layer. 8 Exhibition objectives that resolve at prestige time + a 10-item Archive of Legacy upgrades bought with Legacy Marks, spanning production, research, tier-inheritance, and quality-of-life buffs.
  • Unlocks at 30 lifetime Patents. Everything here survives every reset, including Publish.

v0.7.0 — content drop

  • 5 new Challenges (austere, glassware, overclock, echo, famine) and 5 new Blueprints (vanguard, harvest, parallel, critical, archivist), for 14 / 15 total. Every challenge now carries a permanent reward on completion.

v0.6.3 — polish pass

  • Save-safety hardening (backup reminder, last-backup pill), settings / achievements cohesion pass, version footer, and a long list of mobile fixes: settings modal no longer clips, tap highlights removed, haptic floor at 20 ms, focus rings suppressed on mouse clicks, topbar cleaned up in landscape phone.

v0.6.2 — auto-prestige soft-lock fix

  • Auto-prestige and auto-publish now require minimum run times (30 s / 60 s) to prevent the game from prestiging itself before the Research tab loads. Research tab lifetime-gated so it never disappears after a Publish.

v0.6.1 — initial prototype nerf

  • Switched patentsForPublish from linear to cube-root scaling after the first cohort reported earning 100+ patents on their first publish.

Credits

Vanilla HTML/CSS/JS — no framework, no build step, no trackers.

Source: github.com/Real-Fruit-Snacks/blueprint

v0.9.4

More like this
Reviews()
Reviews ()
Comments ()
Comments ()
All ()
All ()
What do you think?
loading...