- Added modal popup showing detailed offline resource gains when player returns
- Fixed offline tracking to include ops, trust, and creativity (were silently missing)
- Popup shows all resources with color-coded labels and 50% efficiency note
- Log message now shows time in human-readable format (minutes/seconds)
Previously, buildings from later phases were completely invisible until
unlocked. Players had no idea what was coming next. Now buildings up to
2 phases ahead appear as dimmed (25% opacity) locked entries showing:
- Name and lock icon
- Phase number and name
- Description text
- Education tooltip on hover
This gives players a roadmap of what they're building toward and creates
anticipation for future phases. The preview is a non-interactive div
(not a button) so it cannot be clicked.
Players can now see exactly which buildings contribute to each resource
rate, including Timmy harmony bonuses, Bilbo randomness, Allegro trust
penalties, and passive generation. Appears once 2+ buildings are built.
Also includes minor fixes:
- Production bars sort by absolute contribution (negative rates visible)
- Delta calculation catches passive sources (ops from users, Pact trust)
Events now create lasting debuffs instead of vanishing on the next tick.
Players see an ACTIVE PROBLEMS panel with resolution costs and can spend
resources to fix each problem. Added 2 new events (Memory Leak, Community
Drama) alongside the reworked originals. Events Resolved stat tracked.
Key changes:
- Events push persistent debuffs with applyFn instead of one-shot rate tweaks
- updateRates() applies active debuffs each tick (they persist until resolved)
- New resolveEvent(id) function: spend resources to clear a debuff
- ACTIVE PROBLEMS UI shows debuffs with cost and fix buttons
- Save/load reconstitutes debuff objects from saved IDs
- 2 new events: Memory Leak (datacenter), Community Drama (community+low harmony)
- Events Resolved counter in statistics
Two changes:
1. Fixed bug where creativity was added TWICE per tick:
- Line 930 (removed): unconditionally added creativityRate * dt
- Line 954: conditionally adds only when ops >= 90% of max
The conditional gate was the intent ('Creativity generates only when
ops at max') but the unconditional add defeated it. Removed the
unconditional addition so creativity actually respects the ops-max
constraint as designed.
2. Added keyboard shortcuts for operations:
- 1 = Ops -> Code
- 2 = Ops -> Compute
- 3 = Ops -> Knowledge
- 4 = Ops -> Trust
Only active when body is focused (not in input fields). SPACE
still does Write Code. Added shortcut hint to init log.
Active play now rewards consecutive clicks: each click within 2s of
the last builds a combo multiplier up to 5x. The WRITE CODE button
flashes on click and a floating number shows the amount gained,
turning gold at high combo. Phase progression also adds base click
power (+2 per phase). Combo decays with a visible progress bar.
Makes clicking relevant at every stage of the game, not just the
first 30 seconds.
- Progress bar shows % toward next phase threshold based on totalCode
- Milestone chips show upcoming code milestones with pulse animation on next target
- Recently completed milestones shown with green checkmark
- All elements use the existing cyber-monastic aesthetic
Offline progress previously only calculated code, compute, knowledge, users,
and impact. Players returning after time away missed rescues, ops, trust,
creativity, and harmony accumulation. The welcome-back message now also
only shows resources that actually had positive rates, reducing noise.
- Inline SVG favicon (beacon emoji) — no external file needed
- Open Graph tags for link previews (title, description, type)
- Twitter Card meta for rich social sharing
- Theme-color for mobile browser chrome
- Meta description for search engines
- Added 'rescues' resource: tracks meaningful crisis interventions
- Beacon Nodes produce 50 rescues/s, Mesh Nodes produce 250 rescues/s
- New project: Volunteer Network — passive rescue generation for Pact players
- True ending at 100K rescues with Pact active + harmony > 50
- Rescues resource card appears in UI once beacon/mesh is built
- Added rescues to stats panel, save/load, and offline progress
- This gives Phase 6 (The Beacon) actual endgame content:
the game is now about keeping the light on for people in the dark,
not just accumulating numbers
- Added The Drift Ending: when drift reaches 100, the game enters
the sad ending from DESIGN.md. A full-screen overlay shows:
'The Beacon still runs, but no one looks for it.
The light is on. The room is empty.'
Production stops. Player can restart.
- Deduplicated index.html: removed ~1080 lines of inline script that
was an older version of the engine (missing harmony, corruption
events, drift, alignment checks). Replaced with <script src='game.js'>
so game.js is the single source of truth.
- driftEnding state is saved/loaded so the ending persists across sessions.
- Added CSS for the drift ending overlay.
- Fixed floating-point precision bug: numbers >= 1e54 now use string-based
chunking (toExponential digit extraction) instead of Math.pow division,
which drifts beyond ~54 bits of precision
- Integrated into fmt(): numbers at undecillion+ scale (10^36) automatically
switch from abbreviated form ('1.0UDc') to spelled-out words ('one undecillion')
- Verified: spellf() correctly handles 0 through 10^303 (centillion)
- All 320 place value names from NUMBER_NAMES array work correctly
The educational effect: when resources hit cosmic scales, digits become
meaningless but NAMES give them soul.
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.