Back to Game
Echo Chamber - Game Design Guide
Game Concept
# Echo Chamber
## Theme
You are the Reality Architect in a dimension where collective belief literally shapes physical reality. Your job: manufacture and spread narratives until they become "true" through sheer force of belief. You run an interdimensional rumor mill that converts doubt into dogma, skepticism into certainty, and wild theories into immutable laws of physics. The game explores how truth becomes malleable when enough people believe the same thing—but with a surreal, cosmic horror twist.
## Core Loop
The player manages a rumor production facility where they convert raw doubt into manufactured narratives, then spread those narratives to harvest crystallized belief. Each rumor must be "fed" with contradictory evidence to grow stronger (the unique twist: DISPROVING your rumors makes them MORE powerful). The player balances skepticism (which fuels growth) against belief (which generates power), while managing the risk that a rumor becomes TOO believable and collapses into boring fact.
### Second-to-Second
- Click the "Feed Doubt" button to inject raw skepticism into growing rumors
- Watch rumors pulse and grow as they consume contradictory evidence
- Harvest crystallized belief from rumors that have reached "critical mass"
### Minute-to-Minute
- Decide which rumors to feed based on their evidence hunger vs. belief output
- Balance the Skepticism/Belief ratio—if rumors become too believable too fast, they "collapse" into boring facts (lost)
- Manage your Echo Chamber's capacity—too many competing rumors create cognitive dissonance that shuts down production
### Session-Level
- Build toward "Reality Anchoring"—transforming a powerful rumor into a permanent law of physics (prestige trigger)
- Discover the truth about WHAT dimension you're actually in and WHY you're reshaping reality
- Choose between different "Reality Paradigms" that fundamentally change how rumors work
## Currencies
### Doubt
- **Role**: Primary (fuel)
- **Earned by**: Passive trickle from the void, clicking "Feed Doubt", harvesting from collapsed facts
- **Spent on**: Feeding rumors (makes them grow but LESS believable), fueling the Dissonance Engine
- **Feel**: The abundant but inefficient resource—like wheat in a farming game. You're always swimming in it but need tons to do anything meaningful
### Belief
- **Role**: Secondary (output currency)
- **Earned by**: Passive generation from rumors (inverse to Doubt—the more believable a rumor, the more belief it generates)
- **Spent on**: Upgrades, new rumors, Reality Anchoring
- **Feel**: The precious resource you're always starving for. High-value drops feel amazing. Creates tension: you need believable rumors to generate it, but too believable = collapse
### Cognitive Dissonance
- **Role**: Conversion (danger meter + strategic resource)
- **Earned by**: Running contradictory rumors simultaneously, clicking "Amplify Contradiction"
- **Spent on**: Nothing—it's a threshold currency. When it hits 100%, your Echo Chamber "cracks" and you lose a random rumor
- **Converted to**: BUT you can deliberately trigger a controlled crack using the Reality Fracture engine to harvest **Shards of Truth** (prestige currency)
- **Feel**: The walking-on-eggshells resource. It builds slowly in the background and creates tension. But you can ALSO weaponize it intentionally—a brilliant risk/reward mechanic
### Certainty
- **Role**: Tertiary (specialized)
- **Earned by**: Converting Doubt + Belief (10:1 ratio) at the Synthesis Engine
- **Spent on**: Paradox Upgrades, unlocking new rumor types, protecting rumors from collapse
- **Feel**: The expensive, strategic resource you save for big purchases. Every point matters
### Shards of Truth
- **Role**: Prestige
- **Earned by**: Intentionally cracking your reality through Reality Fracture (requires maxed Cognitive Dissonance)
- **Spent on**: Permanent multipliers, new Reality Paradigms (build-defining choices), unlocking exotic rumor types
- **Feel**: The holy grail. Each prestige run is carefully planned around maximizing Shards
### Currency Flow
Doubt feeds into everything—it's the universal fuel. Belief is what you actually WANT (spent on most upgrades), but you generate it SLOWER if you're feeding Doubt to rumors. Certainty is the sink for excess Doubt + Belief, creating strategic choices about conversion timing. Cognitive Dissonance is the ever-present threat that becomes a tool when you're ready to prestige—it's ALWAYS building while you're running multiple rumors, and you can either avoid it (safe but slow) or embrace it (dangerous but accelerates everything). Shards of Truth are the endgame sink for a run.
## Progression Hooks
### Early Game (0-5 minutes)
- Start with ONE rumor and hand-feeding Doubt
- First "aha": discovering that FEEDING doubt (which seems counterintuitive) makes rumors produce MORE belief (because they grow larger)
- The thrill of first harvest—watching a rumor pulse and burst with crystallized Belief
- First collapse scare—seeing a rumor approach 100% believability and having to choose: harvest now or risk losing it?
### Mid Game (5-15 minutes)
- Unlock second rumor slot (now you're managing TWO competing narratives)
- Cognitive Dissonance appears as a mechanic—suddenly you're juggling two threats: collapse (individual rumors) AND dissonance (system-wide)
- Synthesis Engine unlocks—now you can convert currencies strategically
- First Paradox Upgrade: "The Liar's Paradox" makes rumors generate Doubt instead of consuming it (but halves Belief output) —first major build-defining choice
### Late Game (15-30 minutes)
- Running 4-5 rumors simultaneously, each with different evidence diets
- Cognitive Dissonance is constantly rising—you're dancing with disaster
- Reality Fracture Engine unlocks—now you can INTENTIONALLY crack reality for prestige
- Final push: maxing out a rumor's belief output before triggering a controlled Reality Fracture
- The question emerges: what happens when you reshape reality too many times?
### Key Milestones
1. **First Blood (2 min)**: Harvest first Belief from a rumor. Unlocks the upgrade shop.
2. **Dual Truths (5 min)**: Unlock second rumor slot. Cognitive Dissonance mechanic appears. Gameplay depth explodes.
3. **Synthesis Discovery (8 min)**: Build the Synthesis Engine. Currency conversion now possible. First meaningful economic strategy appears.
4. **The Great Collapse (12 min)**: Experience first rumor collapse from over-believability. Teaches the core risk/reward tension.
5. **Paradox Protocol (15 min)**: Unlock first Paradox Upgrade. Player chooses between mutually exclusive playstyles (safe vs. risky).
6. **Reality Fracture (20 min)**: Unlock prestige ability. Player sees the endgame.
7. **First Fracture (25 min)**: Trigger first controlled Reality Fracture, earn Shards of Truth. Choose first Reality Paradigm (permanent, build-defining).
8. **Reality Architect (30+ min)**: Max out a Reality Paradigm, unlock the truth about the dimension, prepare for the final fracture
## Meaningful Choices
### Choice 1: Paradox Path (First Major Divergence)
At ~15 minutes, the player unlocks their first Paradox Upgrade slot with three options:
- **The Liar's Paradox**: Rumors generate Doubt passively but produce 50% less Belief. (Build: Rumor spam, many small rumors, high dissonance tolerance)
- **The Confirmation Loop**: Rumors self-feed Doubt but collapse 2x faster. (Build: High-risk high-reward, rapid cycling of rumors)
- **The Truth Barrier**: Cognitive Dissonance builds 50% slower but Doubt generation is reduced 30%. (Build: Safe, slow, long-term planning)
This is a permanent choice that fundamentally changes the playstyle.
### Choice 2: Reality Paradigm (Prestige Choice)
On first prestige, the player chooses a permanent paradigm:
- **Chaos Theory**: Reality is malleable. Rumors never collapse from over-believability but Cognitive Dissonance builds 3x faster. (High-risk, fast cycling)
- **Rationalism**: Evidence matters. Doubt is 50% more effective but Belief generation is 30% slower. (Strategic, efficient)
- **Faith**: Belief conquers all. Belief generation 100% faster but Doubt costs 2x more. (Snowball build, slow start)
Each paradigm can be upgraded further in future prestiges, creating deep specialization.
### Choice 3: Rumor Diet (Continuous Strategic Choice)
Each rumor can be fed one of three "evidence types":
- **Anecdote**: Cheap Doubt cost, medium Belief output, low Dissonance
- **Statistical Data**: High Doubt cost, high Belief output, medium Dissonance
- **Expert Testimony**: Medium Doubt cost, low Belief output, high Dissonance BUT creates cascading effects (boosts adjacent rumors)
Player must constantly adjust based on current Dissonance levels and Belief needs.
## Prestige Concept
### Trigger
Player must build Cognitive Dissonance to 100% (the "Crack Point") and then click "Initiate Reality Fracture" at the Reality Fracture Engine. This destroys ALL rumors, resets Doubt and Belief to zero, and cracks the dimensional fabric.
### What Resets
- All rumors (lost)
- All Doubt and Belief (zeroed)
- All upgrades (except Reality Paradigm and Paradox choices)
- Rumor slots (reset to 1)
- Progress toward next fracture
### What Persists
- Shards of Truth (prestige currency)
- Chosen Reality Paradigm (permanent, with its own upgrade tree)
- Chosen Paradox Upgrade (permanent)
- Shard multipliers (earned by spending Shards)
- The "Truth" — the player slowly discovers why they're reshaping reality (narrative breadcrumbs that persist)
### Prestige Currency
**Shards of Truth** — earned based on:
- Base amount: 1 Shard per fracture
- Multiplier: +1 Shard per rumor active at fracture (up to +5)
- Multiplier: +1 Shard if Cognitive Dissonance was above 90% for at least 30 seconds before fracture
- Multiplier: Upgrades that increase Shard drops
Spent on:
- **Paradigm Upgrades**: Deepen your chosen Reality Paradigm's bonuses
- **Rumor Unlocks**: Access to exotic rumor types (Time Loops, Recursive Prophecies, etc.)
- **Dimensional Traits**: Permanent multipliers to all generation (2x Doubt, 1.5x Belief, etc.)
- **The Truth**: Narrative fragments that reveal WHY you're doing this (ultimately leads to multiple endings)
### Acceleration
Second run is 3-5x faster due to:
1. Chosen Paradigm provides immediate, significant bonuses (e.g., Rumor spam build gets extra rumor slot at start)
2. Shard multipliers to Doubt and Belief generation
3. Knowledge of optimal rumor diets and dissonance management
4. First major milestone (Dual Truths) unlocked much faster due to saved Shards
5. Player can now PLAN their fracture timing instead of discovering it accidentally
The acceleration feels MEANINGFUL because the player is actively using their Paradigm's strengths instead of playing generically.
## Unique Selling Point
**The core twist: FEEDING DOUBT to your rumors makes them STRONGER but LESS believable.** This inverted logic creates strategic depth unlike any other incremental game. You're constantly balancing growth vs. output, and the optimal strategy shifts based on which upgrades you've chosen, which rumors you're running, and how close you are to a prestige fracture.
ALSO unique: **Cognitive Dissonance as both a threat AND a tool.** It's always building in the background (creating tension), but you can deliberately weaponize it to trigger prestige. Most incrementals have "danger" mechanics that you simply avoid; this game lets you DANCE with danger and eventually HARNESS it.
FINALLY unique: **The thematic integration of mechanics.** Every currency and system emerges from the central metaphor: "belief shapes reality." Doubt feeds rumors. Belief reshapes reality. Dissonance is the cost of contradictions. The mechanics don't just have a theme pasted on—they ARE the theme.
## Visual/Audio Direction
**Aesthetic**: Cosmic horror meets office productivity software. Think "Lovecraftian Excel spreadsheet."
**Color Palette**:
- Deep purples and void blacks (background)
- Electric blues and neon greens (UI elements, active rumors)
- Amber/orange (warnings, collapsing rumors)
- Shimmering white crystalline effects (Belief harvests)
**Visual Style**:
- Each rumor is a pulsating orb that grows as you feed it
- Orbs are connected by thin threads of light when they create dissonance
- The background has subtle shifting geometry (reality fracturing)
- Harvest animations: Belief bursts like crystalline explosions
- Collapse animations: Rumor implodes with a "crunch" effect, screen shakes
**UI Layout**:
- Left panel: Rumor chambers (visual representations of each rumor with stats)
- Center panel: Main workspace (click zone for Doubt feeding)
- Right panel: Upgrades, Synthesis Engine, Reality Fracture controls
- Bottom bar: Currency display, Cognitive Dissonance meter (always visible)
**Key Visual Moments**:
- First Reality Fracture: Screen literally cracks, everything gets sucked into the void, then reforms in a new color scheme based on chosen Paradigm
- A rumor collapse: Dramatic implosion with sound effect, red warning flash
- Belief harvest: Satisfying crystal burst, numbers float up
**Audio** (optional, for polish):
- Ambient: Low, shifting drone (uncomfortable but intriguing)
- Clicks: Satisfying "thunk" sounds
- Harvests: Crystalline chimes
- Collapse: Bass-heavy "crunch"
- Fracture: Reality-shattering sound design
## Technical Scope Check
**Implementable?** Yes. This is entirely vanilla JS + HTML/CSS friendly.
**Complexity Breakdown**:
- **Core loop**: Simple clicker mechanics with currency math. Straightforward.
- **Multiple rumors**: Array of objects, each with own stats. Standard incremental pattern.
- **Currency conversion**: Basic math operations. Easy.
- **Cognitive Dissonance**: Simple percentage meter that increments based on rumor count and type. Very doable.
- **Prestige reset**: Standard incremental pattern—save chosen Paradigm/Paradox to localStorage, reset everything else.
- **Visual effects**: CSS animations for pulsing orbs, bursts, implosions. No canvas required (though canvas would make it cooler). CSS keyframes are sufficient.
- **UI layout**: Grid/flexbox layout. Three-panel design is standard and achievable.
**Potential Complexity Flags**:
- **"Connected rumors" visual**: Drawing lines between rumor orbs requires either SVG or Canvas. **Simplification**: Use CSS absolute positioning with visible connecting divs, or drop the visual connections and just show a Dissonance number.
- **"Background shifting geometry"**: CSS gradients + animation keyframes can achieve this without WebGL.
- **"Screen crack" effect**: Can use CSS clip-path or an overlay image that animates in.
**Recommended Simplifications for Single-File Prototype**:
1. Skip SVG/canvas lines between rumors. Just show Dissonance as a number + colored bar.
2. Use CSS animations for everything—no canvas required.
3. Limit to 5 rumor slots maximum (keeps UI clean).
4. Collapse the "narrative breadcrumbs" into simple text unlocks rather than complex cutscenes.
5. Use CSS filters (hue-rotate) to change color schemes for different Paradigms instead of full asset swaps.
**Verdict**: This is HIGHLY implementable in a single HTML file. The most complex systems are standard incremental patterns (multiple generators, prestige reset, currency conversion). The unique elements (Doubt feeding, Dissonance meter) are straightforward math and UI work. A competent AI agent can build this in one session.
**Estimated Implementation Time for AI Agent**: 2-3 hours for full prototype with all mechanics, 4-5 hours for polished UI/UX and visual effects.
**Key Files/Structure** (mental model for implementation):
- `index.html` with embedded CSS and JS
- CSS: Grid layout, animations for pulses/bursts, Paradigm color themes
- JS: Game state object, rumor array, currency math, upgrade definitions, save/load system, game loop (requestAnimationFrame or setInterval)
- localStorage for persistence (including prestige state)
This is scoped perfectly for a prototype that feels complete and plays for 15-30 minutes.
Currencies
{
"designDocument": {
"title": "Currency System for Echo Chamber",
"gameName": "Echo Chamber",
"version": "1.0",
"lastUpdated": "2026-02-06"
},
"overview": {
"summary": "Echo Chamber features a 5-currency economy centered around a unique tension: Doubt fuels growth but reduces output, while Belief is the desired resource that paradoxically generates slower when you invest in growth. The economy forms an interconnected web where Doubt is the universal fuel (abundant but inefficient), Belief is the precious output (scarce but high-value), Certainty is the strategic sink (expensive conversions), Cognitive Dissonance is the ever-present threat that becomes a prestige tool, and Shards of Truth are the endgame prestige currency. The core economic tension emerges from the mechanic that FEEDING rumors (which makes them grow and produce more Belief) actually REDUCES their believability, creating a constant tradeoff between growth and output. At any moment, the player is juggling: 'Do I feed this rumor to make it bigger (more long-term Belief) or let it ride to harvest now (short-term gain)?'",
"currencyCount": 5,
"flowDescription": "Doubt (primary fuel) feeds rumors → Rumors generate Belief (output) at rates inversely proportional to Doubt feeding → Belief + Doubt convert to Certainty (strategic resource) → Running multiple rumors builds Cognitive Dissonance (threshold/danger) → Max Dissonance triggers Reality Fracture → Shards of Truth (prestige) → Permanent multipliers accelerate next cycle"
},
"currencies": [
{
"name": "Doubt",
"type": "Primary",
"display": {
"icon": "question_mark_circle",
"abbreviation": "D",
"color": "#9B59B6",
"label": "Doubt"
},
"startingAmount": 50,
"decimalPlacesShown": 0,
"cap": "uncapped",
"usesSuffixes": true,
"suffixThresholds": ["K", "M", "B", "T", "Qa", "Qi", "Sx", "Sp", "Oc", "No", "Dc"],
"earningMethods": [
{
"source": "Void Trickle (Passive)",
"baseRate": "1 per second",
"formula": "doubtPerSecond = 1 * (1 + totalShardsOfTruth * 0.1) * paradigmMultiplier",
"unlockedAt": "start"
},
{
"source": "Manual Click (Feed Doubt)",
"baseRate": "1 per click",
"formula": "doubtPerClick = 1 * (1 + clickUpgrades) * paradigmMultiplier",
"unlockedAt": "start"
},
{
"source": "Rumor Collapse Salvage",
"baseRate": "10% of collapsed rumor's fed Doubt",
"formula": "salvagedDoubt = rumor.totalFedDoubt * 0.10",
"unlockedAt": "first collapse (milestone 4)"
},
{
"source": "Liar's Paradox Upgrade",
"baseRate": "0.5 per rumor per second",
"formula": "doubtPerSecond = 0.5 * activeRumorCount * (1 + paradoxLevel)",
"unlockedAt": "Paradox Protocol milestone (15 min)"
}
],
"spendingMethods": [
{
"sink": "Feed Rumor (Manual)",
"baseCost": 5,
"scalingFormula": "cost = 5 (fixed)",
"effect": "Increases rumor size by 1, decreases rumor believability by 2%, increases Belief generation rate by 5%",
"maxLevel": "unlimited"
},
{
"sink": "Unlock New Rumor Slot",
"baseCost": 100,
"scalingFormula": "cost = 100 * 2.5^(slotCount - 1)",
"effect": "Unlocks ability to run one additional rumor simultaneously",
"maxLevel": 5
},
{
"sink": "Certainty Conversion (at Synthesis Engine)",
"baseCost": 10,
"scalingFormula": "cost = 10 * (1.15 ^ conversionCount)",
"effect": "Combines with Belief to create Certainty (10:1 ratio)",
"maxLevel": "unlimited"
},
{
"sink": "Collapse Protection (at Synthesis Engine)",
"baseCost": 50,
"scalingFormula": "cost = 50 * (1.2 ^ protectionCount)",
"effect": "Reduces believability gain rate on targeted rumor by 10% for 60 seconds",
"maxLevel": "unlimited"
}
],
"inflationControl": {
"mechanism": "Exponential cost scaling on rumor slot unlocks and conversion",
"details": "Rumor slot costs scale at 2.5x per slot (100, 250, 625, 1562, 3906), conversion costs scale at 1.15x per use. Passive Doubt generation grows linearly with Shards (10% per Shard), but spending needs grow exponentially. This creates natural scarcity where Doubt feels abundant early-game but becomes a meaningful mid-game constraint."
}
},
{
"name": "Belief",
"type": "Secondary",
"display": {
"icon": "crystal",
"abbreviation": "B",
"color": "#3498DB",
"label": "Belief"
},
"startingAmount": 0,
"decimalPlacesShown": 1,
"cap": "uncapped",
"usesSuffixes": true,
"suffixThresholds": ["K", "M", "B", "T", "Qa", "Qi", "Sx", "Sp", "Oc", "No", "Dc"],
"earningMethods": [
{
"source": "Rumor Passive Generation",
"baseRate": "0.1 per rumor per second",
"formula": "beliefPerSecond = rumor.baseRate * rumor.sizeMultiplier * (1 - rumor.believability/100) * paradigmMultiplier",
"unlockedAt": "start (after first rumor creation)",
"notes": "Generation rate is INVERSE to believability - more believable rumors generate less Belief. Size multiplier increases with Doubt feeding."
},
{
"source": "Harvest Belief (Manual)",
"baseRate": "25% of accumulated belief pool",
"formula": "harvestedBelief = rumor.accumulatedBelief * 0.25",
"unlockedAt": "First Blood milestone (2 min)",
"notes": "Rumor resets accumulated pool to 0 after harvest. Requires rumor to have at least 10 Belief accumulated."
},
{
"source": "Confirmation Loop Upgrade",
"baseRate": "0.05 per rumor per second",
"formula": "beliefPerSecond = 0.05 * activeRumorCount * (rumor.believability / 100) * (1 + confirmationLevel)",
"unlockedAt": "Paradox Protocol milestone (15 min)",
"notes": "This Paradox path INVERTS the formula - more believable rumors generate MORE Belief, but collapse 2x faster."
}
],
"spendingMethods": [
{
"sink": "Create New Rumor",
"baseCost": 25,
"scalingFormula": "cost = 25 * 1.8^(rumorCreatedCount)",
"effect": "Creates a new rumor in an available slot",
"maxLevel": "unlimited (limited by slots)"
},
{
"sink": "Upgrade: Doubt Feed Efficiency",
"baseCost": 50,
"scalingFormula": "cost = 50 * 1.5^(upgradeLevel)",
"effect": "Each Doubt feed increases rumor size by +20% (stacking additive)",
"maxLevel": 10
},
{
"sink": "Upgrade: Belief Harvest Bonus",
"baseCost": 75,
"scalingFormula": "cost = 75 * 1.6^(upgradeLevel)",
"effect": "Harvests yield +5% more Belief per level (multiplicative)",
"maxLevel": 8
},
{
"sink": "Certainty Conversion (at Synthesis Engine)",
"baseCost": 1,
"scalingFormula": "cost = 1 * (1.2 ^ conversionCount)",
"effect": "Combines with Doubt (10:1) to create Certainty",
"maxLevel": "unlimited"
},
{
"sink": "Collapse Protection (at Synthesis Engine)",
"baseCost": 5,
"scalingFormula": "cost = 5 * (1.25 ^ protectionCount)",
"effect": "Reduces believability gain rate on targeted rumor by 10% for 60 seconds",
"maxLevel": "unlimited"
},
{
"sink": "Synthesis Engine Unlock",
"baseCost": 200,
"scalingFormula": "N/A (one-time purchase)",
"effect": "Unlocks currency conversion system",
"maxLevel": 1
}
],
"inflationControl": {
"mechanism": "Inverse generation formula + exponential costs",
"details": "Belief generation slows as rumors become more believable (approaching 0% at 100% believability). Combined with exponential cost scaling on upgrades (1.5x-1.8x), this creates persistent scarcity. Even with large rumors, the player must balance letting them ride (high believability, low generation) vs. feeding Doubt (low believability, high generation but costs Doubt)."
}
},
{
"name": "Certainty",
"type": "Tertiary",
"display": {
"icon": "shield",
"abbreviation": "C",
"color": "#F39C12",
"label": "Certainty"
},
"startingAmount": 0,
"decimalPlacesShown": 0,
"cap": "uncapped",
"usesSuffixes": false,
"suffixThresholds": [],
"earningMethods": [
{
"source": "Synthesis Engine Conversion",
"baseRate": "1 per conversion",
"formula": "certainty = floor(beliefSpent / 1) when doubtSpent >= beliefSpent * 10",
"unlockedAt": "Synthesis Discovery milestone (8 min)",
"notes": "Requires 10 Doubt + 1 Belief per conversion. Conversion is 1:1 for Belief spent."
}
],
"spendingMethods": [
{
"sink": "Paradox Upgrade: Liar's Paradox",
"baseCost": 10,
"scalingFormula": "cost = 10 * (1 + paradoxLevel)",
"effect": "Rumors generate Doubt passively (0.5/sec/rumor) but produce 50% less Belief. PERMANENT choice.",
"maxLevel": 1
},
{
"sink": "Paradox Upgrade: Confirmation Loop",
"baseCost": 10,
"scalingFormula": "cost = 10 * (1 + paradoxLevel)",
"effect": "Rumors self-feed Doubt but collapse 2x faster. PERMANENT choice.",
"maxLevel": 1
},
{
"sink": "Paradox Upgrade: Truth Barrier",
"baseCost": 10,
"scalingFormula": "cost = 10 * (1 + paradoxLevel)",
"effect": "Cognitive Dissonance builds 50% slower but Doubt generation reduced 30%. PERMANENT choice.",
"maxLevel": 1
},
{
"sink": "Rumor Type Unlock: Time Loop",
"baseCost": 25,
"scalingFormula": "N/A (one-time unlock per rumor type)",
"effect": "Unlocks Time Loop rumor type (generates Belief in bursts every 10 seconds)",
"maxLevel": 1
},
{
"sink": "Rumor Type Unlock: Recursive Prophecy",
"baseCost": 25,
"scalingFormula": "N/A (one-time unlock per rumor type)",
"effect": "Unlocks Recursive Prophecy rumor type (cascading Belief bonuses when adjacent rumors harvest)",
"maxLevel": 1
},
{
"sink": "Rumor Collapse Insurance",
"baseCost": 15,
"scalingFormula": "cost = 15 * (1.3 ^ insuranceCount)",
"effect": "Protects one rumor from collapse - instead of being destroyed, it resets to 0% believability",
"maxLevel": 3
}
],
"inflationControl": {
"mechanism": "Hard bottleneck on conversion + permanent purchases",
"details": "Certainty requires 10:1 Doubt:Belief ratio, making it expensive to produce. Most purchases are one-time unlocks (Paradox choices, rumor types) or scale aggressively (insurance). The Paradox choice is mutually exclusive - choosing one locks out the others, creating a permanent sink. Certainty naturally plateaus as the player runs out of things to buy."
}
},
{
"name": "Cognitive Dissonance",
"type": "Threshold/Meta",
"display": {
"icon": "crack",
"abbreviation": "CD",
"color": "#E74C3C",
"label": "Cognitive Dissonance"
},
"startingAmount": 0,
"decimalPlacesShown": 1,
"cap": 100,
"usesSuffixes": false,
"suffixThresholds": [],
"earningMethods": [
{
"source": "Multiple Rumors Running (Passive)",
"baseRate": "0.5% per second per rumor pair",
"formula": "dissonancePerSecond = 0.5 * (activeRumorCount * (activeRumorCount - 1) / 2) * paradigmMultiplier",
"unlockedAt": "Dual Truths milestone (5 min)",
"notes": "Only builds when 2+ rumors are active. Scales quadratically with rumor count. Paradigm multiplier is 3.0 for Chaos Theory, 0.5 for Truth Barrier."
},
{
"source": "Amplify Contradiction (Manual)",
"baseRate": "5% per click",
"formula": "dissonanceGain = 5 * (1 + amplificationUpgrades)",
"unlockedAt": "Dual Truths milestone (5 min)"
},
{
"source": "Expert Testimony Evidence Diet",
"baseRate": "0.3% per second",
"formula": "dissonancePerSecond = 0.3 * rumorsUsingExpertTestimony",
"unlockedAt": "start (evidence choice)"
},
{
"source": "Rumor Collapse (Penalty Spike)",
"baseRate": "+20% instant",
"formula": "dissonance += 20 (instant)",
"unlockedAt": "first collapse",
"notes": "When a rumor collapses from 100% believability, adds instant 20% Dissonance"
}
],
"spendingMethods": [
{
"sink": "Controlled Reality Fracture (Prestige Trigger)",
"baseCost": 100,
"scalingFormula": "N/A (requires exactly 100% dissonance)",
"effect": "Triggers prestige reset, converts all progress to Shards of Truth",
"maxLevel": "unlimited"
}
],
"inflationControl": {
"mechanism": "Hard cap at 100% with passive decay",
"details": "Dissonance is capped at 100%. When below 100%, it passively decays at 0.2% per second (0.1% with Truth Barrier). This creates a 'dance' mechanic where the player must constantly balance keeping Dissonance high (for faster production) vs. avoiding the 100% fracture trigger. The cap ensures it never becomes meaningless - it's always an imminent threat."
}
},
{
"name": "Shards of Truth",
"type": "Prestige",
"display": {
"icon": "shard",
"abbreviation": "SoT",
"color": "#FFFFFF",
"label": "Shards of Truth"
},
"startingAmount": 0,
"decimalPlacesShown": 0,
"cap": "uncapped",
"usesSuffixes": false,
"suffixThresholds": [],
"earningMethods": [
{
"source": "Reality Fracture (Prestige)",
"baseRate": "1 + multipliers",
"formula": "shards = 1 + activeRumorCount + (maxDissonanceAbove90 ? 1 : 0) + floor(totalBeliefGenerated/1000) + shardMultiplierUpgrades",
"unlockedAt": "Reality Fracture milestone (20 min)",
"notes": "Base: 1 Shard. +1 per active rumor (max +5). +1 if Dissonance was >90% for 30+ seconds before fracture. +1 per 1000 total Belief generated in run (floored). Shard multiplier upgrades add flat bonuses."
}
],
"spendingMethods": [
{
"sink": "Dimensional Trait: Doubt Amplification",
"baseCost": 1,
"scalingFormula": "cost = 1 * (1.5 ^ currentLevel)",
"effect": "Permanent 2x multiplier to Doubt generation per level",
"maxLevel": "unlimited"
},
{
"sink": "Dimensional Trait: Belief Amplification",
"baseCost": 2,
"scalingFormula": "cost = 2 * (1.6 ^ currentLevel)",
"effect": "Permanent 1.5x multiplier to Belief generation per level",
"maxLevel": "unlimited"
},
{
"sink": "Dimensional Trait: Dissonance Resistance",
"baseCost": 3,
"scalingFormula": "cost = 3 * (1.4 ^ currentLevel)",
"effect": "Cognitive Dissonance builds 10% slower per level (multiplicative)",
"maxLevel": 10
},
{
"sink": "Reality Paradigm Upgrade",
"baseCost": 5,
"scalingFormula": "cost = 5 * (1.8 ^ paradigmLevel)",
"effect": "Deepens chosen Paradigm's unique bonuses (varies by Paradigm)",
"maxLevel": "unlimited"
},
{
"sink": "Narrative Fragment: The Truth",
"baseCost": 10,
"scalingFormula": "cost = 10 * (fragmentNumber)",
"effect": "Unlocks story fragment revealing why you're reshaping reality",
"maxLevel": 8
}
],
"inflationControl": {
"mechanism": "Exponential scaling + diminishing returns on generation",
"details": "Shard spending costs scale exponentially (1.5x-1.8x per level), while Shard generation per prestige soft-caps around 8-12 per run even with optimal play. Dimensional Traits provide powerful multipliers but with exponential costs, creating a natural asymptote where each additional Shard has clear value. The player will never reach 'infinite' Shards - each one is a meaningful choice."
}
}
],
"conversions": [
{
"name": "Synthesis Engine: Doubt + Belief → Certainty",
"input": {
"doubt": 10,
"belief": 1
},
"output": {
"certainty": 1
},
"rateFormula": "certainty = floor(beliefSpent) where doubtSpent >= beliefSpent * 10",
"cooldown": "none",
"unlockedAt": "Synthesis Discovery milestone (8 min) - requires Synthesis Engine purchase (200 Belief)",
"mechanicNotes": "Player can convert any amount of Belief to Certainty as long as they have 10x the Doubt. Conversion costs scale with each use (Doubt cost * 1.15^count, Belief cost * 1.2^count), making repeated conversions increasingly expensive."
},
{
"name": "Reality Fracture: Max Cognitive Dissonance → Shards of Truth",
"input": {
"cognitiveDissonance": 100,
"allRumors": "destroyed",
"allDoubt": "reset to 0",
"allBelief": "reset to 0",
"allUpgrades": "reset (except Paradigm/Paradox)"
},
"output": {
"shardsOfTruth": "1 + activeRumors + bonuses"
},
"rateFormula": "shards = 1 + activeRumorCount + (dissonanceAbove90Timer >= 30 ? 1 : 0) + floor(totalBeliefGenerated/1000) + shardMultiplierUpgrades",
"cooldown": "must rebuild to 100% dissonance",
"unlockedAt": "Reality Fracture milestone (20 min)",
"mechanicNotes": "This is the prestige reset. Player must rebuild Dissonance to 100% to trigger. Shards persist and provide permanent multipliers. Chosen Paradigm and Paradox upgrades persist."
},
{
"name": "Rumor Collapse: Over-Believability → Doubt Salvage",
"input": {
"rumor": "destroyed",
"cognitiveDissonance": "+20%"
},
"output": {
"doubt": "10% of rumor's total fed Doubt"
},
"rateFormula": "salvagedDoubt = rumor.totalFedDoubt * 0.10",
"cooldown": "none (unintentional)",
"unlockedAt": "first collapse (occurs naturally when rumor hits 100% believability)",
"mechanicNotes": "This is a penalty, not a strategic conversion. Player wants to avoid collapses. The Doubt salvage is a small consolation - you get back 10% of what you invested, but lose the rumor and gain dangerous Dissonance."
}
],
"economyFlowDiagram": {
"description": "ASCII flow chart showing currency relationships",
"flow": "```",
" ┌─────────────────┐",
" │ VOID TRICKLE │",
" │ (Passive D+) │",
" └────────┬────────┘",
" │",
" v",
"┌───────────┐ ┌───────────────────┐ ┌─────────────┐",
"│ DOUBT │───────>│ RUMORS │<──────>│ BELIEF │",
"│ (Primary) │ feed │ (Growth Engine) │ harvest│ (Secondary) │",
"└───────────┘ └─────────┬─────────┘ └──────┬──────┘",
" ^ ^ │ │",
" │ │ v v",
" salvage ┌───────────────────┐ ┌──────────────┐",
" (collapse) │ COGNITIVE │ │ SYNTHESIS │",
" ^ │ DISSONANCE │ │ ENGINE │",
" │ │ (Threshold 0-100%)│ │ (Conversion) │",
" │ └─────────┬─────────┘ └──────┬───────┘",
" │ │ │",
" │ v v",
" │ ┌──────────────┐ ┌──────────┐",
" └────────────────────│ REALITY │ │CERTAINTY │",
" (at 100%) │ FRACTURE │<─────│(Tertiary)│",
" │ (Prestige) │ └──────────┘",
" └───────┬───────┘",
" │",
" v",
" ┌──────────────────┐",
" │ SHARDS OF TRUTH │",
" │ (Prestige Curr) │",
" └─────────┬────────┘",
" │",
" (buy permanent multipliers that loop back",
" to boost Doubt/Belief generation)",
" │",
" v",
" [ACCELERATED NEXT RUN]",
"```",
"bottlenecks": {
"earlyGame": "Doubt is abundant but Belief generation is slow. First bottleneck: Affording 25 Belief to create second rumor. Takes ~2 minutes of passive generation + active feeding.",
"midGame": "Belief becomes scarce as rumors approach 100% believability. Player must choose: let rumors ride (high believability, low Belief/sec) or feed Doubt (low believability, high Belief/sec but expensive). Second bottleneck: 200 Belief for Synthesis Engine.",
"lateGame": "Cognitive Dissonance becomes the primary bottleneck. Running 4-5 rumors builds Dissonance rapidly. Player must dance with 100% threshold - keeping it high for production bonuses but avoiding fracture until ready. Third bottleneck: Deciding WHEN to fracture (optimize Shard yield vs. continue run).",
"prestige": "Shards of Truth are the ultimate bottleneck. First prestige yields ~2-3 Shards. Each Shard choice is meaningful. Acceleration comes from permanent multipliers, not infinite scaling."
}
},
"upgradeCosts": {
"summary": "All upgradeable purchases with exact costs and scaling",
"upgradeCategories": [
{
"category": "Rumor Slot Unlocks",
"currency": "Doubt",
"upgrades": [
{
"name": "Second Rumor Slot",
"baseCost": 100,
"scaling": "N/A (one-time)",
"maxLevel": 1,
"effect": "Unlocks ability to run 2 rumors simultaneously. Unlocks Cognitive Dissonance mechanic."
},
{
"name": "Third Rumor Slot",
"baseCost": 250,
"scaling": "cost = 100 * 2.5^(slot-1)",
"maxLevel": 1,
"effect": "Unlocks ability to run 3 rumors simultaneously."
},
{
"name": "Fourth Rumor Slot",
"baseCost": 625,
"scaling": "cost = 100 * 2.5^(slot-1)",
"maxLevel": 1,
"effect": "Unlocks ability to run 4 rumors simultaneously."
},
{
"name": "Fifth Rumor Slot",
"baseCost": 1562,
"scaling": "cost = 100 * 2.5^(slot-1)",
"maxLevel": 1,
"effect": "Unlocks ability to run 5 rumors simultaneously (max)."
}
]
},
{
"category": "Belief Generation Upgrades",
"currency": "Belief",
"upgrades": [
{
"name": "Doubt Feed Efficiency",
"baseCost": 50,
"scaling": "cost = 50 * 1.5^level",
"maxLevel": 10,
"effect": "Each Doubt feed increases rumor size by +20% per level (additive with base). Level 1: 1.2x, Level 2: 1.4x, etc."
},
{
"name": "Belief Harvest Bonus",
"baseCost": 75,
"scaling": "cost = 75 * 1.6^level",
"maxLevel": 8,
"effect": "Harvests yield +5% more Belief per level (multiplicative). Level 1: 1.05x, Level 2: 1.10x, etc."
},
{
"name": "Synthesis Engine Unlock",
"baseCost": 200,
"scaling": "N/A (one-time)",
"maxLevel": 1,
"effect": "Unlocks currency conversion system. Required for Certainty."
}
]
},
{
"category": "Paradox Upgrades (Mutually Exclusive - Choose ONE)",
"currency": "Certainty",
"upgrades": [
{
"name": "The Liar's Paradox",
"baseCost": 10,
"scaling": "N/A (one-time choice)",
"maxLevel": 1,
"effect": "Rumors generate 0.5 Doubt/sec/rumor passively but produce 50% less Belief. Playstyle: Rumor spam, high Dissonance tolerance."
},
{
"name": "The Confirmation Loop",
"baseCost": 10,
"scaling": "N/A (one-time choice)",
"maxLevel": 1,
"effect": "Rumors self-feed Doubt (0.1/sec/rumor) but collapse 2x faster. Playstyle: High-risk high-reward, rapid cycling."
},
{
"name": "The Truth Barrier",
"baseCost": 10,
"scaling": "N/A (one-time choice)",
"maxLevel": 1,
"effect": "Cognitive Dissonance builds 50% slower but Doubt generation reduced 30%. Playstyle: Safe, slow, long-term planning."
}
]
},
{
"category": "Reality Paradigm Upgrades (Prestige - Choose ONE on First Prestige)",
"currency": "Shards of Truth",
"upgrades": [
{
"name": "Chaos Theory Paradigm",
"baseCost": 5,
"scaling": "cost = 5 * 1.8^level",
"maxLevel": "unlimited",
"effect": "Rumors never collapse from over-believability but Cognitive Dissonance builds 3x faster. Each level: +10% to Belief generation, +5% to Dissonance build rate."
},
{
"name": "Rationalism Paradigm",
"baseCost": 5,
"scaling": "cost = 5 * 1.8^level",
"maxLevel": "unlimited",
"effect": "Doubt is 50% more effective but Belief generation is 30% slower. Each level: +15% Doubt effectiveness, +10% Belief generation."
},
{
"name": "Faith Paradigm",
"baseCost": 5,
"scaling": "cost = 5 * 1.8^level",
"maxLevel": "unlimited",
"effect": "Belief generation 100% faster but Doubt costs 2x more. Each level: +20% Belief generation, -5% Doubt cost."
}
]
},
{
"category": "Dimensional Traits (Prestige Multipliers)",
"currency": "Shards of Truth",
"upgrades": [
{
"name": "Doubt Amplification",
"baseCost": 1,
"scaling": "cost = 1 * 1.5^level",
"maxLevel": "unlimited",
"effect": "Permanent 2x multiplier to Doubt generation (passive trickle + clicks). Stacks multiplicatively."
},
{
"name": "Belief Amplification",
"baseCost": 2,
"scaling": "cost = 2 * 1.6^level",
"maxLevel": "unlimited",
"effect": "Permanent 1.5x multiplier to Belief generation from all rumors. Stacks multiplicatively."
},
{
"name": "Dissonance Resistance",
"baseCost": 3,
"scaling": "cost = 3 * 1.4^level",
"maxLevel": 10,
"effect": "Cognitive Dissonance builds 10% slower per level (multiplicative reduction). Level 10: 65% slower Dissonance build."
}
]
},
{
"category": "Rumor Type Unlocks",
"currency": "Certainty",
"upgrades": [
{
"name": "Time Loop Rumor",
"baseCost": 25,
"scaling": "N/A (one-time unlock)",
"maxLevel": 1,
"effect": "Unlocks Time Loop rumor type. Generates 0 Belief for 9 seconds, then bursts 50 Belief. Requires 2x Doubt to feed. Creates high Dissonance."
},
{
"name": "Recursive Prophecy Rumor",
"baseCost": 25,
"scaling": "N/A (one-time unlock)",
"maxLevel": 1,
"effect": "Unlocks Recursive Prophecy rumor type. Generates Belief at 50% normal rate, but when ANY rumor harvests, this rumor gains +25% accumulated Belief."
}
]
},
{
"category": "Protective Measures",
"currency": "Certainty",
"upgrades": [
{
"name": "Rumor Collapse Insurance",
"baseCost": 15,
"scaling": "cost = 15 * 1.3^level",
"maxLevel": 3,
"effect": "Protects one rumor from collapse. Instead of being destroyed, rumor resets to 0% believability. One-time use per insurance level, must re-buy."
}
]
},
{
"category": "Narrative Unlocks",
"currency": "Shards of Truth",
"upgrades": [
{
"name": "The Truth - Fragment 1",
"baseCost": 10,
"scaling": "cost = 10 * fragmentNumber",
"maxLevel": 8,
"effect": "Unlocks story fragment revealing why you're reshaping reality. Leads to multiple endings."
}
]
}
]
},
"balanceTargets": {
"pacingBenchmarks": [
{
"time": "0:30",
"doubt": "~35",
"belief": "~2",
"certainty": 0,
"cognitiveDissonance": 0,
"shardsOfTruth": 0,
"keyUnlock": "Still in tutorial phase. First rumor growing. Player has clicked Feed Doubt ~10 times, spent ~50 Doubt. Rumor believability ~20%, Belief generation ~0.08/sec."
},
{
"time": "1:00",
"doubt": "~60",
"belief": "~8",
"certainty": 0,
"cognitiveDissonance": 0,
"shardsOfTruth": 0,
"keyUnlock": "First harvest possible (rumor has ~10 Belief accumulated). Player makes first meaningful economic choice: harvest now for quick Belief or wait for more?"
},
{
"time": "2:00",
"doubt": "~120",
"belief": "~30",
"certainty": 0,
"cognitiveDissonance": 0,
"keyUnlock": "First Blood milestone achieved. Can afford upgrade shop unlocks (Doubt Feed Efficiency: 50 Belief). Player feels rich - first upgrade affordable!"
},
{
"time": "5:00",
"doubt": "~400",
"belief": "~150",
"certainty": 0,
"cognitiveDissonance": "0-15%",
"shardsOfTruth": 0,
"keyUnlock": "Dual Truths milestone. Can afford second rumor slot (100 Doubt). Now managing 2 rumors, Cognitive Dissonance starts building. First economic decision: spend Doubt on slot or save for upgrades?"
},
{
"time": "8:00",
"doubt": "~800",
"belief": "~350",
"certainty": 0,
"cognitiveDissonance": "20-40%",
"shardsOfTruth": 0,
"keyUnlock": "Synthesis Discovery. Can afford Synthesis Engine (200 Belief). Currency conversion unlocks. Player discovers Certainty. First complex economic strategy: convert now or save Belief for upgrades?"
},
{
"time": "12:00",
"doubt": "~1500",
"belief": "~600",
"certainty": "~5",
"cognitiveDissonance": "40-70%",
"shardsOfTruth": 0,
"keyUnlock": "First collapse experienced. Teaches risk/reward tension. Player starts thinking about Dissonance management seriously. Can afford first Certainty purchases."
},
{
"time": "15:00",
"doubt": "~2500",
"belief": "~1000",
"certainty": "~10",
"cognitiveDissonance": "60-85%",
"shardsOfTruth": 0,
"keyUnlock": "Paradox Protocol. Can afford first Paradox Upgrade (10 Certainty). Player makes first PERMANENT build-defining choice. Gameplay shifts from generic to specialized."
},
{
"time": "20:00",
"doubt": "~4000",
"belief": "~1800",
"certainty": "~15",
"cognitiveDissonance": "80-98%",
"shardsOfTruth": 0,
"keyUnlock": "Reality Fracture unlocked. Player sees endgame. Dancing with 100% Dissonance threshold. Planning first prestige run: optimize Shard yield or push further?"
},
{
"time": "25:00",
"doubt": "~6000",
"belief": "~2500",
"certainty": "~20",
"cognitiveDissonance": "95-100%",
"shardsOfTruth": "~2-4",
"keyUnlock": "First controlled Reality Fracture. Player prestiges, earns first Shards of Truth. Chooses Reality Paradigm (permanent). Second run begins with immediate acceleration."
},
{
"time": "30:00",
"doubt": "Variable (post-prestige reset)",
"belief": "Variable (post-prestige reset)",
"certainty": "Variable (post-prestige reset)",
"cognitiveDissonance": 0,
"shardsOfTruth": "~3-5 (cumulative)",
"keyUnlock": "Reality Architect status. Player has permanent Paradigm + first Shard multiplier. Second run is 3-5x faster. First Dimensional Trait purchases affordable. Endgame content unlocked."
}
],
"criticalRatios": {
"earnToSpendRatio": "Doubt income doubles every ~4 minutes (from passive trickle + click upgrades + Shard multipliers). Belief income is variable: starts at ~0.1/sec/rumor, peaks at ~1.5/sec/rumor with optimal feeding, then crashes as believability approaches 100%. Upgrade costs scale exponentially (1.5x-1.8x per level), ensuring player always outruns costs early but hits walls mid-game. Target: Player can afford 2-3 upgrades per milestone milestone, then must grind for the next.",
"conversionEfficiency": "Synthesis Engine conversion: 10 Doubt + 1 Belief → 1 Certainty. Doubt is abundant (passive 1/sec + clicks), Belief is scarce. Conversion value: ~80% of Belief's farming-time value is preserved (you spend ~10 seconds of Doubt generation to convert 1 Belief). This creates meaningful decisions: convert now for strategic purchases or save Belief for immediate upgrades?",
"prestigeBreakpoint": "First prestige becomes attractive at ~20-25 minutes when: (1) Player has 4-5 rumors running, (2) Cognitive Dissonance is constantly at 90%+ (dangerous but fast), (3) Upgrade costs are outpacing income (grind setting in), (4) Player has accumulated ~1500+ total Belief (worth +1 Shard). Optimal prestige timing: Dissonance at 100%, 4-5 active rumors, Dissonance was >90% for 30+ seconds. This yields ~5-7 Shards per run."
}
},
"edgeCasesAndSafeguards": {
"hoarding": {
"scenario": "Player saves all currencies, never spends",
"handling": "Doubt: Soft cap through diminishing returns on feeding rumors (size gains have linear effect, but exponential costs on slot unlocks). Belief: Passive generation slows to 0 as rumors approach 100% believability - hoarding forces player to either feed Doubt (expensive) or accept near-0 generation. Certainty: Hard bottleneck on conversion - can only accumulate by spending Doubt+Belief. Cognitive Dissonance: Passive decay (0.2%/sec) forces active management to keep it high. Shards of Truth: Prestige reset wipes all progress except Shards - hoarding Shards is the point, but they're expensive enough that each choice matters. Conclusion: Hoarding is possible but suboptimal - the game rewards active spending.",
"recoveryTime": "If player oversaves and hits a wall (e.g., Belief generation at 0.001/sec from 99% believable rumors), recovery takes ~2-3 minutes of feeding Doubt to reduce believability back to productive levels (40-60%). This is intentional - creates risk/reward around letting rumors ride."
},
"overspending": {
"scenario": "Player spends all currencies on wrong upgrades (e.g., dumps all Doubt into 5th rumor slot early, can't afford to create rumors)",
"handling": "All currencies have passive generation floors. Doubt: 1/sec passive ensures player can't brick themselves. Belief: Even with 1 rumor at 100% believability (0 generation), player can feed Doubt to reduce believability and restart generation. No soft-lock possible. Recovery time: If player overspends Doubt on slot unlocks (e.g., 5 slots, 0 Doubt, 0 Belief), passive Doubt generation (1/sec) takes ~60 seconds to afford first rumor creation (25 Belief) via feeding Doubt to size up existing rumor. Not punitive enough to frustrate, teaches economic planning.",
"recoveryTime": "~1-2 minutes from complete economic reset (all currencies spent) to functional economy (1 rumor generating Belief). By design, recovery is faster than initial startup because player keeps their rumors (only spending currencies, not rumors, is wiped)."
},
"overflowProtection": {
"scenario": "Late-game numbers exceed JavaScript Number.MAX_SAFE_INTEGER (2^53 - 1)",
"handling": "Use Decimal.js or arbitrary-precision library for all currency math. Display thresholds: Switch to scientific notation at 1e15 (1P), suffixes (K/M/B/T/Qa/Qi/Sx/Sp/Oc/No/Dc) up to 1e33, then full scientific notation (1.234e+50) beyond. Cap display at 1e100 (effectively infinite). Internal calculations: Use arbitrary precision for all operations - no overflow possible. Currency storage: Store as strings in localStorage to preserve precision.",
"overflowThresholds": [
{"threshold": 1000, "display": "1K"},
{"threshold": 1000000, "display": "1M"},
{"threshold": 1000000000, "display": "1B"},
{"threshold": 1000000000000, "display": "1T"},
{"threshold": 1e15, "display": "1P (scientific notation starts)"},
{"threshold": 1e33, "display": "1e+33"},
{"threshold": 1e100, "display": "∞ (effectively infinite)"}
]
},
"negativeBalance": {
"scenario": "Bug or exploit creates negative currency amounts",
"handling": "Every spending operation checks: if (currencyAmount >= cost) { spend(); } else { preventPurchase(); }. Never allow spending below zero. Add sanitization on save/load: if (loadedCurrency < 0) { currency = 0; }. Add max clamps: Doubt/Belief/Certainty/Shards min = 0. Cognitive Dissonance min = 0, max = 100. On game load, validate all currency values and reset negatives to 0. Log suspicious resets (for debugging).",
"codeChecks": [
"Before purchase: if (currency < cost) return false;",
"After purchase: currency = Math.max(0, currency - cost);",
"On save: currencies = {doubt: Math.max(0, doubt), belief: Math.max(0, belief), ...};",
"On load: Object.values(currencies).forEach(c => { if (c < 0) c = 0; });"
]
},
"impossibleStates": {
"rumorCollapse": "If rumor.believability >= 100, trigger collapse immediately (same tick). Never let believability exceed 100.",
"cognitiveDissonance": "Clamp between 0 and 100 every frame. If dissonance > 100, trigger fracture. If dissonance < 0, reset to 0.",
"rumorSlots": "Never allow activeRumorCount > maxRumorSlots. When purchasing slot, increment maxSlots FIRST, then allow rumor creation.",
"prestigeReset": "When Reality Fracture triggers, use a transaction flag to prevent double-triggering. Set isFracturing = true, complete reset, then isFracturing = false."
}
},
"implementationNotes": {
"developerGuidance": "For implementation: all formulas use standard math operators. No complex calculus needed. Exponential scaling is base^exponent. Inverse formula for Belief generation is (1 - believability/100) - simple linear ramp. Cognitive Dissonance quadratic scaling is (n * (n-1) / 2) - triangular number formula. All currency variables should be objects: {doubt: 50, belief: 0, certainty: 0, dissonance: 0, shards: 0}. Update in a game loop running at 60fps (requestAnimationFrame) or 10 ticks/sec (setInterval 100ms). Display updates every 100ms to avoid flickering. Save to localStorage every 30 seconds or on prestige.",
"variableNaming": {
"currencies": "doubt, belief, certainty, cognitiveDissonance, shardsOfTruth",
"rumors": "Array of objects: [{size: 1, believability: 0, accumulatedBelief: 0, totalFedDoubt: 0, evidenceType: 'anecdote'}]",
"upgrades": "Object tracking levels: {doubtFeedEfficiency: 0, beliefHarvestBonus: 0, ...}",
"multipliers": "Object: {doubtGen: 1, beliefGen: 1, dissonanceBuild: 1}",
"paradigm": "String: 'chaosTheory' | 'rationalism' | 'faith' | null",
"paradox": "String: 'liarsParadox' | 'confirmationLoop' | 'truthBarrier' | null"
},
"formulaConsistency": "All scaling formulas follow pattern: cost = base * multiplier^level. Multiplier ranges: 1.15-1.3 for minor upgrades, 1.5-1.8 for major upgrades, 2.0+ for rumor slots. This ensures player can predict costs and plan purchases. No hidden formulas - everything should be visible to player in UI (show next cost, show effect, show scaling).",
"testingChecklist": [
"Verify Doubt passive trickle starts at 1/sec and increases with Shards (10% per Shard)",
"Verify Belief generation slows as believability increases (test at 0%, 50%, 90%, 100%)",
"Verify Cognitive Dissonance builds with 2+ rumors and decays when below 100%",
"Verify Synthesis Engine conversion requires 10 Doubt + 1 Beliet → 1 Certainty",
"Verify Reality Fracture at 100% Dissonance resets everything except Shards/Paradigm/Paradox",
"Verify all costs scale exponentially (not linearly)",
"Verify no currency can go negative (add clamp checks)",
"Verify prestige acceleration (second run should be 3-5x faster with Shard multipliers)"
]
},
"qualityChecklist": {
"verified": [
"Every currency has at least 2 earning methods and 2 spending methods",
"Every formula is specific enough to copy-paste into code (no 'scales appropriately')",
"Conversion rates create meaningful decisions (Synthesis Engine: spend now vs. save for upgrades; Reality Fracture: optimize Shard yield vs. continue run)",
"Pacing benchmarks produce 15-30 minute target timeline (first prestige at 20-25 min, full mastery at 30+ min)",
"At least one currency is scarce enough to force hard choices (Belief is always scarce - inverse generation formula + exponential costs)",
"The first 30 seconds feel generous (player starts with 50 Doubt, can feed rumor 10 times immediately, first upgrade affordable by 2 min)",
"No currency becomes irrelevant after a certain point (Doubt feeds rumors; Belief buys upgrades; Certainty unlocks Paradox; Dissonance enables prestige; Shards provide permanent acceleration)",
"BigNum/overflow addressed for late-game (arbitrary precision library + scientific notation display)",
"Economy forms a web matching idea.md's currency flow (Doubt→Rumors→Belief, Doubt+Belief→Certainty, Multiple Rumors→Dissonance→Shards→Multipliers→loop back)",
"All formulas use consistent variable naming (doubt, belief, certainty, cognitiveDissonance, shardsOfTruth; rumor.size, rumor.believability, etc.)"
],
"designPrinciplesMet": [
"Early generosity, late scarcity: Starting 50 Doubt feeds rumor 10 times immediately. First upgrade affordable at 2 min. By 15 min, Belief is scarce due to inverse generation formula.",
"Multiple sinks per currency: Doubt (4 sinks), Belief (6 sinks), Certainty (6 sinks), Dissonance (1 sink but it's the prestige trigger), Shards (5 sinks)",
"Visible interconnection: Synthesis Engine shows conversion explicitly. Dissonance meter is always visible. Rumor stats show Doubt feeding → size → Belief generation.",
"Inflation control: Exponential costs (1.5x-1.8x), inverse generation formula, Dissonance cap at 100%, Shard cost scaling (1.5x-1.8x)",
"The 'almost' feeling: Upgrade costs tuned so gap between 'have' and 'need' is 20-60 seconds of play. Example: At 5 min, have 150 Belief, need 200 for Synthesis Engine (~50 sec of generation)."
]
}
}
Prestige
{
"designDocument": {
"title": "Prestige System for Echo Chamber",
"gameName": "Echo Chamber",
"version": "1.0",
"lastUpdated": "2026-02-06"
},
"overview": {
"thematicConcept": "Reality Fracture is the ultimate expression of the Echo Chamber's central theme: belief shapes reality. When Cognitive Dissonance reaches 100%, the dimensional fabric literally cracks under the weight of mutually exclusive truths. The player voluntarily destroys their entire reality—all rumors, all Doubt, all Belief, all progress—in a moment of controlled chaos. This isn't a defeat; it's a transcendence. By shattering reality, the player extracts crystallized fragments of truth (Shards of Truth) that persist across dimensions. Each fracture reshapes the fundamental laws of physics, represented by the Reality Paradigm choice. Thematically, the player is discovering that they're not just spreading rumors—they're rewriting the laws of existence itself, one fracture at a time.",
"whyPlayerWouldPrestige": "The player wants to prestige for three converging reasons: (1) The current run has hit diminishing returns—upgrade costs are outpacing income, Belief generation has slowed as rumors approach 100% believability, and the 'almost there' feeling of Shard multipliers (e.g., 'Only 350 more Belief until I hit 1000 total for +1 Shard!') creates a natural goal to complete. (2) The player sees exactly what they'll gain—'I'll earn 5 Shards if I fracture now, which lets me buy Belief Amplification and makes Run 2 3x faster.' (3) The danger/opportunity dance of keeping Dissonance at 95-100% creates a thrilling climax—fracturing feels like a triumphant release of tension, not a loss. The first prestige transforms the game from 'can I figure this out?' to 'I'm reshaping reality on purpose.'",
"emotionalArc": "The prestige moment follows a dramatic arc: ANTICIPATION (Dissonance at 80-95%, player sees Shard multiplier in distance, dancing with danger) → TENSION (Dissonance at 98-99%, every second matters, collapse risk high) → CLIMAX (Player clicks 'Initiate Reality Fracture', screen literally cracks, everything gets sucked into void) → RELEASE (Brief darkness, then reform in new Paradigm colors) → TRIUMPH (Shard count revealed, Paradigm choice appears, player feels powerful). The reset doesn't feel like starting over—it feels like ascending to a higher plane of existence."
},
"prestigeCurrency": {
"name": "Shards of Truth",
"abbreviation": "SoT",
"color": "#FFFFFF",
"icon": "shard",
"startingAmount": 0,
"decimalPlacesShown": 0,
"cap": "uncapped",
"earnedBy": "Reality Fracture (prestige reset at 100% Cognitive Dissonance)",
"formula": {
"baseCalculation": "shards = 1 + activeRumorCount + dissonanceBonus + beliefBonus + upgradeBonus",
"detailedFormula": "shards = 1 + min(activeRumorCount, 5) + (dissonanceAbove90Timer >= 30 ? 1 : 0) + floor(totalBeliefGenerated / 1000) + shardMultiplierUpgradeLevel",
"variableDefinitions": {
"activeRumorCount": "Number of rumors currently running (capped at 5 for bonus calculation)",
"dissonanceAbove90Timer": "Seconds Cognitive Dissonance has been above 90% continuously before fracture",
"totalBeliefGenerated": "Accumulated Belief generated across the entire run (not spent)",
"shardMultiplierUpgradeLevel": "Level of Shard multiplier upgrades purchased from Dimensional Traits"
}
},
"exampleValues": [
{
"gameStateAtPrestige": "Minimum viable: 1 rumor, 0 seconds above 90% Dissonance, 500 total Belief generated",
"shardsEarned": 2,
"breakdown": "1 (base) + 1 (1 rumor) + 0 (no 90% bonus) + 0 (under 1000 Belief) + 0 (no upgrades) = 2 Shards"
},
{
"gamestateAtPrestige": "Recommended first prestige: 3 rumors, 45 seconds above 90% Dissonance, 1200 total Belief generated",
"shardsEarned": 6,
"breakdown": "1 (base) + 3 (3 rumors) + 1 (above 90% for 30+ sec) + 1 (over 1000 Belief) + 0 (no upgrades) = 6 Shards"
},
{
"gameStateAtPrestige": "Pushed further: 4 rumors, 60 seconds above 90% Dissonance, 2800 total Belief generated",
"shardsEarned": 10,
"breakdown": "1 (base) + 4 (4 rumors) + 1 (above 90% for 30+ sec) + 2 (over 2000 Belief) + 2 (upgrade level 2) = 10 Shards"
},
{
"gameStateAtPrestige": "Much further (optimized): 5 rumors, 90 seconds above 90% Dissonance, 5500 total Belief generated, 3 upgrade levels",
"shardsEarned": 16,
"breakdown": "1 (base) + 5 (5 rumors) + 1 (above 90% for 30+ sec) + 5 (over 5000 Belief) + 4 (upgrade level 4) = 16 Shards"
}
],
"diminishingReturns": {
"explanation": "The Shard formula follows a log-linear curve that rewards optimal play but creates diminishing returns on waiting. Active rumor count adds +1 Shard per rumor (capped at 5), so going from 3→4 rumors gives the same +1 Shard as 1→2 rumors, but the Dissonance build rate scales quadratically (0.5% * (n * (n-1) / 2)). Running 5 rumors builds Dissonance 10x faster than 2 rumors, making it exponentially harder to keep below 100% while optimizing for Belief generation. The total Belief bonus is linear (+1 Shard per 1000 Belief), but Belief generation slows as rumors approach 100% believability (inverse formula), creating soft-caps on how much Belief you can generate before Dissonance forces fracture. The 'above 90% for 30 seconds' bonus is a single hard threshold—waiting 60 seconds gives no additional bonus. This creates natural decision points: 'I'm at 950 Belief, should I push for the +1 Shard bonus (risking collapse) or fracture now?' The optimal strategy is balancing multiple factors, not simply 'wait as long as possible.'",
"curveVisualization": "```\nShards Earned vs. Time Spent After Reaching 100% Dissonance\n\n16 | * (optimal fracture point)\n14 | *\n12 | *\n10 | *\n 8 | *\n 6 | * (recommended first prestige)\n 4 | * (minimum viable prestige)\n 2 |\n +----------------------------------------------------------->\n 0 5 10 15 20 25 30 35 40 45 50 minutes\n\nNote: After ~40 minutes, Shard gains plateau. Each additional 10 minutes\nyields diminishing returns due to Belief generation slowdown and Dissonance\nmanagement difficulty. The optimal fracture point is 20-30 minutes.\n```"
},
"spentOn": "Shards of Truth are spent on Dimensional Traits (permanent multipliers to Doubt/Belief generation and Dissonance resistance), Reality Paradigm upgrades (deepen your chosen Paradigm's unique bonuses), exotic rumor type unlocks (Time Loop, Recursive Prophecy), and Narrative Fragments (story unlocks revealing WHY you're reshaping reality). See 'Prestige Upgrades' section for full details."
},
"prestigeTrigger": {
"requirements": {
"minimumRequirement": "Cognitive Dissonance must reach 100%. This requires running at least 2 rumors simultaneously (Dissonance only builds with 2+ active rumors). In practice, optimal prestiges use 3-5 rumors to maximize Shard yield.",
"recommendedFirstPrestige": "3 rumors running, Cognitive Dissonance at 100%, Dissonance was above 90% for at least 30 seconds before fracture, total Belief generated around 1000-1500. This state is typically reached 20-25 minutes into the first run and yields 5-7 Shards.",
"uiIndicator": {
"beforePrestigeUnlocked": {
"dissonanceBelow50": "No indicator. Player focuses on core mechanics.",
"dissonance50to79": "At 50% Dissonance (typically ~11 min), tooltip appears: 'At 100% Dissonance, you can trigger Reality Fracture. But be ready—it resets everything!' First prestige tease.",
"dissonance80to94": "At 80% Dissonance (typically ~17 min), 'Reality Fracture Engine' panel appears in right panel, greyed out with label 'UNLOCK AT 100% DISSONANCE'. Panel pulses slowly."
},
"whenPrestigeAvailable": {
"dissonance95to99": "At 95% Dissonance (typically ~19 min), 'REALITY FRACTURE' button in Reality Fracture Engine panel unlocks, glows red and pulses urgently. Button text shows: 'INITIATE REALITY FRACTURE'. Tooltip: 'This will RESET your run! Earn Shards of Truth based on run performance.'",
"dissonance100": "At 100% Dissonance (typically ~20-22 min), button fully active. Button pulsing intensifies. Prestige preview panel appears next to button showing: 'Shards earned if fractured NOW: X' (calculated from current active rumors, Belief total, Dissonance timer). Comparison: 'Current Shards: Y. New total after fracture: Z.'",
"shardMultiplierPreview": "When total Belief generated >500, tooltip shows: 'Total Belief: X / 1000 for +1 Shard bonus'. Updates in real-time as Belief accumulates.",
"topAffordableUpgrades": "Prestige preview shows: 'With X Shards, you can afford: [Upgrade 1], [Upgrade 2]'. List updates as Shards change.",
"estimatedSpeedup": "Preview shows: 'Estimated Run 2 speedup: Yx faster with current Paradigm + affordable upgrades'. Calculated from expected multipliers."
}
}
},
"thePrestigeAction": {
"step1": "Player clicks 'INITIATE REALITY FRACTURE' button in Reality Fracture Engine panel.",
"step2": "Confirmation modal appears with backdrop dim. Modal text: 'REALITY FRACTURE IMMINENT\\n\\nThis will DESTROY everything:\\n• All rumors (lost forever)\\n• All Doubt (reset to 50)\\n• All Belief (reset to 0)\\n• All upgrades (reset to level 0)\\n• All progress (reset to initial state)\\n\\nYou will EARN:\\n• X Shards of Truth\\n• New total: Y Shards\\n• Can purchase: [list affordable upgrades]\\n\\nAre you ready to reshape reality?'\\n\\nTwo buttons: [CANCEL] [CONFIRM FRACTURE]",
"step3_onConfirm": {
"calculation": "Shards are calculated using formula: shards = 1 + activeRumorCount + (dissonanceAbove90Timer >= 30 ? 1 : 0) + floor(totalBeliefGenerated / 1000) + shardMultiplierUpgradeLevel",
"awarded": "Calculated Shards are added to persistent Shards total (displayed with +X animation).",
"resets": [
"All rumors: Array cleared, all rumor objects deleted",
"Doubt: Reset to starting amount (50)",
"Belief: Reset to 0",
"Certainty: Reset to 0",
"Cognitive Dissonance: Reset to 0%",
"Rumor slots: Reset to 1 (starting slot)",
"Upgrades (non-permanent): All upgrade levels reset to 0",
"Synthesis Engine: Re-locked (must be purchased again with Belief)",
"Paradox choice: PERSISTS (chosen Paradox remains active)",
"Reality Paradigm: PERSISTS (chosen Paradigm remains active)",
"Dimensional Traits: PERSISTS (purchased multipliers remain)",
"Shards of Truth: PERSISTS (accumulates across runs)",
"Milestones/achievements: PERSISTS (unlocked story fragments remain)",
"Narrative progress: PERSISTS (unlocked Truth fragments remain)"
],
"animation": "Screen crack animation plays (CSS clip-path effect). Everything gets sucked into a central void point (scale down to 0). Screen goes black for 1 second. Game reforms in new color scheme based on chosen Paradigm (purple for Chaos Theory, blue for Rationalism, gold for Faith). Shards earned count floats up from center of screen.",
"returnState": "Player returns to initial game state (1 rumor slot, 50 Doubt, 0 Belief, 0 Dissonance) BUT with permanent bonuses applied: chosen Paradigm effects active, purchased Dimensional Traits multipliers active, Shards total preserved."
},
"step4_postFracture": "If first prestige: 'Choose a Reality Paradigm' modal appears immediately after animation. Three Paradigm options displayed with full descriptions. Player must choose one before continuing. If subsequent prestige: Game returns to normal play with all permanent bonuses active. 'Dimensional Traits' shop panel is now visible (unlocked on first prestige)."
}
},
"resetSpecification": {
"whatResets": [
{
"element": "Doubt",
"resetsTo": 50,
"notes": "Starting Doubt amount. All accumulated Doubt from previous run is lost."
},
{
"element": "Belief",
"resetsTo": 0,
"notes": "All Belief from previous run is lost. Must regenerate from scratch."
},
{
"element": "Certainty",
"resetsTo": 0,
"notes": "All Certainty from previous run is lost. Must re-convert Doubt+Belief."
},
{
"element": "Cognitive Dissonance",
"resetsTo": 0,
"notes": "Resets to 0%. Dissonance timer (time above 90%) also resets."
},
{
"element": "Rumors",
"resetsTo": "Empty array",
"notes": "All rumor objects destroyed. All fed Doubt, accumulated Belief, believability progress lost."
},
{
"element": "Rumor Slots",
"resetsTo": 1,
"notes": "Max rumor slots reset to 1. Must re-purchase slot unlocks (100, 250, 625, 1562 Doubt)."
},
{
"element": "Upgrades (Non-Permanent)",
"resetsTo": "Level 0",
"notes": "Doubt Feed Efficiency, Belief Harvest Bonus, Collapse Protection, Evidence Diets—all reset to level 0. Must re-purchase."
},
{
"element": "Synthesis Engine",
"resetsTo": "Locked",
"notes": "Must be purchased again for 200 Belief. Conversion panel hidden until re-purchased."
},
{
"element": "Evidence Diets",
"resetsTo": "Anecdote (default)",
"notes": "All rumors reset to default evidence type. Must re-select per-rumor."
},
{
"element": "Rumor Collapse Insurance",
"resetsTo": "0 uses",
"notes": "Must re-purchase insurance levels with Certainty."
},
{
"element": "Total Belief Generated (Run Counter)",
"resetsTo": 0,
"notes": "Run-specific Belief accumulator resets. Shard bonus based on this counter recalculates each run."
},
{
"element": "Dissonance Above 90% Timer",
"resetsTo": 0,
"notes": "Timer resets. Must re-accumulate 30 seconds above 90% for Shard bonus."
}
],
"whatPersists": [
{
"element": "Shards of Truth",
"notes": "Accumulates across runs. Never resets. Displayed persistently in top-right corner."
},
{
"element": "Chosen Reality Paradigm",
"notes": "Permanent choice. First prestige requires choosing one. Subsequent prestiges keep the same Paradigm (or can switch via special 'Paradigm Shift' purchase for 50 Shards). Paradigm effects (multipliers, mechanic changes) apply immediately on Run 2 start."
},
{
"element": "Chosen Paradox Upgrade",
"notes": "Permanent choice from pre-prestige (Liar's Paradox, Confirmation Loop, Truth Barrier). Effects persist across all runs. Cannot be changed."
},
{
"element": "Dimensional Traits (Purchased Shard Upgrades)",
"notes": "All multipliers purchased with Shards persist. Doubt Amplification, Belief Amplification, Dissonance Resistance levels preserved. Effects stack multiplicatively across runs."
},
{
"element": "Reality Paradigm Upgrade Levels",
"notes": "Paradigm-specific upgrade levels (purchased with Shards) persist. Deepen Paradigm bonuses across runs."
},
{
"element": "Exotic Rumor Type Unlocks",
"notes": "Time Loop, Recursive Prophecy rumor types (unlocked with Certainty) remain available in all future runs once unlocked."
},
{
"element": "Narrative Fragments (The Truth)",
"notes": "Story fragments unlocked with Shards persist. Player can re-read unlocked fragments. Leads to multiple endings."
},
{
"element": "Milestones/Achievements",
"notes": "All achievement-style milestones (First Blood, Dual Truths, etc.) are marked as completed and display completion status. Some achievements give one-time bonuses that persist."
}
],
"whatPartiallyResets": [
{
"element": "Cognitive Dissonance Build Rate",
"behavior": "Base rate resets (dependent on active rumor count), but Paradigm multipliers persist",
"formula": "dissonancePerSecond = 0.5 * (activeRumorCount * (activeRumorCount - 1) / 2) * paradigmMultiplier",
"notes": "If Chaos Theory Paradigm chosen (3x Dissonance build), Dissonance will build 3x faster in Run 2 compared to Run 1 with same rumor count. This is both a bonus (faster Shard generation) and penalty (harder to manage)."
},
{
"element": "Belief Generation Rate",
"behavior": "Base formula resets (rumor.size * (1 - rumor.believability/100)), but Paradigm and Dimensional Trait multipliers persist",
"formula": "beliefPerSecond = rumor.baseRate * rumor.sizeMultiplier * (1 - rumor.believability/100) * paradigmMultiplier * dimensionalTraitsMultiplier",
"notes": "Paradigm effects (e.g., Faith gives 100% Belief generation boost) and Belief Amplification upgrades persist. Run 2 generates Belief significantly faster from the start."
},
{
"element": "Doubt Generation Rate",
"behavior": "Base passive trickle resets (1/sec), but Dimensional Trait multipliers persist",
"formula": "doubtPerSecond = 1 * paradigmMultiplier * dimensionalTraitsMultiplier",
"notes": "Doubt Amplification upgrades (2x per level) and Paradigm effects persist. Run 2 generates Doubt faster, accelerating rumor slot unlocks."
}
]
},
"prestigeUpgrades": {
"upgradeTree": [
{
"number": 1,
"name": "Doubt Amplification",
"cost": "1 * (1.5 ^ currentLevel)",
"costDescription": "Starts at 1 Shard, scales 1.5x per level",
"effect": "Permanent 2x multiplier to Doubt generation (passive trickle + manual clicks) per level. Stacks multiplicatively.",
"formula": "doubtPerSecond = baseDoubtPerSecond * (2 ^ doubtAmplificationLevel) * paradigmMultiplier",
"maxLevel": "unlimited",
"prerequisite": "None (available on first prestige)"
},
{
"number": 2,
"name": "Belief Amplification",
"cost": "2 * (1.6 ^ currentLevel)",
"costDescription": "Starts at 2 Shards, scales 1.6x per level",
"effect": "Permanent 1.5x multiplier to Belief generation from all rumors per level. Stacks multiplicatively.",
"formula": "beliefPerSecond = baseBeliefPerSecond * (1.5 ^ beliefAmplificationLevel) * paradigmMultiplier",
"maxLevel": "unlimited",
"prerequisite": "None (available on first prestige)"
},
{
"number": 3,
"name": "Dissonance Resistance",
"cost": "3 * (1.4 ^ currentLevel)",
"costDescription": "Starts at 3 Shards, scales 1.4x per level",
"effect": "Cognitive Dissonance builds 10% slower per level (multiplicative reduction).",
"formula": "dissonancePerSecond = baseDissonancePerSecond * (0.9 ^ dissonanceResistanceLevel) * paradigmMultiplier",
"maxLevel": 10,
"prerequisite": "None (available on first prestige)"
},
{
"number": 4,
"name": "Shard Multiplier",
"cost": "4 * (1.7 ^ currentLevel)",
"costDescription": "Starts at 4 Shards, scales 1.7x per level",
"effect": "+1 flat bonus Shard per Reality Fracture per level.",
"formula": "shards = baseShards + shardMultiplierLevel",
"maxLevel": "unlimited",
"prerequisite": "None (available on first prestige)"
},
{
"number": 5,
"name": "Chaos Theory Paradigm Upgrade",
"cost": "5 * (1.8 ^ currentLevel)",
"costDescription": "Starts at 5 Shards, scales 1.8x per level",
"effect": "Deepens Chaos Theory Paradigm bonuses: +10% Belief generation, +5% Dissonance build rate per level.",
"formula": "beliefMultiplier *= 1.1; dissonanceMultiplier *= 1.05; rumorCollapseEnabled = false (base effect)",
"maxLevel": "unlimited",
"prerequisite": "Must have chosen Chaos Theory Paradigm on first prestige"
},
{
"number": 6,
"name": "Rationalism Paradigm Upgrade",
"cost": "5 * (1.8 ^ currentLevel)",
"costDescription": "Starts at 5 Shards, scales 1.8x per level",
"effect": "Deepens Rationalism Paradigm bonuses: +15% Doubt effectiveness, +10% Belief generation per level.",
"formula": "doubtEffectiveness *= 1.15; beliefMultiplier *= 1.1; doubtCost *= 0.5 (base effect), beliefGen *= 0.7 (base effect)",
"maxLevel": "unlimited",
"prerequisite": "Must have chosen Rationalism Paradigm on first prestige"
},
{
"number": 7,
"name": "Faith Paradigm Upgrade",
"cost": "5 * (1.8 ^ currentLevel)",
"costDescription": "Starts at 5 Shards, scales 1.8x per level",
"effect": "Deepens Faith Paradigm bonuses: +20% Belief generation, -5% Doubt cost per level.",
"formula": "beliefMultiplier *= 1.2; doubtCostMultiplier *= 0.95; beliefGen *= 2.0 (base effect), doubtCost *= 2.0 (base effect)",
"maxLevel": "unlimited",
"prerequisite": "Must have chosen Faith Paradigm on first prestige"
},
{
"number": 8,
"name": "Collapse Insurance",
"cost": "6 * (1.3 ^ currentLevel)",
"costDescription": "Starts at 6 Shards, scales 1.3x per level",
"effect": "Protects one rumor from collapse per level. Instead of being destroyed, rumor resets to 0% believability. One-time use per insurance level, must re-purchase.",
"formula": "if (rumorBelievability >= 100 && collapseInsuranceCount > 0) { collapseInsuranceCount--; rumorBelievability = 0; }",
"maxLevel": 5,
"prerequisite": "None (available on first prestige)"
},
{
"number": 9,
"name": "Time Loop Rumor Type",
"cost": "8 Shards (one-time unlock)",
"costDescription": "Fixed 8 Shards (no scaling)",
"effect": "Unlocks Time Loop rumor type. Generates 0 Belief for 9 seconds, then bursts 50 Belief. Requires 2x Doubt to feed. Creates high Dissonance.",
"formula": "if (timeLoopCounter >= 10) { belief += 50; timeLoopCounter = 0; } else { timeLoopCounter++; }",
"maxLevel": 1,
"prerequisite": "None (available on first prestige, new mechanic unlock)"
},
{
"number": 10,
"name": "Recursive Prophecy Rumor Type",
"cost": "10 Shards (one-time unlock)",
"costDescription": "Fixed 10 Shards (no scaling)",
"effect": "Unlocks Recursive Prophecy rumor type. Generates Belief at 50% normal rate, but when ANY rumor harvests, this rumor gains +25% accumulated Belief.",
"formula": "beliefPerSecond = baseRate * 0.5 * sizeMultiplier * (1 - believability/100); onAnyHarvest: accumulatedBelief += baseRate * 0.25;",
"maxLevel": 1,
"prerequisite": "Time Loop Rumor Type must be unlocked first"
},
{
"number": 11,
"name": "The Truth - Fragment 1",
"cost": "10 Shards",
"costDescription": "10 * fragmentNumber (scales linearly: 10, 20, 30...)",
"effect": "Unlocks first story fragment revealing WHY you're reshaping reality. Narrative only, no mechanical effect.",
"formula": "No formula (narrative unlock)",
"maxLevel": 8,
"prerequisite": "None (available after first prestige)"
},
{
"number": 12,
"name": "The Truth - Fragment 2",
"cost": "20 Shards",
"costDescription": "10 * fragmentNumber",
"effect": "Unlocks second story fragment. Continues narrative.",
"formula": "No formula (narrative unlock)",
"maxLevel": 8,
"prerequisite": "The Truth - Fragment 1"
},
{
"number": 13,
"name": "The Truth - Fragment 3",
"cost": "30 Shards",
"costDescription": "10 * fragmentNumber",
"effect": "Unlocks third story fragment. Continues narrative.",
"formula": "No formula (narrative unlock)",
"maxLevel": 8,
"prerequisite": "The Truth - Fragment 2"
},
{
"number": 14,
"name": "Paradigm Shift",
"cost": "50 Shards (one-time purchase per shift)",
"costDescription": "Fixed 50 Shards (can be purchased multiple times)",
"effect": "Allows switching to a different Reality Paradigm. Retains upgrade levels from previous Paradigm? No, upgrade levels are reset but Shards spent are refunded.",
"formula": "currentParadigm = newParadigm; paradigmUpgradeLevels = 0; refundShards(previousParadigmUpgradeSpent);",
"maxLevel": "unlimited",
"prerequisite": "Must have completed first prestige and chosen a Paradigm"
}
],
"upgradeCategories": [
{
"categoryName": "Production Multipliers",
"upgrades": [
"Doubt Amplification",
"Belief Amplification"
],
"strategicTradeoff": "These upgrades provide raw generation boosts that accelerate every aspect of the game. Doubt Amplification accelerates rumor slot unlocks and feeding capacity. Belief Amplification accelerates upgrade purchasing and Synthesis Engine timing. Priority: HIGH for first prestige. These provide the most immediate acceleration and are the safest investment. The tradeoff is opportunity cost—Shards spent here aren't spent on Paradigm upgrades or new mechanics. Recommended to get at least 2-3 levels of each before branching out."
},
{
"categoryName": "Risk Mitigation",
"upgrades": [
"Dissonance Resistance",
"Collapse Insurance"
],
"strategicTradeoff": "These upgrades reduce the danger and tension of the game, making Dissonance management easier and collapses less punishing. Dissonance Resistance makes it easier to keep Dissonance high (for efficiency) without hitting 100%. Collapse Insurance provides a safety net for risky play. Priority: MEDIUM. Valuable for players who dislike high-tension gameplay or want to push for longer runs with less risk. The tradeoff is that these upgrades don't accelerate generation—they just make the game safer. Recommended for players who struggle with Dissonance dance or want to optimize for Shard multipliers (longer runs)."
},
{
"categoryName": "Paradigm Specialization",
"upgrades": [
"Chaos Theory Paradigm Upgrade",
"Rationalism Paradigm Upgrade",
"Faith Paradigm Upgrade"
],
"strategicTradeoff": "These upgrades deepen your chosen Paradigm's unique bonuses, creating build-defining specialization. Chaos Theory upgrades make Dissonance build faster (more Shard generation potential) but also more dangerous. Rationalism upgrades improve Doubt efficiency and Belief generation (balanced acceleration). Faith upgrades supercharge Belief generation (snowball build). Priority: HIGH after 2-3 levels of production multipliers. These upgrades define your long-term strategy and should align with your playstyle. The tradeoff is that they're Paradigm-locked—if you switch Paradigms later, you lose these upgrades (though Shards are refunded with Paradigm Shift)."
},
{
"categoryName": "New Mechanics",
"upgrades": [
"Time Loop Rumor Type",
"Recursive Prophecy Rumor Type"
],
"strategicTradeoff": "These upgrades unlock entirely new rumor types with unique mechanics that change how you play. Time Loop creates burst Belief generation with high Dissonance risk. Recursive Prophecy creates cascading bonuses when rumors harvest. Priority: MEDIUM after first prestige. These unlock new strategic depth and prevent 'same game but faster' fatigue. The tradeoff is opportunity cost—Shards spent here aren't spent on raw multipliers. However, the new mechanics can be MORE powerful than multipliers in skilled hands. Recommended to unlock at least one new mechanic by second or third prestige."
},
{
"categoryName": "Shard Yield Optimization",
"upgrades": [
"Shard Multiplier"
],
"strategicTradeoff": "This upgrade directly increases Shard earnings per prestige, creating a positive feedback loop. Each level gives +1 flat Shard per fracture, compounding across runs. Priority: VERY HIGH after first prestige. This is the single most impactful upgrade for long-term acceleration. The tradeoff is high cost scaling (1.7x per level), making later levels very expensive. Recommended to get 1-2 levels early, then focus on production multipliers before coming back for more."
},
{
"categoryName": "Narrative Unlocks",
"upgrades": [
"The Truth - Fragment 1",
"The Truth - Fragment 2",
"The Truth - Fragment 3",
"The Truth - Fragment 4",
"The Truth - Fragment 5",
"The Truth - Fragment 6",
"The Truth - Fragment 7",
"The Truth - Fragment 8"
],
"strategicTradeoff": "These upgrades reveal the story and lead to multiple endings. No mechanical benefit. Priority: LOW for optimization-focused players, HIGH for narrative-focused players. The tradeoff is pure opportunity cost—Shards spent here don't accelerate the game at all. However, the narrative provides context and meaning to the gameplay loop. Recommended to unlock gradually over multiple runs rather than all at once."
}
],
"recommendedFirstPrestigePurchases": [
{
"order": 1,
"purchase": "Choose Reality Paradigm (REQUIRED - no Shard cost)",
"reason": "You must choose a Paradigm on first prestige before any other purchases. Paradigm choice defines your entire build. Choose based on playstyle: Chaos Theory (high-risk, fast cycling), Rationalism (balanced, efficient), Faith (snowball, slow start)."
},
{
"order": 2,
"purchase": "Doubt Amplification Level 1 (1 Shard)",
"reason": "Doubt is the fuel for everything. 2x Doubt generation means faster rumor slot unlocks, more frequent feeding, and accelerated Synthesis Engine timing. This is the single highest-impact first purchase."
},
{
"order": 3,
"purchase": "Belief Amplification Level 1 (2 Shards)",
"reason": "Belief is the scarcest currency. 1.5x Belief generation means faster upgrade purchasing, quicker Synthesis Engine unlock, and accelerated Paradox choice. This dramatically reduces Run 2 time."
},
{
"order": 4,
"purchase": "Shard Multiplier Level 1 (4 Shards)",
"reason": "+1 Shard per prestige compounds across runs. If your first prestige earned 6 Shards, this upgrade makes your second prestige earn 7 Shards (with identical performance). Long-term, this is the most impactful upgrade."
},
{
"order": 5,
"purchase": "Paradigm Upgrade Level 1 (5 Shards)",
"reason": "Deepen your chosen Paradigm's bonuses. This provides build-specific acceleration that aligns with your playstyle. If you chose Faith, this gives +20% Belief generation. If Rationalism, +15% Doubt effectiveness. If Chaos Theory, +10% Belief and +5% Dissonance."
},
{
"order": 6,
"purchase": "Time Loop Rumor Type (8 Shards) OR Dissonance Resistance Level 1 (3 Shards)",
"reason": "If you have 6+ Shards remaining after above purchases, unlock Time Loop for new mechanic depth. If you have 3-5 Shards, get Dissonance Resistance for easier Dissonance management. This diversifies your toolkit for Run 2."
}
]
},
"runPacingComparison": {
"run1_noPrestigeBonuses": [
{
"milestone": "First harvest (10 Belief accumulated)",
"timeToReach": "1:00"
},
{
"milestone": "First Blood milestone (upgrade shop unlock)",
"timeToReach": "2:00"
},
{
"milestone": "Dual Truths milestone (second rumor slot unlock)",
"timeToReach": "5:00"
},
{
"milestone": "Synthesis Discovery (Synthesis Engine unlock)",
"timeToReach": "8:00"
},
{
"milestone": "Paradox Protocol (Paradox choice)",
"timeToReach": "15:00"
},
{
"milestone": "Reality Fracture (prestige ready)",
"timeToReach": "22:00"
}
],
"run2_afterFirstPrestige": [
{
"milestone": "First harvest (10 Belief accumulated)",
"timeToReach": "0:20",
"speedupVsRun1": "3x faster"
},
{
"milestone": "First Blood milestone (upgrade shop unlock)",
"timeToReach": "0:45",
"speedupVsRun1": "2.7x faster"
},
{
"milestone": "Dual Truths milestone (second rumor slot unlock)",
"timeToReach": "2:00",
"speedupVsRun1": "2.5x faster"
},
{
"milestone": "Synthesis Discovery (Synthesis Engine unlock)",
"timeToReach": "3:30",
"speedupVsRun1": "2.3x faster"
},
{
"milestone": "Paradox Protocol (Paradox choice - ALREADY CHOSEN, SKIPPED)",
"timeToReach": "N/A",
"speedupVsRun1": "Instant (permanent choice persists)"
},
{
"milestone": "Reality Fracture (prestige ready)",
"timeToReach": "8:00",
"speedupVsRun1": "2.75x faster (overall)"
}
],
"run3_accumulatedPrestige": {
"description": "Run 3 accelerates further due to accumulated Shard multipliers. With 2 levels of Doubt Amplification (4x Doubt), 2 levels of Belief Amplification (2.25x Belief), 1 level of Shard Multiplier (+1 Shard per fracture), and 2 levels of Paradigm upgrades, Run 3 reaches the prestige point in 5-6 minutes—4-5x faster than Run 1. Each subsequent run continues to accelerate, though with diminishing returns. By Run 5, the player can reach prestige in 3-4 minutes, at which point the game shifts from 'can I figure this out?' to 'how fast can I optimize this?' The player has graduated to the mastery phase, where the game becomes a sandbox for testing different builds and pushing for optimal Shard yields.",
"marginalReturns": "Prestige acceleration follows a log-linear curve. Run 2 is ~3x faster. Run 3 is ~4.5x faster. Run 5 is ~6x faster. Run 10 is ~8x faster. The acceleration never becomes infinite—each additional Shard provides less percentage acceleration due to exponential cost scaling (1.5x-1.8x per level). This creates a natural asymptote where the player feels powerful but not game-breakingly so. The game remains challenging due to Dissonance management and collapse risk, even with powerful multipliers."
}
},
"prestigePreviewUI": {
"beforePrestigeIsAvailable": {
"dissonanceBelow50": {
"visual": "No indicator. Reality Fracture is a distant concept.",
"playerSees": "Normal gameplay. Focus on core mechanics."
},
"dissonance50to79": {
"visual": "Small tooltip appears when hovering over Cognitive Dissonance meter: 'At 100% Dissonance, you can trigger Reality Fracture.'",
"playerSees": "First hint that Dissonance has a purpose beyond danger. Curiosity about what happens at 100%."
},
"dissonance80to94": {
"visual": "'Reality Fracture Engine' panel appears in right panel. Panel is greyed out with label 'UNLOCK AT 100% DISSONANCE'. Panel pulses slowly with red glow.",
"playerSees": "Concrete evidence that Dissonance leads to something. The prestige mechanic is now visible and approaching. Player has a clear goal: reach 100% Dissonance."
}
},
"whenPrestigeIsAvailable": {
"dissonance95to99": {
"visual": "'REALITY FRACTURE' button unlocks in Reality Fracture Engine panel. Button glows red and pulses urgently. Button text: 'INITIATE REALITY FRACTURE'. Tooltip on hover: 'This will RESET your run! Earn Shards of Truth based on run performance.'",
"playerSees": "The endgame trigger is available. Button prominence creates urgency. Player must decide: fracture now or push for more Shards?"
},
"dissonance100": {
"visual": "Button fully active, pulsing intensifies. Prestige preview panel slides out next to button showing real-time calculations. Preview panel content:",
"previewPanelContent": [
"Current Shards earned if fractured NOW: X (calculated from formula)",
"Comparison: 'You will earn X Shards. Current total: Y. New total: Z.'",
"Breakdown: '[1 base] + [X rumor bonus] + [X/n 90% bonus] + [X Belief bonus] + [X upgrade bonus]'",
"Top affordable upgrades: 'With Z Shards, you can afford: [Upgrade 1: Name - Cost], [Upgrade 2: Name - Cost]'",
"Estimated Run 2 speedup: 'Estimated speedup: Yx faster with Paradigm + affordable upgrades'",
"Shard multiplier preview: 'Total Belief: X / 1000 for +1 Shard bonus' (if under 1000)",
"Warning: 'Dissonance is at 100%! Click now or risk decay!' (after 30 seconds at 100%)"
],
"playerSees": "Complete information to make strategic prestige decision. Player sees exact Shard yield, what they can buy, and how much faster Run 2 will be. This creates confidence in the decision—no uncertainty about whether to prestige now or wait."
}
},
"thePreviewPanel": {
"exactInformationShown": {
"shardsEarnedNow": "Shards earned if fractured NOW: X (updates in real-time as Dissonance, rumors, Belief change)",
"totalComparison": "You will earn X Shards. Current total: Y. New total: Z (Y+X)",
"breakdown": "Breakdown: [1 base] + [activeRumorCount rumor bonus] + [(dissonanceAbove90Timer >= 30 ? 1 : 0) 90% bonus] + [floor(totalBeliefGenerated/1000) Belief bonus] + [shardMultiplierUpgradeLevel upgrade bonus]",
"affordableUpgrades": "Top 3 affordable upgrades with names, costs, and brief descriptions. Example: 'With 6 Shards, you can afford: Doubt Amp L1 (1 Shard), Belief Amp L1 (2 Shards), Shard Mult L1 (4 Shards)'",
"estimatedSpeedup": "Estimated Run 2 speedup: Yx faster. Calculated from Paradigm multipliers + Dimensional Trait multipliers from affordable upgrades. Example: 'Estimated speedup: 2.8x faster with Faith Paradigm + Belief Amplification L1'",
"shardMultiplierProgress": "If total Belief < 1000: 'Total Belief: X / 1000 for +1 Shard bonus'. Updates in real-time. Creates 'almost there' feeling.",
"dissonanceWarning": "If Dissonance stays at 100% for 30+ seconds: 'Dissonance decay imminent! Fracture now or rebuild!' Warning pulses red."
}
}
},
"edgeCases": [
{
"case": "Prestige at Minimum",
"description": "Player prestiges at bare minimum (1 rumor, 0 seconds above 90% Dissonance, <1000 total Belief)",
"result": "Earns 2 Shards (1 base + 1 rumor bonus). This is enough to purchase Doubt Amplification Level 1 (1 Shard) with 1 Shard remaining. Run 2 will be ~1.5x faster instead of ~3x faster. Prestige is still worth it—player gets permanent multipliers—but not optimal. Recommended to wait for at least 3 rumors and 1000 total Belief before first prestige.",
"handling": "Allow minimum prestige. Player learns from suboptimal choice. Second run will still be faster, and player can optimize next time."
},
{
"case": "Prestige Hoarding",
"description": "Player pushes way past recommended prestige, running 5 rumors for 60+ minutes, accumulating 10,000+ total Belief",
"result": "Shard formula handles gracefully. Belief bonus caps at +10 Shards (10,000 Belief / 1000). Active rumor bonus caps at +5 (5 rumors). Dissonance 90% bonus is flat +1. Maximum theoretical Shards without upgrades: 1 (base) + 5 (rumors) + 1 (90% bonus) + 10 (Belief bonus) = 17 Shards. With Shard Multiplier upgrades (e.g., level 5): +5 Shards = 22 total. Further waiting yields minimal additional Shards (only from Belief generation, which slows as rumors approach 100% believability). Player naturally hits diminishing returns and self-corrects.",
"handling": "No hard cap needed. Formula's inherent diminishing returns discourage excessive hoarding. Player naturally fractures when Shard gains plateau."
},
{
"case": "Multiple Prestiges with No Spending",
"description": "Player prestiges 3 times but never spends Shards, accumulating 18 Shards (6 per prestige)",
"result": "Run 4 is identical to Run 1 in terms of mechanics (no Paradigm chosen if first prestige skipped Paradigm choice, no multipliers purchased). However, Run 4 will be slightly faster due to Shard Multiplier bonuses from Shard count itself (if formula includes total Shards). Player has 18 Shards to spend all at once, creating a massive power spike when they finally purchase upgrades. This is a valid 'hoard and splurge' strategy.",
"handling": "Allow this strategy. It's suboptimal (acceleration is delayed) but not game-breaking. Player learns that spending Shards sooner = faster accumulation overall."
},
{
"case": "Prestige Currency Overflow",
"description": "After 20+ prestiges, Shards accumulate to 1000+",
"result": "Shard display uses standard integer notation (no suffixes needed). Shard costs scale exponentially (1.5x-1.8x per level), so Level 20 upgrades cost hundreds of Shards. Player can reasonably accumulate 1000-5000 Shards before costs outpace earnings. At 100+ prestiges, Shards could exceed 10,000. No overflow risk—JavaScript Number.MAX_SAFE_INTEGER (9 quadrillion) is far beyond realistic Shard accumulation.",
"handling": "No BigNum needed for Shards. Standard JavaScript integers are sufficient. Display with commas (1,234 Shards)."
}
],
"qualityChecklist": {
"verified": [
"The prestige formula is exact and copy-pasteable into code: shards = 1 + min(activeRumorCount, 5) + (dissonanceAbove90Timer >= 30 ? 1 : 0) + floor(totalBeliefGenerated / 1000) + shardMultiplierUpgradeLevel",
"Example values show clear diminishing returns (2 Shards minimum → 6 Shards recommended → 10 Shards pushed → 16 Shards optimized). Waiting 3x longer (60 min vs 20 min) yields <3x Shards (16 vs 6), not 3x.",
"Run 2 reaches Run 1's prestige point in 8 minutes vs 22 minutes—~2.75x faster (within target 1/3 to 1/2 range: 7.3 to 11 minutes).",
"Reset specification is complete—no ambiguity about what resets vs persists. All 11 resetting elements and 7 persisting elements listed explicitly.",
"There are 14 prestige upgrades with meaningful variety: 4 production multipliers, 2 risk mitigation, 3 paradigm specializations, 2 new mechanics, 1 shard optimization, 8 narrative unlocks.",
"Prestige upgrades include 2 new mechanics (Time Loop, Recursive Prophecy) that unlock NEW gameplay, not just multipliers. Time Loop creates burst generation. Recursive Prophecy creates cascading harvest bonuses.",
"Preview UI gives player complete information: exact Shard yield, breakdown, affordable upgrades, estimated speedup, Belief progress toward +1 Shard bonus. No ambiguity.",
"Edge cases addressed: minimum prestige (2 Shards, viable but suboptimal), hoarding (soft cap at ~17 Shards via formula), no-spend runs (valid strategy, delayed power spike), overflow (no BigNum needed).",
"All formulas use consistent variable names matching currencies.md: doubt, belief, certainty, cognitiveDissonance, shardsOfTruth, rumor.size, rumor.believability, activeRumorCount, totalBeliefGenerated.",
"Prestige system matches thematic concept from idea.md: Reality Fracture as controlled chaos, Shards of Truth as crystallized reality fragments, Paradigm choice as reshaping physical laws. The reset feels transcendent, not punitive."
],
"designPrinciplesMet": [
"The prestige moment feels powerful: Screen literally cracks, void sucks everything in, dramatic reform with new colors. Shard count floats up. Player feels triumphant, not defeated.",
"Visible prestige incentive: Player sees exact Shard yield at all times once Dissonance hits 100%. Can weigh 'fracture now for 6 Shards' vs 'push for 1000 Belief and get +1 Shard'.",
"Diminishing returns on waiting: Shard formula caps rumor bonus at 5, Belief bonus is linear (+1 per 1000) but Belief generation slows, Dissonance 90% bonus is flat threshold. Waiting 2x longer doesn't give 2x Shards.",
"New content per prestige: Time Loop and Recursive Prophecy rumor types unlock new mechanics. Paradigm choice fundamentally changes game rules (no collapse, Doubt efficiency, Belief snowball). Prevents 'same game but faster' fatigue.",
"Quick second run: Run 2 reaches Run 1's prestige point in ~8 minutes vs 22 minutes—2.75x faster. Dramatic and satisfying acceleration. Player feels the power of permanent progression immediately."
]
}
}
Progression
{
"designDocument": {
"title": "Progression System for Echo Chamber",
"gameName": "Echo Chamber",
"version": "1.0",
"lastUpdated": "2026-02-06"
},
"overview": {
"philosophy": "Controlled chaos reveal. The player starts with a single intuitive action (feeding Doubt) and discovers layers of strategic depth through carefully timed mechanic unlocks. The core tension (Doubt makes rumors stronger but less believable) is introduced in the first 30 seconds, then complicated by new systems that force constant strategy reevaluation.",
"emotionalArc": "Curiosity (what happens when I feed?) → Mastery (optimizing multi-rumor economy) → Transcendence (fracturing reality for permanent power). Each phase introduces one new system, then gives 3-5 minutes of understanding before the next layer appears.",
"sessionStructure": "Four emotional beats across 30 minutes: (1) thrill of first growth (0-5 min), (2) complexity of managing contradictions (5-15 min), (3) strategic depth of Paradox choice (15-20 min), (4) triumphant first Reality Fracture (20-30 min)."
},
"unlockSequence": {
"phase1_onboarding": {
"timeframe": "0:00 - 1:00",
"goal": "Player understands core action and sees first reward",
"unlocks": [
{
"time": "0:00",
"trigger": "Game start",
"whatUnlocks": "Single rumor slot, Feed Doubt button (5 Doubt/click), Doubt currency (starting: 50)",
"whyItMatters": "Establishes the core loop: click → feed rumor → watch it grow"
},
{
"time": "0:10",
"trigger": "Feed Doubt 5 times (costs 25 Doubt)",
"whatUnlocks": "Rumor visual grows larger, believability progress bar appears",
"whyItMatters": "Shows that feeding has visible effects and there's a 'believability' metric to track"
},
{
"time": "0:20",
"trigger": "Rumor reaches 10% believability",
"whatUnlocks": "Belief passive generation begins (0.1/sec)",
"whyItMatters": "First reward: the rumor now produces Belief automatically. Player sees why feeding matters"
},
{
"time": "0:30",
"trigger": "Belief accumulation reaches 1.0",
"whatUnlocks": "\"First Blood\" milestone tooltip: \"Harvest at 10 Belief for big bonus!\"",
"whyItMatters": "Teases the harvest mechanic and gives a short-term goal (30-60 seconds away)"
},
{
"time": "0:45",
"trigger": "Belief reaches 10 (harvestable)",
"whatUnlocks": "Harvest button appears on rumor, glows attractively",
"whyItMatters": "First meaningful choice: harvest now or let it accumulate?"
},
{
"time": "1:00",
"trigger": "Player harvests (or continues feeding)",
"whatUnlocks": "Toast notification: \"You harvested X Belief! Belief buys upgrades.\"",
"whyItMatters": "Shows the reward loop: feed → generate → harvest → spend"
}
],
"emotionalBeat": "I made a thing grow, and it gave me something valuable. The player feels clever for discovering the cause-and-effect, and curious about what Belief can buy."
},
"phase2_expansion": {
"timeframe": "1:00 - 5:00",
"goal": "Second system introduced. Player starts making choices.",
"unlocks": [
{
"time": "1:15",
"trigger": "Accumulate 25 Belief",
"whatUnlocks": "\"Create Rumor\" button appears (cost: 25 Belief) in right panel",
"whyItMatters": "First major economic decision: spend Belief on new rumor or save for upgrades?"
},
{
"time": "1:30",
"trigger": "Player views Create Rumor button (doesn't click yet)",
"whatUnlocks": "Tooltip shows: \"Need 100 Doubt to unlock second slot. Cost: 100 Doubt\"",
"whyItMatters": "Reveals that rumor slots are limited and cost Doubt, creating parallel goals"
},
{
"time": "2:00",
"trigger": "Total Belief harvested reaches 30",
"whatUnlocks": "Milestone: \"First Blood\" (toast + +5 Belief bonus), Upgrade Shop tab appears",
"whyItMatters": "First achievement reward, unlocks the upgrade system. Player now has three spending priorities"
},
{
"time": "2:30",
"trigger": "Upgrade Shop viewed",
"whatUnlocks": "Two upgrades visible: \"Doubt Feed Efficiency\" (50 Belief) and \"Belief Harvest Bonus\" (75 Belief)",
"whyItMatters": "Shows concrete upgrade paths with clear costs. Gap from current Belief (~40-50) creates medium-term goal"
},
{
"time": "3:00",
"trigger": "Doubt reaches 100",
"whatUnlocks": "Second rumor slot unlock affordable (100 Doubt), button starts pulsing",
"whyItMatters": "Creates urgency: player has enough Doubt and must decide if this is the right time to expand"
},
{
"time": "3:30",
"trigger": "Player unlocks second rumor slot (optional: if they haven't yet)",
"whatUnlocks": "Tooltip: \"Cognitive Dissonance will build with 2+ rumors. Keep it below 100%!\"",
"whyItMatters": "Warns about the new danger system before it activates, preventing surprise deaths"
},
{
"time": "4:00",
"trigger": "Second rumor created (or player has 100+ Doubt and hasn't acted)",
"whatUnlocks": "Cognitive Dissonance meter appears in bottom bar, starts at 0%",
"whyItMatters": "New mechanic introduced: running multiple rumors creates system-wide risk"
},
{
"time": "5:00",
"trigger": "Dissonance reaches 10% or 5 minutes elapsed (whichever first)",
"whatUnlocks": "Milestone: \"Dual Truths\" (toast + unlock \"Amplify Contradiction\" button, +10 Belief)",
"whyItMatters": "Formalizes the complexity increase. Player now managing two currencies and a danger meter"
}
],
"emotionalBeat": "I'm running a small economy now. Every choice feels important. The player transitions from single-loop optimization to juggling multiple priorities (Doubt for slots, Belief for upgrades, Dissonance management). The tension of 'can I afford everything?' emerges."
},
"phase3_complexity": {
"timeframe": "5:00 - 15:00",
"goal": "All core systems online. Optimization and strategy emerge.",
"unlocks": [
{
"time": "5:30",
"trigger": "Dissonance reaches 20%",
"whatUnlocks": "\"Evidence Diet\" dropdown appears on each rumor (Anecdote/Statistical Data/Expert Testimony)",
"whyItMatters": "First per-rumor strategic choice: different evidence types have different Doubt costs, Belief outputs, and Dissonance contributions"
},
{
"time": "6:00",
"trigger": "Player changes an Evidence Diet (or 6 min elapsed)",
"whatUnlocks": "Tooltip explains the tradeoffs visible in the dropdown",
"whyItMatters": "Ensures the player understands the new system before they can make bad choices"
},
{
"time": "7:00",
"trigger": "Belief reaches 150",
"whatUnlocks": "\"Synthesis Engine\" button appears (cost: 200 Belief), starts pulsing at 180+",
"whyItMatters": "Teases the conversion system. Gap from current Belief creates 30-60 second goal"
},
{
"time": "8:00",
"trigger": "Player purchases Synthesis Engine",
"whatUnlocks": "Milestone: \"Synthesis Discovery\" (toast + unlock Synthesis Engine panel, +25 Belief), Certainty currency appears",
"whyItMatters": "New currency unlocked! The economy now has a conversion sink. Player can convert Doubt+Belief→Certainty"
},
{
"time": "8:30",
"trigger": "Certainty reaches 1",
"whatUnlocks": "Three \"Paradox Upgrade\" options appear (greyed out, cost: 10 Certainty each) with \"COMING SOON\" label",
"whyItMatters": "Teases the permanent choice system. Player sees what Certainty is for and starts saving"
},
{
"time": "9:30",
"trigger": "Player runs 2 rumors for 4+ minutes",
"whatUnlocks": "First rumor approaches 90% believability, starts flashing red",
"whyItMatters": "Warning system: collapse is imminent. Teaches the risk/reward tension naturally"
},
{
"time": "10:30",
"trigger": "First rumor collapses (if it happens) or 10:30 elapsed",
"whatUnlocks": "Toast: \"Rumor collapsed! You lost it but salvaged X Doubt. Dissonance +20%.\"",
"whyItMatters": "Teaches the penalty for over-believability. Even if player avoided collapse, they see what could happen"
},
{
"time": "11:00",
"trigger": "Dissonance reaches 50%",
"whatUnlocks": "Tooltip: \"At 100% Dissonance, you can trigger Reality Fracture. But be ready—it resets everything!\"",
"whyItMatters": "First prestige tease! Player learns that Dissonance has a purpose beyond danger"
},
{
"time": "12:00",
"trigger": "Player has experienced a collapse (or 12 min elapsed)",
"whatUnlocks": "Milestone: \"The Great Collapse\" (toast + unlock \"Collapse Protection\" in Synthesis Engine, +15 Belief)",
"whyItMatters": "Formalizes the collapse mechanic and gives the player a tool to prevent it"
},
{
"time": "13:00",
"trigger": "Certainty reaches 10 (or player has 8+ Certainty and 13 min elapsed)",
"whatUnlocks": "Paradox Upgrade options un-grey, show full descriptions, start glowing",
"whyItMatters": "The permanent choice is now affordable. Player must pick one path"
},
{
"time": "14:00",
"trigger": "Player hasn't chosen Paradox yet (if they have 10+ Certainty)",
"whatUnlocks": "Synthesis Engine panel expands: \"Choose a Paradox to unlock your true potential\"",
"whyItMatters": "Nudges the player toward the choice without forcing it"
},
{
"time": "15:00",
"trigger": "Player chooses Paradox (or 15 min elapsed)",
"whatUnlocks": "Milestone: \"Paradox Protocol\" (toast + apply Paradox effects permanently, +50 Belief)",
"whyItMatters": "End of complexity phase. Player has now made a permanent choice that defines their build"
}
],
"emotionalBeat": "I understand this system deeply now. I'm making strategic choices that matter. The player has moved from reactive to proactive—planning several steps ahead, managing risk intentionally, and feeling like they're 'gaming' the system cleverly. The Paradox choice crystallizes their identity as a player (risk-taker vs. safe strategist vs. optimizer)."
},
"phase4_masteryPrestige": {
"timeframe": "15:00 - 30:00",
"goal": "Player sees the ceiling, understands prestige, and pushes for it.",
"unlocks": [
{
"time": "15:30",
"trigger": "Paradox chosen",
"whatUnlocks": "Third rumor slot unlock appears (250 Doubt) if not already purchased",
"whyItMatters": "The permanent choice provides immediate power spike. Player sees acceleration"
},
{
"time": "16:00",
"trigger": "Player has 3+ rumor slots (or 16 min elapsed)",
"whatUnlocks": "Dissonance builds faster (quadratic scaling). Tooltip: \"More rumors = faster Dissonance = danger + opportunity\"",
"whyItMatters": "Reinforces that Dissonance management is now the core challenge"
},
{
"time": "17:00",
"trigger": "Dissonance reaches 80%",
"whatUnlocks": "\"Reality Fracture Engine\" panel appears (greyed out, labeled \"UNLOCK AT 100% DISSONANCE\")",
"whyItMatters": "The prestige mechanic is now visible and approaching. Player has a clear goal"
},
{
"time": "18:00",
"trigger": "Player has 500+ total Belief generated",
"whatUnlocks": "Tooltip: \"Total Belief generated: X. At 1000, +1 Shard on Reality Fracture!\"",
"whyItMatters": "Teaches the first Shard multiplier optimization. Player now plans for prestige efficiency"
},
{
"time": "19:00",
"trigger": "Dissonance hits 95%+ for first time",
"whatUnlocks": "\"Reality Fracture\" button unlocks, pulses red. Warning: \"This will RESET your run!\"",
"whyItMatters": "The endgame trigger is available. Player must decide: fracture now or push for more Shards?"
},
{
"time": "20:00",
"trigger": "Player reaches 100% Dissonance (or 20 min elapsed)",
"whatUnlocks": "Milestone: \"Reality Fracture\" (toast + Reality Fracture button fully active, +100 Belief)",
"whyItMatters": "Formal prestige unlock. Player now has the power to end the run whenever they choose"
},
{
"time": "21:00",
"trigger": "Player hasn't fractured yet (if at 100% Dissonance)",
"whatUnlocks": "Dissonance passive decay (0.2%/sec) kicks in. Tooltip: \"Dissonance decays. Fracture soon or rebuild it!\"",
"whyItMatters": "Forces the player to commit: fracture now or risk losing progress to decay"
},
{
"time": "22:00",
"trigger": "Player fractures (or 22 min elapsed if they chose to wait)",
"whatUnlocks": "Screen crack animation, everything resets. Shards of Truth currency appears (showing: 2-4 Shards earned)",
"whyItMatters": "First prestige! The run ends triumphantly. Player sees permanent progress"
},
{
"time": "23:00",
"trigger": "Post-fracture (or 23 min elapsed if no fracture yet)",
"whatUnlocks": "\"Choose a Reality Paradigm\" modal appears with 3 options (Chaos Theory, Rationalism, Faith)",
"whyItMatters": "The permanent prestige choice. Each option fundamentally changes the game for future runs"
},
{
"time": "24:00",
"trigger": "Paradigm chosen",
"whatUnlocks": "\"Dimensional Traits\" shop appears (spend Shards on permanent multipliers)",
"whyItMatters": "Shard sinks unlocked. Player now has long-term goals across multiple runs"
},
{
"time": "25:00",
"trigger": "Second run begins (or 25 min elapsed in first run)",
"whatUnlocks": "All unlocks from first run are faster to re-earn. Tooltip: \"Your Paradigm accelerates everything!\"",
"whyItMatters": "The player experiences the power of prestige firsthand. Second run is visibly faster"
},
{
"time": "27:00",
"trigger": "Player has 5+ Shards (cumulative across runs)",
"whatUnlocks": "\"Narrative Fragments: The Truth\" unlock appears (10 Shards each)",
"whyItMatters": "Story content unlocked. Player learns WHY they're reshaping reality"
},
{
"time": "30:00",
"trigger": "Player completes second run or reaches 30 min in first",
"whatUnlocks": "Milestone: \"Reality Architect\" (toast + unlock \"exotic rumor types\" in shop, +200 Belief)",
"whyItMatters": "End of first session. Player has experienced the full loop and seen the long-term progression"
}
],
"emotionalBeat": "I'm a master of this system. I can see the whole picture now. The player has completed the arc from curious newcomer to optimizer to reality-reshaping architect. The first Reality Fracture is a triumphant climax, and the Paradigm choice creates anticipation for future runs. The game shifts from 'can I figure this out?' to 'how fast can I optimize this?'"
}
},
"gatesAndCheckpoints": {
"hardGates": [
{
"gate": "First Harvest",
"requirement": "Rumor must reach 10 Belief accumulated (30-60 sec of passive generation)",
"whatsBlocked": "Cannot experience the reward loop (harvest → spend → upgrade) until this happens",
"estimatedWaitTime": "45-60 seconds",
"purpose": "Ensures the player understands the core mechanic before introducing spending choices"
},
{
"gate": "First Blood Milestone",
"requirement": "Must harvest 25+ total Belief (typically 2-3 harvests)",
"whatsBlocked": "Upgrade Shop locked. Player cannot make economic decisions beyond 'feed or harvest'",
"estimatedWaitTime": "2 minutes",
"purpose": "Prevents choice paralysis. Establishes the basic loop before adding upgrade complexity"
},
{
"gate": "Dual Truths",
"requirement": "Must unlock second rumor slot (100 Doubt)",
"whatsBlocked": "Cognitive Dissonance mechanic locked. Player only manages single-rumor economy",
"estimatedWaitTime": "3-4 minutes from start",
"purpose": "Teaches single-rumor optimization before adding system-wide complexity"
},
{
"gate": "Synthesis Discovery",
"requirement": "Must purchase Synthesis Engine (200 Belief)",
"whatsBlocked": "Certainty currency locked. Cannot access Paradox upgrades or advanced mechanics",
"estimatedWaitTime": "6-8 minutes from start",
"purpose": "Forces player to master basic Doubt/Belief economy before adding conversion complexity"
},
{
"gate": "Paradox Protocol",
"requirement": "Must accumulate 10 Certainty (requires ~1000 Doubt + 100 Belief converted)",
"whatsBlocked": "Paradox upgrades locked. Player cannot make permanent build-defining choices",
"estimatedWaitTime": "12-15 minutes from start",
"purpose": "Ensures player understands all core systems before committing to a permanent path"
},
{
"gate": "Reality Fracture",
"requirement": "Must reach 100% Cognitive Dissonance (requires 4-5 rumors running simultaneously)",
"whatsBlocked": "Prestige locked. Cannot earn Shards or choose Paradigm",
"estimatedWaitTime": "18-22 minutes from start",
"purpose": "Guarantees player has mastered multi-rumor management and Dissonance dance before ending run"
}
],
"softGates": [
{
"gate": "Belief Scarcity (5-8 min)",
"whatSlowsDown": "Rumors approach 80-90% believability, Belief generation slows to 0.02-0.05/sec per rumor",
"alternativeActivities": "Feed Doubt to reduce believability (costs Doubt), harvest accumulated Belief, unlock second rumor slot",
"purpose": "Teaches the inverse generation formula. Player must balance 'let it ride' vs. 'feed to restart growth'"
},
{
"gate": "Dissonance Wall (10-12 min)",
"whatSlowsDown": "Running 3+ rumors builds Dissonance rapidly (1-2%/sec). Player must constantly avoid 100%",
"alternativeActivities": "Reduce to 2 rumors to slow Dissonance build, purchase Dissonance-resistant upgrades (Truth Barrier), let Dissonance decay passively (0.2%/sec)",
"purpose": "Creates the 'dance with danger' tension. Player learns to keep Dissonance high (for production bonuses implied by faster Belief gen at lower believability) without triggering fracture"
},
{
"gate": "Certainty Bottleneck (13-15 min)",
"whatSlowsDown": "Converting Doubt+Belief→Certainty is expensive (10:1 ratio). Player runs out of Doubt",
"alternativeActivities": "Focus on passive Doubt generation (click + trickle), harvest Belief from rumors, save for conversion instead of spending on upgrades",
"purpose": "Forces strategic timing. Player learns that Certainty is a precious resource for permanent choices, not casual spending"
},
{
"gate": "Collapse Fear (9-11 min)",
"whatSlowsDown": "First rumor approaches 95%+ believability. Collapse risk creates tension",
"alternativeActivities": "Harvest immediately to save the rumor (sacrificing accumulated Belief), feed Doubt to reduce believability (expensive), let it collapse and salvage (teaches penalty)",
"purpose": "Teaches the risk/reward of 'do I harvest now or let it grow?' The tension makes harvests meaningful"
}
]
},
"milestones": {
"achievementStyle": [
{
"number": 1,
"name": "First Blood",
"condition": "Harvest Belief from a rumor for the first time",
"reward": "+5 Belief, unlock Upgrade Shop",
"notificationText": "First blood! Your rumor bears fruit. The Upgrade Shop awaits."
},
{
"number": 2,
"name": "Dual Truths",
"condition": "Unlock second rumor slot and create a second rumor",
"reward": "+10 Belief, unlock Amplify Contradiction button",
"notificationText": "Two truths can coexist... for now. Dissonance is rising."
},
{
"number": 3,
"name": "Synthesis Discovery",
"condition": "Purchase Synthesis Engine for 200 Belief",
"reward": "+25 Belief, unlock Certainty currency and conversion panel",
"notificationText": "The Synthesis Engine hums to life. Certainty is within reach."
},
{
"number": 4,
"name": "The Great Collapse",
"condition": "Experience a rumor collapse (reach 100% believability)",
"reward": "+15 Belief, unlock Collapse Protection in Synthesis Engine",
"notificationText": "Reality snapped! But you learned. Collapse Protection now available."
},
{
"number": 5,
"name": "Paradox Protocol",
"condition": "Choose a Paradox Upgrade (spend 10 Certainty)",
"reward": "+50 Belief, apply permanent Paradox effects",
"notificationText": "The paradox is resolved. Your path is chosen. There is no turning back."
},
{
"number": 6,
"name": "Reality Fracture",
"condition": "Reach 100% Cognitive Dissonance (unlock prestige ability)",
"reward": "+100 Belief, Reality Fracture button becomes active",
"notificationText": "The fabric tears. You can fracture reality... if you dare."
},
{
"number": 7,
"name": "Shattered",
"condition": "Trigger first Reality Fracture and earn Shards of Truth",
"reward": "+3 Shards (minimum), unlock Paradigm selection modal",
"notificationText": "Reality cracks and reforms. You are stronger now. Choose your new paradigm."
},
{
"number": 8,
"name": "Reality Architect",
"condition": "Complete a second run OR reach 30 min in first run",
"reward": "+200 Belief, unlock exotic rumor types (Time Loop, Recursive Prophecy)",
"notificationText": "You have mastered the Echo Chamber. Now... reshape existence itself."
}
],
"progressionMilestones": [
{
"currency": "Doubt",
"threshold": 100,
"rewardEffect": "Second rumor slot unlock affordable (button starts pulsing)"
},
{
"currency": "Doubt",
"threshold": 250,
"rewardEffect": "Third rumor slot unlock affordable"
},
{
"currency": "Doubt",
"threshold": 625,
"rewardEffect": "Fourth rumor slot unlock affordable"
},
{
"currency": "Doubt",
"threshold": 1562,
"rewardEffect": "Fifth rumor slot unlock affordable (max slots)"
},
{
"currency": "Belief",
"threshold": 10,
"rewardEffect": "Harvest button appears on rumors"
},
{
"currency": "Belief",
"threshold": 25,
"rewardEffect": "Create Rumor button appears"
},
{
"currency": "Belief",
"threshold": 50,
"rewardEffect": "First upgrade affordable (Doubt Feed Efficiency)"
},
{
"currency": "Belief",
"threshold": 75,
"rewardEffect": "Second upgrade affordable (Belief Harvest Bonus)"
},
{
"currency": "Belief",
"threshold": 200,
"rewardEffect": "Synthesis Engine affordable"
},
{
"currency": "Belief",
"threshold": 500,
"rewardEffect": "Tooltip reveals Shard multiplier bonus (at 1000 total Belief generated)"
},
{
"currency": "Belief",
"threshold": 1000,
"rewardEffect": "+1 Shard per Reality Fracture (added to base Shard calculation)"
},
{
"currency": "Certainty",
"threshold": 1,
"rewardEffect": "Paradox Upgrade options appear (greyed out)"
},
{
"currency": "Certainty",
"threshold": 10,
"rewardEffect": "Paradox Upgrade options unlock (can make permanent choice)"
},
{
"currency": "Certainty",
"threshold": 25,
"rewardEffect": "Exotic rumor type unlocks affordable (Time Loop, Recursive Prophecy)"
},
{
"currency": "Cognitive Dissonance",
"threshold": "20%",
"rewardEffect": "Evidence Diet dropdown appears"
},
{
"currency": "Cognitive Dissonance",
"threshold": "50%",
"rewardEffect": "Tooltip reveals Reality Fracture at 100%"
},
{
"currency": "Cognitive Dissonance",
"threshold": "80%",
"rewardEffect": "Reality Fracture Engine panel appears (greyed out)"
},
{
"currency": "Cognitive Dissonance",
"threshold": "95%",
"rewardEffect": "Reality Fracture button unlocks, starts pulsing"
},
{
"currency": "Cognitive Dissonance",
"threshold": "100%",
"rewardEffect": "Can trigger Reality Fracture (prestige)"
},
{
"currency": "Shards of Truth",
"threshold": 1,
"rewardEffect": "Can purchase first Dimensional Trait (Doubt Amplification: 1 Shard)"
},
{
"currency": "Shards of Truth",
"threshold": 2,
"rewardEffect": "Can purchase Belief Amplification (2 Shards)"
},
{
"currency": "Shards of Truth",
"threshold": 3,
"rewardEffect": "Can purchase Dissonance Resistance (3 Shards)"
},
{
"currency": "Shards of Truth",
"threshold": 5,
"rewardEffect": "Can purchase first Reality Paradigm upgrade (5 Shards)"
},
{
"currency": "Shards of Truth",
"threshold": 10,
"rewardEffect": "Can unlock first Narrative Fragment (10 Shards)"
}
]
},
"pacingCurve": {
"minuteByMinuteBreakdown": [
{
"minute": "0-1",
"newContent": "Feed Doubt button, rumor growth, Belief generation starts",
"playerActionFocus": "Clicking Feed Doubt, watching rumor grow, first harvest at 1:00",
"tensionLevel": 1,
"notes": "Tutorial phase. Player learns basic cause-effect. Generous starting Doubt (50) means no scarcity stress yet"
},
{
"minute": "1-2",
"newContent": "Create Rumor button (25 Belief), Upgrade Shop tease at 2:00",
"playerActionFocus": "Deciding: spend Belief on second rumor or save for upgrades? First harvest decisions",
"tensionLevel": 2,
"notes": "First economic tension. Player realizes Belief is scarce and choices matter"
},
{
"minute": "2-3",
"newContent": "First Blood milestone (+5 Belief), Upgrade Shop opens",
"playerActionFocus": "Buying first upgrade (Doubt Feed Efficiency: 50 Belief) vs. saving for rumor slot",
"tensionLevel": 2,
"notes": "Upgrade shop creates multiple spending priorities. Player optimizes short-term (efficiency) vs. medium-term (slots)"
},
{
"minute": "3-4",
"newContent": "Second rumor slot affordable (100 Doubt), pulsing button",
"playerActionFocus": "Evaluating: unlock slot now or wait for more upgrades? Feeding rumors to hit 100 Doubt",
"tensionLevel": 2,
"notes": "Low tension because Doubt is still abundant. Player feels rich with options"
},
{
"minute": "4-5",
"newContent": "Cognitive Dissonance meter appears, Amplify Contradiction button",
"playerActionFocus": "Managing Dissonance (avoiding 100%), balancing two rumors' believability",
"tensionLevel": 3,
"notes": "New tension layer. Player must now pay attention to system-wide risk, not just individual rumors"
},
{
"minute": "5-6",
"newContent": "Dual Truths milestone, Evidence Diet dropdowns appear",
"playerActionFocus": "Choosing evidence types (Anecdote/Statistical/Expert) for each rumor",
"tensionLevel": 3,
"notes": "Strategic depth increases. Player now optimizes per-rumor based on Dissonance tolerance and Belief needs"
},
{
"minute": "6-7",
"newContent": "Dissonance climbs (20-40%), first collapse warnings appear",
"playerActionFocus": "Harvesting before collapse, feeding Doubt to reduce believability",
"tensionLevel": 3,
"notes": "Collapse risk creates urgency. Harvests feel like escapes rather than rewards"
},
{
"minute": "7-8",
"newContent": "Synthesis Engine affordable (200 Belief) at ~7:30",
"playerActionFocus": "Grinding Belief to afford Synthesis Engine. Debating: spend on upgrades or save for conversion?",
"tensionLevel": 3,
"notes": "Medium-term goal creates focus. Player is 30-60 seconds from major unlock"
},
{
"minute": "8-9",
"newContent": "Synthesis Discovery milestone, Certainty currency appears",
"playerActionFocus": "Converting Doubt+Belief→Certainty. Seeing Paradox options (greyed out)",
"tensionLevel": 2,
"notes": "Exploration phase. Player experiments with conversion, learns Certainty's value"
},
{
"minute": "9-10",
"newContent": "Rumors approaching 90% believability, red flashing warnings",
"playerActionFocus": "Managing collapse risk: harvest now vs. let it ride. First collapse likely around 9:30-10:00",
"tensionLevel": 4,
"notes": "High tension! Collapse penalties (lost rumor +20% Dissonance) make every harvest decision critical"
},
{
"minute": "10-11",
"newContent": "The Great Collapse milestone (if collapse occurred), Collapse Protection",
"playerActionFocus": "Recovering from collapse (if it happened), using Collapse Protection to prevent next one",
"tensionLevel": 3,
"notes": "Post-collapse relief. Player now has tools to manage risk. Tension drops but strategic depth increases"
},
{
"minute": "11-12",
"newContent": "Dissonance reaches 50-70%, Reality Fracture teased",
"playerActionFocus": "Intentionally building Dissonance faster (adding third rumor?) vs. playing safe",
"tensionLevel": 3,
"notes": "Player sees the endgame on the horizon. Strategic shift: optimize for Shard yield or avoid risk?"
},
{
"minute": "12-13",
"newContent": "Certainty accumulation (2-5 by now), third rumor slot (250 Doubt)",
"playerActionFocus": "Saving Certainty for Paradox (need 10). Deciding whether to expand to 3 rumors (risky) or stay safe",
"tensionLevel": 3,
"notes": "Multiple long-term goals compete. Player must prioritize: Paradox choice vs. expansion vs. Dissonance management"
},
{
"minute": "13-14",
"newContent": "Paradox Upgrade options unlock (10 Certainty), glowing",
"playerActionFocus": "Choosing permanent path (Liar's Paradox vs. Confirmation Loop vs. Truth Barrier)",
"tensionLevel": 4,
"notes": "MAJOR decision tension. This choice defines the entire run. Player spends 30-60 seconds considering"
},
{
"minute": "14-15",
"newContent": "Paradox Protocol milestone, Paradox effects applied",
"playerActionFocus": "Adapting playstyle to chosen Paradox. Noticing acceleration (e.g., Liar's Paradox generates Doubt)",
"tensionLevel": 2,
"notes": "Post-choice clarity. Player leans into their build's strengths. Tension drops as strategy crystallizes"
},
{
"minute": "15-16",
"newContent": "Third rumor slot affordable (if not purchased), acceleration from Paradox",
"playerActionFocus": "Expanding to 3-4 rumors. Dissonance building faster (quadratic scaling)",
"tensionLevel": 3,
"notes": "Paradox power makes expansion feel impactful. But Dissonance creates new danger"
},
{
"minute": "16-17",
"newContent": "Dissonance 70-90%, Reality Fracture Engine panel appears (greyed)",
"playerActionFocus": "Dancing with Dissonance: keeping it high (for efficiency) without hitting 100%",
"tensionLevel": 4,
"notes": "High-tension optimization. Player is now actively managing the prestige trigger"
},
{
"minute": "17-18",
"newContent": "Tooltip reveals Shard multiplier (at 1000 total Belief)",
"playerActionFocus": "Planning for optimal fracture timing. Pushing Belief generation to hit 1000 total before fracture",
"tensionLevel": 4,
"notes": "Strategic depth: player now plans fracture for maximum Shard yield, not just 'when can I prestige?'"
},
{
"minute": "18-19",
"newContent": "Reality Fracture button unlocks (at 95-100% Dissonance), pulsing red",
"playerActionFocus": "Deciding: fracture now for +2-3 Shards or push for 1000 total Belief (+1 Shard)",
"tensionLevel": 5,
"notes": "MAXIMUM TENSION. The player is 30-120 seconds from ending the entire run. Every choice matters"
},
{
"minute": "19-20",
"newContent": "Reality Fracture milestone, button fully active",
"playerActionFocus": "Final push: maximizing active rumors, keeping Dissonance at 95-100% without triggering, farming Belief",
"tensionLevel": 5,
"notes": "Endgame climax. Player is fully engaged, optimizing every second"
},
{
"minute": "20-22",
"newContent": "Dissonance decay (0.2%/sec) forces decision",
"playerActionFocus": "Fracturing reality or rebuilding Dissonance. First fracture typically happens 20-22 min",
"tensionLevel": 5,
"notes": "The climax! Screen crack animation, reset, Shard count reveal. Triumph and anticipation"
},
{
"minute": "22-24",
"newContent": "Paradigm selection modal appears (3 choices)",
"playerActionFocus": "Choosing permanent Paradigm (Chaos Theory vs. Rationalism vs. Faith)",
"tensionLevel": 4,
"notes": "Post-prestige strategic decision. This choice affects all future runs"
},
{
"minute": "24-25",
"newContent": "Dimensional Traits shop opens (spend Shards)",
"playerActionFocus": "Spending Shards on multipliers. Earning Belief faster in second run",
"tensionLevel": 2,
"notes": "Exploration and power spike. Player feels accelerated compared to first run"
},
{
"minute": "25-27",
"newContent": "Second run progresses 3-5x faster",
"playerActionFocus": "Reaching milestones in 5-8 min instead of 15-20 min. Earning Shards more efficiently",
"tensionLevel": 3,
"notes": "Comfortable mastery. Player enjoys the power of permanent progression"
},
{
"minute": "27-30",
"newContent": "Narrative Fragments unlock (10 Shards), exotic rumor types",
"playerActionFocus": "Experiencing the story ('The Truth'). Trying new rumor types (Time Loop, Recursive Prophecy)",
"tensionLevel": 2,
"notes": "Endgame content. Player shifts from optimization to exploration and narrative"
},
{
"minute": "30+",
"newContent": "Reality Architect milestone",
"playerActionFocus": "Long-term optimization: planning multiple runs, maxing a Paradigm, seeing all endings",
"tensionLevel": "2-3",
"notes": "Player has graduated from 'learning' to 'mastering.' The game becomes a sandbox for optimization"
}
],
"tensionGraph": "```\nTension\n5 | * * * * * * * * * * * *\n4 | * * * * * * * * * *\n3 | * * * * * *\n2 | * * * *\n1 | * * *\n +-------------------------------------------------------------------->\n 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 min\n\nKey Peaks:\n- 9-11 min: Collapse scare (first rumor at 90%+ believability)\n- 13-14 min: Paradox choice (permanent decision tension)\n- 17-19 min: Pre-fracture optimization (dancing with 100% Dissonance)\n- 20-22 min: Reality Fracture climax\n\nKey Valleys:\n- 0-2 min: Tutorial exploration (low stakes, learning)\n- 5-7 min: System absorption (Digesting Evidence Diets)\n- 14-15 min: Post-Paradox clarity (Strategy crystallized)\n- 24-27 min: Post-prestige power spike (Mastery phase)\n```"
},
"motivators": {
"shortTerm": [
"Visible progress: Rumor grows larger with every Feed Doubt click (immediate visual feedback)",
"Belief ticker: Belief accumulates 0.1/sec at 20% believability, visible in real-time. Player sees numbers going up constantly",
"Harvest timing: 'Only 2 more Belief until I can harvest!' creates micro-goals every 20-40 seconds",
"Affordable upgrades: 'Only 8 more Belief until I can afford Doubt Feed Efficiency!' (gap visible and attainable)",
"Collapse warnings: Red flashing at 85%+ believability creates urgency to harvest now"
],
"mediumTerm": [
"Rumor slot unlocks: '100 Doubt for second slot' is a clear, achievable goal from minute 1-4",
"Milestone rewards: First Blood (+5 Belief), Dual Truths (+10 Belief), Synthesis Discovery (+25 Belief) give tangible progress markers",
"Upgrade affordability: '50 Belief for Doubt Feed Efficiency' from 2:00-3:00, then '75 Belief for Harvest Bonus' from 3:00-5:00",
"Cognitive Dissonance management: Keeping it below 100% is an ongoing challenge that creates engagement",
"Certainty conversion: Saving for 10 Certainty (Paradox choice) from 8:00-13:00 creates a 5-minute goal"
],
"longTerm": [
"Paradox Upgrade: The permanent choice at 10 Certainty (12-15 minutes) is a major milestone",
"Reality Fracture: The prestige trigger at 100% Dissonance (18-22 minutes) is the ultimate session goal",
"Shard yield optimization: 'Can I earn 5 Shards instead of 3?' motivates pushing runs longer",
"Paradigm selection: The permanent prestige choice (22-24 minutes) creates anticipation for future runs",
"Narrative Fragments: 'The Truth' story unlocks at 10 Shards motivates multiple prestiges"
],
"prestigeTease": {
"firstLearn": "At 11:00 (Dissonance reaches 50%), a tooltip appears: 'At 100% Dissonance, you can trigger Reality Fracture. But be ready—it resets everything!' This is 10-11 minutes into the session, giving the player ample warning before it becomes relevant.",
"firstFeelPull": "At 17:00 (Dissonance 80%), the Reality Fracture Engine panel appears (greyed out, labeled 'UNLOCK AT 100% DISSONANCE'). At 18:00 (player has 500+ total Belief), a tooltip reveals: 'Total Belief generated: X. At 1000, +1 Shard on Reality Fracture!' This creates the 'almost there' feeling: 'I'm at 650 Belief, only 350 more and I get +1 Shard!'",
"teasedThroughout": "Gradual reveal pattern: (11:00) First mention - tooltip at 50% Dissonance → (17:00) Visual panel appears - greyed out at 80% → (18:00) Optimization mechanic revealed - Shard multiplier at 1000 Belief → (19:00) Button unlocks and pulses - at 95% Dissonance → (20:00) Milestone achieved - Reality Fracture, button fully active → (21:00) Urgency created - Dissonance decay forces decision: fracture now or rebuild. Each stage adds a new layer of understanding, so by the time the player can fracture, they fully understand what it does and why they should care."
}
},
"antiFrustrationFeatures": {
"stuckDetection": [
"If Belief generation drops below 0.05/sec for 60+ seconds (rumor at 95%+ believability): Tooltip appears: 'Feed Doubt to reduce believability and restart Belief generation!'",
"If player has 50+ Doubt but hasn't spent any for 120+ seconds: 'Doubt is abundant! Feed your rumors to make them stronger.'",
"If player has 30+ Belief but hasn't spent any for 90+ seconds: 'Belief buys upgrades! Check the Upgrade Shop for new powers.'",
"If Dissonance is below 20% for 180+ seconds and player has 2+ rumor slots: 'Add more rumors to increase Dissonance and unlock Reality Fracture faster!'",
"If player has 8+ Certainty but hasn't chosen a Paradox for 180+ seconds: 'Choose a Paradox Upgrade to unlock your true potential!'"
],
"catchupMechanics": [
"Passive Doubt trickle: Even if player messes up and spends all Doubt, they passively generate 1/sec. Recovery from 0 Doubt to affordable action (~50 Doubt) takes only 50 seconds (0:50 of passive, or faster with clicks)",
"Belief generation always restarts: If player lets a rumor hit 100% believability (0 Belief/sec), they can feed Doubt to reduce believability back to 20-40%. Recovery takes 10-20 Doubt (5-10 feeds at 2% reduction each) → ~20-40 seconds",
"Rumor collapse salvage: Collapsing a rumor salvages 10% of fed Doubt, reducing the penalty. Player recovers faster from mistakes",
"Collapse Insurance: For 15 Certainty, player can protect one rumor from collapse. Instead of being destroyed, it resets to 0% believability. This allows recovery from bad decisions",
"Dissonance passive decay: If Dissonance gets too high (danger zone 90%+), it passively decays 0.2%/sec when below 100%. Player can back away from the brink without losing everything"
],
"visualProgress": [
"Rumor size: Every Feed Doubt click makes the rumor orb visually larger. Player sees growth even if Belief hasn't accumulated yet",
"Believability progress bar: Shows 0-100% with color coding (green at 0-50%, yellow at 50-80%, red at 80-100%). Player sees progress toward collapse/harvest",
"Accumulated Belief ticker: Real-time counter shows Belief pooling in the rumor. Even at 0.05/sec, the number is visibly ticking up",
"Dissonance meter: Always-visible bar shows 0-100% with pulsing at 90%+. Player sees their proximity to danger/opportunity",
"Upgrade progress bars: Each upgrade shows 'You have X / need Y' in red (can't afford) or green (affordable). Player sees exactly how close they are",
"Milestone progress: 'First Blood' milestone shows 'Harvested: 0 / 1 Belief' → player sees progress toward the reward",
"Shard multiplier preview: Tooltip shows 'Total Belief generated: 650 / 1000 for +1 Shard bonus' → player sees progress toward optimization goal"
]
},
"tutorial": {
"initialLoad_0_30sec": [
"Screen fades in from black. Center panel shows a single pulsating purple orb (the rumor). Below it, a prominent button: 'FEED DOUBT (-5 Doubt)'. Doubt counter in bottom-left shows: 'Doubt: 50'. Belief counter shows: 'Belief: 0.0'.",
"First tooltip appears (fades in after 1 second, stays for 5 seconds): 'Feed Doubt to make your rumor grow. Larger rumors generate Belief faster!' with an arrow pointing to the Feed Doubt button.",
"Player clicks Feed Doubt. The orb grows slightly (CSS transform scale 1.0 → 1.1). Doubt decreases to 45. A progress bar appears above the rumor: 'Believability: 2%'. Tooltip: 'Believability increases naturally. At 100%, the rumor collapses!'",
"Player clicks Feed Doubt 4 more times (total 5 feeds). Orb grows larger each time (scale 1.1 → 1.2 → 1.3 → 1.4 → 1.5). Believability: 10%. Doubt: 25.",
"At 10% believability, Belief generation starts. A new ticker appears below the rumor: 'Belief: +0.1/sec'. The Belief counter starts ticking up: 0.1, 0.2, 0.3... Tooltip: 'Your rumor now generates Belief! Harvest it to spend on upgrades.'",
"First tooltip auto-dismisses (or player clicks to dismiss). Second tooltip appears: 'Keep feeding to grow the rumor, or wait for Belief to accumulate. Your choice!'"
],
"harvestTutorial_30_60sec": [
"At 1.0 accumulated Belief (takes ~10 seconds at 0.1/sec), a 'HARVEST' button appears on the rumor (glows attractively with CSS animation). Tooltip: 'Harvest now for 0.25 Belief, or wait for more!'",
"If player clicks Harvest: A burst animation plays. Belief counter increases by 0.25 (now ~1.3 total). Toast notification: 'You harvested 0.25 Belief! Belief buys upgrades.'",
"If player waits until 10 Belief accumulated (takes ~90 seconds total from start): Harvest button pulses faster. Tooltip updates: 'Harvest for 2.5 Belief!' This teaches that waiting = better rewards."
],
"expansionTutorial_1_3min": [
"When player reaches 25 Belief total (typically at ~2:00, after 2-3 harvests): The right panel (currently hidden/faded) slides into view. A 'CREATE RUMOR' button appears, cost: '25 Belief'. Tooltip: 'Create a second rumor to generate Belief faster! But beware: multiple rumors create Cognitive Dissonance.'",
"If player clicks Create Rumor: A second orb appears. Doubt decreases by 25. A progress bar appears in bottom-right: 'Cognitive Dissonance: 0%'. Tooltip: 'Dissonance builds with 2+ rumors. Keep it below 100% or reality fractures!'",
"At 30 total Belief harvested (First Blood milestone, ~2:30): Toast notification: 'Milestone: First Blood! +5 Belief. The Upgrade Shop awaits.' An 'UPGRADES' tab appears in the right panel, highlighted with a pulsing border.",
"If player clicks Upgrades tab: Two upgrades shown: 'Doubt Feed Efficiency' (Cost: 50 Belief) and 'Belief Harvest Bonus' (Cost: 75 Belief). Both show 'You have 35 / need 50' in red (player's current Belief)."
],
"riskTutorial_3_5min": [
"When rumor reaches 50% believability (typically at ~4:00): Progress bar turns yellow. Tooltip: 'Warning: At 100% believability, your rumor will collapse! Harvest before then.'",
"When rumor reaches 80% believability (typically at ~4:30): Progress bar turns red and flashes. Orb shakes slightly (CSS animation). Urgent tooltip: 'COLLAPSE IMMINENT! Harvest now or lose the rumor!'",
"If player lets it collapse (reaches 100%): Dramatic implosion animation. Toast: 'Rumor collapsed! You salvaged 5 Doubt. Dissonance +20%.' Dissonance meter jumps from 5% to 25%. This teaches the penalty naturally.",
"If player harvests (at 90% to avoid collapse): Harvest animation. Toast: 'Close call! You harvested before collapse.' This reinforces the risk/reward tension."
],
"synthesisTutorial_5_8min": [
"When player reaches 200 Belief (typically at ~7:00): A 'SYNTHESIS ENGINE' button appears in the right panel, cost: '200 Belief', pulsing. Tooltip: 'Unlock currency conversion! Combine Doubt + Belief to create Certainty.'",
"If player clicks Synthesis Engine: A new panel expands showing conversion interface: '10 Doubt + 1 Belief → 1 Certainty'. Certainty counter appears: 'Certainty: 0'. Toast: 'Milestone: Synthesis Discovery! +25 Belief. Certainty unlocks Paradox Upgrades.'",
"If player performs first conversion: Doubt -10, Belief -1, Certainty +1. Three 'Paradox Upgrade' options appear in the panel (greyed out, cost: 10 Certainty). Tooltip: 'Choose a Paradox to permanently change how rumors work!'"
],
"hiddenElements": [
"Cognitive Dissonance meter: Hidden until second rumor created (step 11 in expansion tutorial)",
"Evidence Diet dropdowns: Hidden until Dissonance reaches 20% (typically at 5-6 min)",
"Paradox Upgrades: Visible but greyed out at 1 Certainty (step 20 in synthesis tutorial). Unlock at 10 Certainty (13-15 min)",
"Reality Fracture Engine: Hidden until Dissonance reaches 80% (typically at 17-18 min)",
"Dimensional Traits shop: Hidden until first prestige completes (22-24 min)",
"Narrative Fragments: Hidden until player has 10 Shards (27+ min)"
],
"onboardingFlowSummary": "The tutorial follows a show-don't-tell approach: (0-2 min) Core loop only (Feed Doubt → watch growth → harvest Belief) → (2-5 min) Economic choices (Create Rumor, buy upgrades, manage collapse risk) → (5-8 min) Advanced systems (Synthesis Engine, Certainty conversion) → (8-15 min) Strategic depth (Paradox choice, Dissonance optimization) → (15-22 min) Endgame push (Reality Fracture, prestige trigger) → (22-30 min) Post-prestige (Paradigm choice, Dimensional Traits). Each system is introduced one at a time, with 3-5 minutes of experimentation before the next layer appears. The player never feels overwhelmed because they master each layer before the next one reveals. Hidden UI elements (collapsed panels, greyed-out buttons) show that there's more to discover without cluttering the screen or confusing the player with options they can't use yet."
},
"qualityChecklist": {
"verified": [
"The first 30 seconds have a clear action (Feed Doubt) and visible reward (rumor grows, Belief generation starts at 0:20)",
"No phase lasts more than 5 minutes without introducing something new (longest gap is 15:00-20:00 with Paradox effects applying at 15:00, third slot at 15:30, Dissonance scaling at 16:00, Reality Fracture panel at 17:00)",
"Every hard gate has an estimated wait time under 2 minutes (shortest: 45-60 sec for First Harvest, longest: 18-22 min for Reality Fracture which is endgame)",
"The minute-by-minute breakdown covers 0-30 minutes completely (30 entries with detailed content, actions, tension, and notes)",
"The tension curve has clear peaks and valleys (peaks at 9-11, 13-14, 17-19, 20-22 min; valleys at 0-2, 5-7, 14-15, 24-27 min)",
"Prestige is teased before it's available (first mention at 11:00, panel at 17:00, optimization at 18:00, button unlock at 19:00, full active at 20:00 - 10 minutes of buildup)",
"There are 8 achievement-style milestones spread across the session (First Blood at 2:00, Dual Truths at 5:00, Synthesis Discovery at 8:00, The Great Collapse at 12:00, Paradox Protocol at 15:00, Reality Fracture at 20:00, Shattered at 22:00, Reality Architect at 30:00)",
"Anti-frustration features are specified with exact triggers and tooltips (5 stuck detection conditions, 5 catchup mechanics, 7 visual progress indicators)",
"The unlock sequence matches the currencies and mechanics from idea.md (Doubt feeds rumors, Belief buys upgrades, Certainty unlocks Paradox, Dissonance triggers prestige, Shards provide permanent multipliers)",
"A developer can read this and know exactly when to show/hide every UI element (hidden elements listed with reveal times, tutorial steps specify exact UI states)"
],
"designPrinciplesMet": [
"Layered revelation: Phase 1 (0-1 min) = core loop only. Phase 2 (1-5 min) = economic choices. Phase 3 (5-15 min) = advanced systems. Phase 4 (15-30 min) = endgame and prestige. Each phase adds 1-2 systems, then 3-5 min of experimentation.",
"The 30-second hook: At 0:20, Belief generation starts. At 0:30, tooltip teases harvest. At 0:45, harvest button appears. By 1:00, player has harvested and seen the reward loop. Clear action + visible reward in under 60 seconds.",
"Alternating tension and release: Tension peaks at 9-11 min (collapse scare) → release at 10-11 min (Collapse Protection unlock) → tension peaks at 13-14 min (Paradox choice) → release at 14-15 min (Paradox applied) → tension peaks at 17-19 min (pre-fracture optimization) → release at 22-24 min (Paradigm choice).",
"Visible horizon: Every unlock shows the next thing (e.g., at 25 Belief, Create Rumor button appears; at 30 Belief, Upgrade Shop appears; at 10 Certainty, Paradox options glow). Progress bars show 'You have X / need Y'. Shard multiplier preview shows '650 / 1000 for +1 Shard'.",
"No dead zones: Every minute has new content or player action focus. Even 'slower' minutes (14-15, 24-25) have clear activity (adapting to Paradox, spending Shards). No period where player has nothing to do or nothing to look forward to."
]
}
}
Progression
# Progression System
## Overview
Echo Chamber's progression follows a philosophy of "controlled chaos reveal." The player starts with a single, intuitive action—feeding Doubt to a rumor—and discovers layers of strategic depth through carefully timed mechanic unlocks. The core tension (Doubt makes rumors stronger but less believable) is introduced in the first 30 seconds, then complicated by new systems that force the player to constantly reevaluate their strategy.
The emotional arc moves from **curiosity** (what happens when I feed this?) to **mastery** (optimizing a complex multi-rumor economy) to **transcendence** (fracturing reality for permanent power). Each phase introduces one new system, then gives the player 3-5 minutes to understand it before the next layer appears. The goal is to create escalating "aha moments" where the player realizes a new strategic depth has opened up—not overwhelming them with options, but revealing new dimensions of the choices they were already making.
The 30-minute session is structured around **four emotional beats**: the thrill of first growth, the complexity of managing contradictions, the strategic depth of the Paradox choice, and the triumphant first Reality Fracture. Each beat has a distinct feel and teaches the player something new about the game's core systems.
## Unlock Sequence
### Phase 1: Onboarding (0:00 - 1:00)
**Goal**: Player understands core action and sees first reward.
| Time | Trigger | What Unlocks | Why It Matters |
|------|---------|--------------|----------------|
| 0:00 | Game start | Single rumor slot, Feed Doubt button (5 Doubt/click), Doubt currency (starting: 50) | Establishes the core loop: click → feed rumor → watch it grow |
| 0:10 | Feed Doubt 5 times (costs 25 Doubt) | Rumor visual grows larger, believability progress bar appears | Shows that feeding has visible effects and there's a "believability" metric to track |
| 0:20 | Rumor reaches 10% believability | Belief passive generation begins (0.1/sec) | First reward: the rumor now produces Belief automatically. Player sees why feeding matters |
| 0:30 | Belief accumulation reaches 1.0 | "First Blood" milestone tooltip appears: "Harvest at 10 Belief for big bonus!" | Teases the harvest mechanic and gives a short-term goal (30-60 seconds away) |
| 0:45 | Belief reaches 10 (harvestable) | Harvest button appears on rumor, glows attractively | First meaningful choice: harvest now or let it accumulate? |
| 1:00 | Player harvests (or continues feeding) | Toast notification: "You harvested X Belief! Belief buys upgrades." | Shows the reward loop: feed → generate → harvest → spend |
**Emotional beat**: "I made a thing grow, and it gave me something valuable." The player feels clever for discovering the cause-and-effect, and curious about what Belief can buy.
### Phase 2: Expansion (1:00 - 5:00)
**Goal**: Second system introduced. Player starts making choices.
| Time | Trigger | What Unlocks | Why It Matters |
|------|---------|--------------|----------------|
| 1:15 | Accumulate 25 Belief | "Create Rumor" button appears (cost: 25 Belief) in right panel | First major economic decision: spend Belief on new rumor or save for upgrades? |
| 1:30 | Player views Create Rumor button (doesn't click yet) | Tooltip shows: "Need 100 Doubt to unlock second slot. Cost: 100 Doubt" | Reveals that rumor slots are limited and cost Doubt, creating parallel goals |
| 2:00 | Total Belief harvested reaches 30 | Milestone achieved: "First Blood" (toast + +5 Belief bonus), Upgrade Shop tab appears | First achievement reward, unlocks the upgrade system. Player now has three spending priorities |
| 2:30 | Upgrade Shop viewed | Two upgrades visible: "Doubt Feed Efficiency" (50 Belief) and "Belief Harvest Bonus" (75 Belief) | Shows concrete upgrade paths with clear costs. Gap from current Belief (~40-50) creates medium-term goal |
| 3:00 | Doubt reaches 100 | Second rumor slot unlock affordable (100 Doubt), button starts pulsing | Creates urgency: player has enough Doubt and must decide if this is the right time to expand |
| 3:30 | Player unlocks second rumor slot (optional: if they haven't yet) | Tooltip: "Cognitive Dissonance will build with 2+ rumors. Keep it below 100%!" | Warns about the new danger system before it activates, preventing surprise deaths |
| 4:00 | Second rumor created (or player has 100+ Doubt and hasn't acted) | Cognitive Dissonance meter appears in bottom bar, starts at 0% | New mechanic introduced: running multiple rumors creates system-wide risk |
| 5:00 | Dissonance reaches 10% or 5 minutes elapsed (whichever first) | Milestone achieved: "Dual Truths" (toast + unlock "Amplify Contradiction" button, +10 Belief) | Formalizes the complexity increase. Player now managing two currencies and a danger meter |
**Emotional beat**: "I'm running a small economy now. Every choice feels important." The player transitions from single-loop optimization to juggling multiple priorities (Doubt for slots, Belief for upgrades, Dissonance management). The tension of "can I afford everything?" emerges.
### Phase 3: Complexity (5:00 - 15:00)
**Goal**: All core systems online. Optimization and strategy emerge.
| Time | Trigger | What Unlocks | Why It Matters |
|------|---------|--------------|----------------|
| 5:30 | Dissonance reaches 20% | "Evidence Diet" dropdown appears on each rumor (Anecdote/Statistical Data/Expert Testimony) | First per-rumor strategic choice: different evidence types have different Doubt costs, Belief outputs, and Dissonance contributions |
| 6:00 | Player changes an Evidence Diet (or 6 min elapsed) | Tooltip explains the tradeoffs visible in the dropdown | Ensures the player understands the new system before they can make bad choices |
| 7:00 | Belief reaches 150 | "Synthesis Engine" button appears (cost: 200 Belief), starts pulsing at 180+ | Teases the conversion system. Gap from current Belief creates 30-60 second goal |
| 8:00 | Player purchases Synthesis Engine | Milestone achieved: "Synthesis Discovery" (toast + unlock Synthesis Engine panel, +25 Belief), Certainty currency appears | New currency unlocked! The economy now has a conversion sink. Player can convert Doubt+Belief→Certainty |
| 8:30 | Certainty reaches 1 | Three "Paradox Upgrade" options appear (greyed out, cost: 10 Certainty each) with "COMING SOON" label | Teases the permanent choice system. Player sees what Certainty is for and starts saving |
| 9:30 | Player runs 2 rumors for 4+ minutes | First rumor approaches 90% believability, starts flashing red | Warning system: collapse is imminent. Teaches the risk/reward tension naturally |
| 10:30 | First rumor collapses (if it happens) or 10:30 elapsed | Toast: "Rumor collapsed! You lost it but salvaged X Doubt. Dissonance +20%." | Teaches the penalty for over-believability. Even if player avoided collapse, they see what could happen |
| 11:00 | Dissonance reaches 50% | Tooltip: "At 100% Dissonance, you can trigger Reality Fracture. But be ready—it resets everything!" | First prestige tease! Player learns that Dissonance has a purpose beyond danger |
| 12:00 | Player has experienced a collapse (or 12 min elapsed) | Milestone achieved: "The Great Collapse" (toast + unlock "Collapse Protection" in Synthesis Engine, +15 Belief) | Formalizes the collapse mechanic and gives the player a tool to prevent it |
| 13:00 | Certainty reaches 10 (or player has 8+ Certainty and 13 min elapsed) | Paradox Upgrade options un-grey, show full descriptions, start glowing | The permanent choice is now affordable. Player must pick one path |
| 14:00 | Player hasn't chosen Paradox yet (if they have 10+ Certainty) | Synthesis Engine panel expands: "Choose a Paradox to unlock your true potential" | Nudges the player toward the choice without forcing it |
| 15:00 | Player chooses Paradox (or 15 min elapsed) | Milestone achieved: "Paradox Protocol" (toast + apply Paradox effects permanently, +50 Belief) | End of complexity phase. Player has now made a permanent choice that defines their build |
**Emotional beat**: "I understand this system deeply now. I'm making strategic choices that matter." The player has moved from reactive to proactive—planning several steps ahead, managing risk intentionally, and feeling like they're "gaming" the system cleverly. The Paradox choice crystallizes their identity as a player (risk-taker vs. safe strategist vs. optimizer).
### Phase 4: Mastery & Prestige Push (15:00 - 30:00)
**Goal**: Player sees the ceiling, understands prestige, and pushes for it.
| Time | Trigger | What Unlocks | Why It Matters |
|------|---------|--------------|----------------|
| 15:30 | Paradox chosen | Third rumor slot unlock appears (250 Doubt) if not already purchased | The permanent choice provides immediate power spike. Player sees acceleration |
| 16:00 | Player has 3+ rumor slots (or 16 min elapsed) | Dissonance builds faster (quadratic scaling). Tooltip: "More rumors = faster Dissonance = danger + opportunity" | Reinforces that Dissonance management is now the core challenge |
| 17:00 | Dissonance reaches 80% | "Reality Fracture Engine" panel appears (greyed out, labeled "UNLOCK AT 100% DISSONANCE") | The prestige mechanic is now visible and approaching. Player has a clear goal |
| 18:00 | Player has 500+ total Belief generated | Tooltip: "Total Belief generated: X. At 1000, +1 Shard on Reality Fracture!" | Teaches the first Shard multiplier optimization. Player now plans for prestige efficiency |
| 19:00 | Dissonance hits 95%+ for first time | "Reality Fracture" button unlocks, pulses red. Warning: "This will RESET your run!" | The endgame trigger is available. Player must decide: fracture now or push for more Shards? |
| 20:00 | Player reaches 100% Dissonance (or 20 min elapsed) | Milestone achieved: "Reality Fracture" (toast + Reality Fracture button fully active, +100 Belief) | Formal prestige unlock. Player now has the power to end the run whenever they choose |
| 21:00 | Player hasn't fractured yet (if at 100% Dissonance) | Dissonance passive decay (0.2%/sec) kicks in. Tooltip: "Dissonance decays. Fracture soon or rebuild it!" | Forces the player to commit: fracture now or risk losing progress to decay |
| 22:00 | Player fractures (or 22 min elapsed if they chose to wait) | Screen crack animation, everything resets. Shards of Truth currency appears (showing: 2-4 Shards earned) | First prestige! The run ends triumphantly. Player sees permanent progress |
| 23:00 | Post-fracture (or 23 min elapsed if no fracture yet) | "Choose a Reality Paradigm" modal appears with 3 options (Chaos Theory, Rationalism, Faith) | The permanent prestige choice. Each option fundamentally changes the game for future runs |
| 24:00 | Paradigm chosen | "Dimensional Traits" shop appears (spend Shards on permanent multipliers) | Shard sinks unlocked. Player now has long-term goals across multiple runs |
| 25:00 | Second run begins (or 25 min elapsed in first run) | All unlocks from first run are faster to re-earn. Tooltip: "Your Paradigm accelerates everything!" | The player experiences the power of prestige firsthand. Second run is visibly faster |
| 27:00 | Player has 5+ Shards (cumulative across runs) | "Narrative Fragments: The Truth" unlock appears (10 Shards each) | Story content unlocked. Player learns WHY they're reshaping reality |
| 30:00 | Player completes second run or reaches 30 min in first | Milestone achieved: "Reality Architect" (toast + unlock "exotic rumor types" in shop, +200 Belief) | End of first session. Player has experienced the full loop and seen the long-term progression |
**Emotional beat**: "I'm a master of this system. I can see the whole picture now." The player has completed the arc from curious newcomer to optimizer to reality-reshaping architect. The first Reality Fracture is a triumphant climax, and the Paradigm choice creates anticipation for future runs. The game shifts from "can I figure this out?" to "how fast can I optimize this?"
## Gates and Checkpoints
### Hard Gates
[Moments where progression is intentionally slowed. The player must achieve something specific before proceeding.]
| Gate | Requirement | What's Blocked | Estimated Wait Time | Purpose |
|------|-------------|----------------|---------------------|---------|
| First Harvest | Rumor must reach 10 Belief accumulated (30-60 sec of passive generation) | Cannot experience the reward loop (harvest → spend → upgrade) until this happens | 45-60 seconds | Ensures the player understands the core mechanic before introducing spending choices |
| First Blood Milestone | Must harvest 25+ total Belief (typically 2-3 harvests) | Upgrade Shop locked. Player cannot make economic decisions beyond "feed or harvest" | 2 minutes | Prevents choice paralysis. Establishes the basic loop before adding upgrade complexity |
| Dual Truths | Must unlock second rumor slot (100 Doubt) | Cognitive Dissonance mechanic locked. Player only manages single-rumor economy | 3-4 minutes from start | Teaches single-rumor optimization before adding system-wide complexity |
| Synthesis Discovery | Must purchase Synthesis Engine (200 Belief) | Certainty currency locked. Cannot access Paradox upgrades or advanced mechanics | 6-8 minutes from start | Forces player to master basic Doubt/Belief economy before adding conversion complexity |
| Paradox Protocol | Must accumulate 10 Certainty (requires ~1000 Doubt + 100 Belief converted) | Paradox upgrades locked. Player cannot make permanent build-defining choices | 12-15 minutes from start | Ensures player understands all core systems before committing to a permanent path |
| Reality Fracture | Must reach 100% Cognitive Dissonance (requires 4-5 rumors running simultaneously) | Prestige locked. Cannot earn Shards or choose Paradigm | 18-22 minutes from start | Guarantees player has mastered multi-rumor management and Dissonance dance before ending run |
### Soft Gates
[Moments where things slow down naturally but the player can still do other things.]
| Gate | What Slows Down | Alternative Activities | Purpose |
|------|-----------------|----------------------|---------|
| Belief Scarcity (5-8 min) | Rumors approach 80-90% believability, Belief generation slows to 0.02-0.05/sec per rumor | Feed Doubt to reduce believability (costs Doubt), harvest accumulated Belief, unlock second rumor slot | Teaches the inverse generation formula. Player must balance "let it ride" vs. "feed to restart growth" |
| Dissonance Wall (10-12 min) | Running 3+ rumors builds Dissonance rapidly (1-2%/sec). Player must constantly avoid 100% | Reduce to 2 rumors to slow Dissonance build, purchase Dissonance-resistant upgrades (Truth Barrier), let Dissonance decay passively (0.2%/sec) | Creates the "dance with danger" tension. Player learns to keep Dissonance high (for production bonuses implied by faster Belief gen at lower believability) without triggering fracture |
| Certainty Bottleneck (13-15 min) | Converting Doubt+Belief→Certainty is expensive (10:1 ratio). Player runs out of Doubt | Focus on passive Doubt generation (click + trickle), harvest Belief from rumors, save for conversion instead of spending on upgrades | Forces strategic timing. Player learns that Certainty is a precious resource for permanent choices, not casual spending |
| Collapse Fear (9-11 min) | First rumor approaches 95%+ believability. Collapse risk creates tension | Harvest immediately to save the rumor (sacrificing accumulated Belief), feed Doubt to reduce believability (expensive), let it collapse and salvage (teaches penalty) | Teaches the risk/reward of "do I harvest now or let it grow?" The tension makes harvests meaningful |
## Milestones
### Achievement-Style Milestones
[One-time accomplishments that give rewards and dopamine hits]
| # | Milestone Name | Condition | Reward | Notification Text |
|---|---------------|-----------|--------|-------------------|
| 1 | First Blood | Harvest Belief from a rumor for the first time | +5 Belief, unlock Upgrade Shop | "First blood! Your rumor bears fruit. The Upgrade Shop awaits." |
| 2 | Dual Truths | Unlock second rumor slot and create a second rumor | +10 Belief, unlock Amplify Contradiction button | "Two truths can coexist... for now. Dissonance is rising." |
| 3 | Synthesis Discovery | Purchase Synthesis Engine for 200 Belief | +25 Belief, unlock Certainty currency and conversion panel | "The Synthesis Engine hums to life. Certainty is within reach." |
| 4 | The Great Collapse | Experience a rumor collapse (reach 100% believability) | +15 Belief, unlock Collapse Protection in Synthesis Engine | "Reality snapped! But you learned. Collapse Protection now available." |
| 5 | Paradox Protocol | Choose a Paradox Upgrade (spend 10 Certainty) | +50 Belief, apply permanent Paradox effects | "The paradox is resolved. Your path is chosen. There is no turning back." |
| 6 | Reality Fracture | Reach 100% Cognitive Dissonance (unlock prestige ability) | +100 Belief, Reality Fracture button becomes active | "The fabric tears. You can fracture reality... if you dare." |
| 7 | Shattered | Trigger first Reality Fracture and earn Shards of Truth | +3 Shards (minimum), unlock Paradigm selection modal | "Reality cracks and reforms. You are stronger now. Choose your new paradigm." |
| 8 | Reality Architect | Complete a second run OR reach 30 min in first run | +200 Belief, unlock exotic rumor types (Time Loop, Recursive Prophecy) | "You have mastered the Echo Chamber. Now... reshape existence itself." |
### Progression Milestones
[Milestones tied to currency/level thresholds that show overall progress]
| Currency/Metric | Threshold | Reward/Effect |
|----------------|-----------|---------------|
| Doubt | 100 | Second rumor slot unlock affordable (button starts pulsing) |
| Doubt | 250 | Third rumor slot unlock affordable |
| Doubt | 625 | Fourth rumor slot unlock affordable |
| Doubt | 1562 | Fifth rumor slot unlock affordable (max slots) |
| Belief | 10 | Harvest button appears on rumors |
| Belief | 25 | Create Rumor button appears |
| Belief | 50 | First upgrade affordable (Doubt Feed Efficiency) |
| Belief | 75 | Second upgrade affordable (Belief Harvest Bonus) |
| Belief | 200 | Synthesis Engine affordable |
| Belief | 500 | Tooltip reveals Shard multiplier bonus (at 1000 total Belief generated) |
| Belief | 1000 | +1 Shard per Reality Fracture (added to base Shard calculation) |
| Certainty | 1 | Paradox Upgrade options appear (greyed out) |
| Certainty | 10 | Paradox Upgrade options unlock (can make permanent choice) |
| Certainty | 25 | Exotic rumor type unlocks affordable (Time Loop, Recursive Prophecy) |
| Cognitive Dissonance | 20% | Evidence Diet dropdown appears |
| Cognitive Dissonance | 50% | Tooltip reveals Reality Fracture at 100% |
| Cognitive Dissonance | 80% | Reality Fracture Engine panel appears (greyed out) |
| Cognitive Dissonance | 95% | Reality Fracture button unlocks, starts pulsing |
| Cognitive Dissonance | 100% | Can trigger Reality Fracture (prestige) |
| Shards of Truth | 1 | Can purchase first Dimensional Trait (Doubt Amplification: 1 Shard) |
| Shards of Truth | 2 | Can purchase Belief Amplification (2 Shards) |
| Shards of Truth | 3 | Can purchase Dissonance Resistance (3 Shards) |
| Shards of Truth | 5 | Can purchase first Reality Paradigm upgrade (5 Shards) |
| Shards of Truth | 10 | Can unlock first Narrative Fragment (10 Shards) |
## Pacing Curve
### Minute-by-Minute Breakdown
| Minute | New Content | Player Action Focus | Tension Level (1-5) | Notes |
|--------|-------------|--------------------|-----------------------|-------|
| 0-1 | Feed Doubt button, rumor growth, Belief generation starts | Clicking Feed Doubt, watching rumor grow, first harvest at 1:00 | 1 | Tutorial phase. Player learns basic cause-effect. Generous starting Doubt (50) means no scarcity stress yet |
| 1-2 | Create Rumor button (25 Belief), Upgrade Shop tease at 2:00 | Deciding: spend Belief on second rumor or save for upgrades? First harvest decisions | 2 | First economic tension. Player realizes Belief is scarce and choices matter |
| 2-3 | First Blood milestone (+5 Belief), Upgrade Shop opens | Buying first upgrade (Doubt Feed Efficiency: 50 Belief) vs. saving for rumor slot | 2 | Upgrade shop creates multiple spending priorities. Player optimizes short-term (efficiency) vs. medium-term (slots) |
| 3-4 | Second rumor slot affordable (100 Doubt), pulsing button | Evaluating: unlock slot now or wait for more upgrades? Feeding rumors to hit 100 Doubt | 2 | Low tension because Doubt is still abundant. Player feels rich with options |
| 4-5 | Cognitive Dissonance meter appears, Amplify Contradiction button | Managing Dissonance (avoiding 100%), balancing two rumors' believability | 3 | New tension layer. Player must now pay attention to system-wide risk, not just individual rumors |
| 5-6 | Dual Truths milestone, Evidence Diet dropdowns appear | Choosing evidence types (Anecdote/Statistical/Expert) for each rumor | 3 | Strategic depth increases. Player now optimizes per-rumor based on Dissonance tolerance and Belief needs |
| 6-7 | Dissonance climbs (20-40%), first collapse warnings appear | Harvesting before collapse, feeding Doubt to reduce believability | 3 | Collapse risk creates urgency. Harvests feel like escapes rather than rewards |
| 7-8 | Synthesis Engine affordable (200 Belief) at ~7:30 | Grinding Belief to afford Synthesis Engine. Debating: spend on upgrades or save for conversion? | 3 | Medium-term goal creates focus. Player is 30-60 seconds from major unlock |
| 8-9 | Synthesis Discovery milestone, Certainty currency appears | Converting Doubt+Belief→Certainty. Seeing Paradox options (greyed out) | 2 | Exploration phase. Player experiments with conversion, learns Certainty's value |
| 9-10 | Rumors approaching 90% believability, red flashing warnings | Managing collapse risk: harvest now vs. let it ride. First collapse likely around 9:30-10:00 | 4 | High tension! Collapse penalties (lost rumor +20% Dissonance) make every harvest decision critical |
| 10-11 | The Great Collapse milestone (if collapse occurred), Collapse Protection | Recovering from collapse (if it happened), using Collapse Protection to prevent next one | 3 | Post-collapse relief. Player now has tools to manage risk. Tension drops but strategic depth increases |
| 11-12 | Dissonance reaches 50-70%, Reality Fracture teased | Intentionally building Dissonance faster (adding third rumor?) vs. playing safe | 3 | Player sees the endgame on the horizon. Strategic shift: optimize for Shard yield or avoid risk? |
| 12-13 | Certainty accumulation (2-5 by now), third rumor slot (250 Doubt) | Saving Certainty for Paradox (need 10). Deciding whether to expand to 3 rumors (risky) or stay safe | 3 | Multiple long-term goals compete. Player must prioritize: Paradox choice vs. expansion vs. Dissonance management |
| 13-14 | Paradox Upgrade options unlock (10 Certainty), glowing | Choosing permanent path (Liar's Paradox vs. Confirmation Loop vs. Truth Barrier) | 4 | MAJOR decision tension. This choice defines the entire run. Player spends 30-60 seconds considering |
| 14-15 | Paradox Protocol milestone, Paradox effects applied | Adapting playstyle to chosen Paradox. Noticing acceleration (e.g., Liar's Paradox generates Doubt) | 2 | Post-choice clarity. Player leans into their build's strengths. Tension drops as strategy crystallizes |
| 15-16 | Third rumor slot affordable (if not purchased), acceleration from Paradox | Expanding to 3-4 rumors. Dissonance building faster (quadratic scaling) | 3 | Paradox power makes expansion feel impactful. But Dissonance creates new danger |
| 16-17 | Dissonance 70-90%, Reality Fracture Engine panel appears (greyed) | Dancing with Dissonance: keeping it high (for efficiency) without hitting 100% | 4 | High-tension optimization. Player is now actively managing the prestige trigger |
| 17-18 | Tooltip reveals Shard multiplier (at 1000 total Belief) | Planning for optimal fracture timing. Pushing Belief generation to hit 1000 total before fracture | 4 | Strategic depth: player now plans fracture for maximum Shard yield, not just "when can I prestige?" |
| 18-19 | Reality Fracture button unlocks (at 95-100% Dissonance), pulsing red | Deciding: fracture now for +2-3 Shards or push for 1000 total Belief (+1 Shard) | 5 | MAXIMUM TENSION. The player is 30-120 seconds from ending the entire run. Every choice matters |
| 19-20 | Reality Fracture milestone, button fully active | Final push: maximizing active rumors, keeping Dissonance at 95-100% without triggering, farming Belief | 5 | Endgame climax. Player is fully engaged, optimizing every second |
| 20-22 | Dissonance decay (0.2%/sec) forces decision | Fracturing reality or rebuilding Dissonance. First fracture typically happens 20-22 min | 5 | The climax! Screen crack animation, reset, Shard count reveal. Triumph and anticipation |
| 22-24 | Paradigm selection modal appears (3 choices) | Choosing permanent Paradigm (Chaos Theory vs. Rationalism vs. Faith) | 4 | Post-prestige strategic decision. This choice affects all future runs |
| 24-25 | Dimensional Traits shop opens (spend Shards) | Spending Shards on multipliers. Earning Belief faster in second run | 2 | Exploration and power spike. Player feels accelerated compared to first run |
| 25-27 | Second run progresses 3-5x faster | Reaching milestones in 5-8 min instead of 15-20 min. Earning Shards more efficiently | 3 | Comfortable mastery. Player enjoys the power of permanent progression |
| 27-30 | Narrative Fragments unlock (10 Shards), exotic rumor types | Experiencing the story ("The Truth"). Trying new rumor types (Time Loop, Recursive Prophecy) | 2 | Endgame content. Player shifts from optimization to exploration and narrative |
| 30+ | Reality Architect milestone | Long-term optimization: planning multiple runs, maxing a Paradigm, seeing all endings | 2-3 | Player has graduated from "learning" to "mastering." The game becomes a sandbox for optimization |
### Tension Graph
[Describe the intended tension/engagement curve. Where are the peaks? Where are the valleys? Use a simple ASCII representation:]
```
Tension
5 | * * * * * * * * * * * *
4 | * * * * * * * * * *
3 | * * * * * *
2 | * * * *
1 | * * *
+-------------------------------------------------------------------->
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 min
Key Peaks:
- 9-11 min: Collapse scare (first rumor at 90%+ believability)
- 13-14 min: Paradox choice (permanent decision tension)
- 17-19 min: Pre-fracture optimization (dancing with 100% Dissonance)
- 20-22 min: Reality Fracture climax
Key Valleys:
- 0-2 min: Tutorial exploration (low stakes, learning)
- 5-7 min: System absorption (Digesting Evidence Diets)
- 14-15 min: Post-Paradox clarity (Strategy crystallized)
- 24-27 min: Post-prestige power spike (Mastery phase)
```
## What Keeps Players Pushing Forward
### Short-Term Motivators (next 30 seconds)
- **Visible progress**: Rumor grows larger with every Feed Doubt click (immediate visual feedback)
- **Belief ticker**: Belief accumulates 0.1/sec at 20% believability, visible in real-time. Player sees numbers going up constantly
- **Harvest timing**: "Only 2 more Belief until I can harvest!" creates micro-goals every 20-40 seconds
- **Affordable upgrades**: "Only 8 more Belief until I can afford Doubt Feed Efficiency!" (gap visible and attainable)
- **Collapse warnings**: Red flashing at 85%+ believability creates urgency to harvest now
### Medium-Term Motivators (next 5 minutes)
- **Rumor slot unlocks**: "100 Doubt for second slot" is a clear, achievable goal from minute 1-4
- **Milestone rewards**: First Blood (+5 Belief), Dual Truths (+10 Belief), Synthesis Discovery (+25 Belief) give tangible progress markers
- **Upgrade affordability**: "50 Belief for Doubt Feed Efficiency" from 2:00-3:00, then "75 Belief for Harvest Bonus" from 3:00-5:00
- **Cognitive Dissonance management**: Keeping it below 100% is an ongoing challenge that creates engagement
- **Certainty conversion**: Saving for 10 Certainty (Paradox choice) from 8:00-13:00 creates a 5-minute goal
### Long-Term Motivators (session goals)
- **Paradox Upgrade**: The permanent choice at 10 Certainty (12-15 minutes) is a major milestone
- **Reality Fracture**: The prestige trigger at 100% Dissonance (18-22 minutes) is the ultimate session goal
- **Shard yield optimization**: "Can I earn 5 Shards instead of 3?" motivates pushing runs longer
- **Paradigm selection**: The permanent prestige choice (22-24 minutes) creates anticipation for future runs
- **Narrative Fragments**: "The Truth" story unlocks at 10 Shards motivates multiple prestiges
### The Prestige Tease
**When does the player first LEARN about prestige?**
- At 11:00 (Dissonance reaches 50%), a tooltip appears: "At 100% Dissonance, you can trigger Reality Fracture. But be ready—it resets everything!"
- This is 10-11 minutes into the session, giving the player ample warning before it becomes relevant
**When do they first feel the pull toward it?**
- At 17:00 (Dissonance 80%), the Reality Fracture Engine panel appears (greyed out, labeled "UNLOCK AT 100% DISSONANCE")
- At 18:00 (player has 500+ total Belief), a tooltip reveals: "Total Belief generated: X. At 1000, +1 Shard on Reality Fracture!"
- This creates the "almost there" feeling: "I'm at 650 Belief, only 350 more and I get +1 Shard!"
**How is prestige teased throughout the session?**
- **11:00**: First mention (tooltip at 50% Dissonance)
- **17:00**: Visual panel appears (greyed out at 80%)
- **18:00**: Optimization mechanic revealed (Shard multiplier at 1000 Belief)
- **19:00**: Button unlocks and pulses (at 95% Dissonance)
- **20:00**: Milestone achieved (Reality Fracture), button fully active
- **21:00**: Urgency created (Dissonance decay forces decision: fracture now or rebuild)
The tease follows a **gradual reveal pattern**: abstract concept → visible panel → optimization depth → accessible button → forced decision. Each stage adds a new layer of understanding, so by the time the player can fracture, they fully understand what it does and why they should care.
## Anti-Frustration Features
### Stuck Detection
- **If Belief generation drops below 0.05/sec for 60+ seconds** (rumor at 95%+ believability): Tooltip appears: "Feed Doubt to reduce believability and restart Belief generation!"
- **If player has 50+ Doubt but hasn't spent any for 120+ seconds**: "Doubt is abundant! Feed your rumors to make them stronger."
- **If player has 30+ Belief but hasn't spent any for 90+ seconds**: "Belief buys upgrades! Check the Upgrade Shop for new powers."
- **If Dissonance is below 20% for 180+ seconds and player has 2+ rumor slots**: "Add more rumors to increase Dissonance and unlock Reality Fracture faster!"
- **If player has 8+ Certainty but hasn't chosen a Paradox for 180+ seconds**: "Choose a Paradox Upgrade to unlock your true potential!"
### Catchup Mechanics
- **Passive Doubt trickle**: Even if player messes up and spends all Doubt, they passively generate 1/sec. Recovery from 0 Doubt to affordable action (~50 Doubt) takes only 50 seconds (0:50 of passive, or faster with clicks)
- **Belief generation always restarts**: If player lets a rumor hit 100% believability (0 Belief/sec), they can feed Doubt to reduce believability back to 20-40%. Recovery takes 10-20 Doubt (5-10 feeds at 2% reduction each) → ~20-40 seconds
- **Rumor collapse salvage**: Collapsing a rumor salvages 10% of fed Doubt, reducing the penalty. Player recovers faster from mistakes
- **Collapse Insurance**: For 15 Certainty, player can protect one rumor from collapse. Instead of being destroyed, it resets to 0% believability. This allows recovery from bad decisions
- **Dissonance passive decay**: If Dissonance gets too high (danger zone 90%+), it passively decays 0.2%/sec when below 100%. Player can back away from the brink without losing everything
### Visual Progress
- **Rumor size**: Every Feed Doubt click makes the rumor orb visually larger. Player sees growth even if Belief hasn't accumulated yet
- **Believability progress bar**: Shows 0-100% with color coding (green at 0-50%, yellow at 50-80%, red at 80-100%). Player sees progress toward collapse/harvest
- **Accumulated Belief ticker**: Real-time counter shows Belief pooling in the rumor. Even at 0.05/sec, the number is visibly ticking up
- **Dissonance meter**: Always-visible bar shows 0-100% with pulsing at 90%+. Player sees their proximity to danger/opportunity
- **Upgrade progress bars**: Each upgrade shows "You have X / need Y" in red (can't afford) or green (affordable). Player sees exactly how close they are
- **Milestone progress**: "First Blood" milestone shows "Harvested: 0 / 1 Belief" → player sees progress toward the reward
- **Shard multiplier preview**: Tooltip shows "Total Belief generated: 650 / 1000 for +1 Shard bonus" → player sees progress toward optimization goal
## Tutorial / First-Time Experience
[Step-by-step what happens the very first time the player loads the game. What is highlighted? What is hidden? What tooltips appear? Be specific.]
### Initial Load (0:00-0:30)
1. **Screen fades in from black**. Center panel shows a single pulsating purple orb (the rumor). Below it, a prominent button: "FEED DOUBT (-5 Doubt)". Doubt counter in bottom-left shows: "Doubt: 50". Belief counter shows: "Belief: 0.0".
2. **First tooltip appears** (fades in after 1 second, stays for 5 seconds): "Feed Doubt to make your rumor grow. Larger rumors generate Belief faster!" with an arrow pointing to the Feed Doubt button.
3. **Player clicks Feed Doubt**. The orb grows slightly (CSS transform scale 1.0 → 1.1). Doubt decreases to 45. A progress bar appears above the rumor: "Believability: 2%". Tooltip: "Believability increases naturally. At 100%, the rumor collapses!"
4. **Player clicks Feed Doubt 4 more times** (total 5 feeds). Orb grows larger each time (scale 1.1 → 1.2 → 1.3 → 1.4 → 1.5). Believability: 10%. Doubt: 25.
5. **At 10% believability**, Belief generation starts. A new ticker appears below the rumor: "Belief: +0.1/sec". The Belief counter starts ticking up: 0.1, 0.2, 0.3... Tooltip: "Your rumor now generates Belief! Harvest it to spend on upgrades."
6. **First tooltip auto-dismisses** (or player clicks to dismiss). Second tooltip appears: "Keep feeding to grow the rumor, or wait for Belief to accumulate. Your choice!"
### Harvest Tutorial (0:30-1:00)
7. **At 1.0 accumulated Belief** (takes ~10 seconds at 0.1/sec), a "HARVEST" button appears on the rumor (glows attractively with CSS animation). Tooltip: "Harvest now for 0.25 Belief, or wait for more!"
8. **If player clicks Harvest**: A burst animation plays. Belief counter increases by 0.25 (now ~1.3 total). Toast notification: "You harvested 0.25 Belief! Belief buys upgrades."
9. **If player waits until 10 Belief accumulated** (takes ~90 seconds total from start): Harvest button pulses faster. Tooltip updates: "Harvest for 2.5 Belief!" This teaches that waiting = better rewards.
### Expansion Tutorial (1:00-3:00)
10. **When player reaches 25 Belief total** (typically at ~2:00, after 2-3 harvests): The right panel (currently hidden/faded) slides into view. A "CREATE RUMOR" button appears, cost: "25 Belief". Tooltip: "Create a second rumor to generate Belief faster! But beware: multiple rumors create Cognitive Dissonance."
11. **If player clicks Create Rumor**: A second orb appears. Doubt decreases by 25. A progress bar appears in bottom-right: "Cognitive Dissonance: 0%". Tooltip: "Dissonance builds with 2+ rumors. Keep it below 100% or reality fractures!"
12. **At 30 total Belief harvested** (First Blood milestone, ~2:30): Toast notification: "Milestone: First Blood! +5 Belief. The Upgrade Shop awaits." An "UPGRADES" tab appears in the right panel, highlighted with a pulsing border.
13. **If player clicks Upgrades tab**: Two upgrades shown:
- "Doubt Feed Efficiency" (Cost: 50 Belief) - "Each Doubt feed increases rumor size by +20%"
- "Belief Harvest Bonus" (Cost: 75 Belief) - "Harvests yield +5% more Belief"
Both show "You have 35 / need 50" in red (player's current Belief).
### Risk Tutorial (3:00-5:00)
14. **When rumor reaches 50% believability** (typically at ~4:00): Progress bar turns yellow. Tooltip: "Warning: At 100% believability, your rumor will collapse! Harvest before then."
15. **When rumor reaches 80% believability** (typically at ~4:30): Progress bar turns red and flashes. Orb shakes slightly (CSS animation). Urgent tooltip: "COLLAPSE IMMINENT! Harvest now or lose the rumor!"
16. **If player lets it collapse** (reaches 100%): Dramatic implosion animation. Toast: "Rumor collapsed! You salvaged 5 Doubt. Dissonance +20%." Dissonance meter jumps from 5% to 25%. This teaches the penalty naturally.
17. **If player harvests** (at 90% to avoid collapse): Harvest animation. Toast: "Close call! You harvested before collapse." This reinforces the risk/reward tension.
### Synthesis Tutorial (5:00-8:00)
18. **When player reaches 200 Belief** (typically at ~7:00): A "SYNTHESIS ENGINE" button appears in the right panel, cost: "200 Belief", pulsing. Tooltip: "Unlock currency conversion! Combine Doubt + Belief to create Certainty."
19. **If player clicks Synthesis Engine**: A new panel expands showing conversion interface: "10 Doubt + 1 Belief → 1 Certainty". Certainty counter appears: "Certainty: 0". Toast: "Milestone: Synthesis Discovery! +25 Belief. Certainty unlocks Paradox Upgrades."
20. **If player performs first conversion**: Doubt -10, Belief -1, Certainty +1. Three "Paradox Upgrade" options appear in the panel (greyed out, cost: 10 Certainty). Tooltip: "Choose a Paradox to permanently change how rumors work!"
### Hidden Elements (revealed later)
- **Cognitive Dissonance meter**: Hidden until second rumor created (step 11)
- **Evidence Diet dropdowns**: Hidden until Dissonance reaches 20% (typically at 5-6 min)
- **Paradox Upgrades**: Visible but greyed out at 1 Certainty (step 20). Unlock at 10 Certainty (13-15 min)
- **Reality Fracture Engine**: Hidden until Dissonance reaches 80% (typically at 17-18 min)
- **Dimensional Traits shop**: Hidden until first prestige completes (22-24 min)
- **Narrative Fragments**: Hidden until player has 10 Shards (27+ min)
### Onboarding Flow Summary
The tutorial follows a **show-don't-tell** approach:
- **0-2 min**: Core loop only (Feed Doubt → watch growth → harvest Belief)
- **2-5 min**: Economic choices (Create Rumor, buy upgrades, manage collapse risk)
- **5-8 min**: Advanced systems (Synthesis Engine, Certainty conversion)
- **8-15 min**: Strategic depth (Paradox choice, Dissonance optimization)
- **15-22 min**: Endgame push (Reality Fracture, prestige trigger)
- **22-30 min**: Post-prestige (Paradigm choice, Dimensional Traits)
Each system is introduced **one at a time**, with 3-5 minutes of experimentation before the next layer appears. The player never feels overwhelmed because they master each layer before the next one reveals. Hidden UI elements (collapsed panels, greyed-out buttons) show that there's more to discover without cluttering the screen or confusing the player with options they can't use yet.
Psychology Review
# Psychology Review
## Review Summary
Echo Chamber demonstrates exceptional psychological design with strong foundations in agency, reveal speed, and competence building. The inverted mechanic (feeding Doubt makes rumors stronger but less believable) creates meaningful strategic depth, and the Cognitive Dissonance "dance with danger" brilliantly balances tension with player control. However, critical gaps exist in reward visibility (early-game Belief accumulation is invisible), near-miss frequency (cost curves may create 2-3 minute dead zones), and variable rewards (the game relies too heavily on predictable "numbers go up" without sufficient surprise or discovery elements). The prestige system is well-designed for loss aversion balance but needs stronger visual preview of what persists. Overall, this is a B+ design that needs targeted fixes in early-game feedback and reward variety to reach A-tier.
## Overall Score: 7/10
The design is ready for implementation with moderate fixes required. The core systems are psychologically sound, but specific issues in early-game visibility, mid-game pacing, and reward variety will impact engagement if unaddressed. Priority fixes should focus on making Belief accumulation visible immediately, adding variable reward moments, and tuning cost curves to maintain near-miss frequency.
## Principle Evaluations
### 1. Agency vs. Randomness
**Rating**: 8/10
**Status**: PASS
**Strengths**:
- Three distinct Paradox Upgrade paths (Liar's Paradox, Confirmation Loop, Truth Barrier) create fundamentally different playstyles (currencies.md lines 532-550)
- Reality Paradigm choice (Chaos Theory, Rationalism, Faith) provides permanent, build-defining mechanical changes (prestige.json lines 557-579)
- Evidence Diet system (Anecdote/Statistical Data/Expert Testimony) allows per-rumor strategic optimization (progression.md line 119)
- Skill tree with 24 nodes across 3 branches enables deep customization and meaningful specialization (skill-tree.json lines 85-278)
**Issues Found**:
- **ISSUE-1A** The game has ZERO random elements. Every mechanic is deterministic. While this maximizes agency, it eliminates "pleasant surprise" moments that create dopamine spikes through unexpected positive variance. Incremental games benefit from 20-30% controlled randomness (e.g., random bonus events, critical harvests, lucky Doubt spikes) to create emotional variety.
**Fix Recommendations**:
- **FIX-1A** Add a "Resonance Surge" random event that triggers every 3-5 minutes (Poisson distribution). When triggered, all rumors generate 2x Belief for 15 seconds. Visual: rumors pulse bright white. This creates unpredictability without breaking strategy—players know it CAN happen but not WHEN, creating anticipation. The 2x multiplier lasts 15 seconds, allowing players to harvest strategically during the window. This adds the 20-30% pleasant variance the design needs.
---
### 2. Reveal Speed
**Rating**: 7/10
**Status**: NEEDS WORK
**Strengths**:
- Progression.md provides excellent unlock sequence with new content every 1-2 minutes in early game (lines 18-109)
- The four-phase structure (Onboarding 0-1min, Expansion 1-5min, Complexity 5-15min, Mastery 15-30min) creates emotional escalation (progression.md lines 13-15)
- UI properly hides content until unlocked (skill tree until First Blood, Reality Fracture until 80% Dissonance, Dimensional Traits until first prestige) (ui-ux.json lines 190-226)
**Issues Found**:
- **ISSUE-2A** Dead zone at minutes 15-20. After Paradox Protocol milestone (15:00), the next major unlock is Reality Fracture panel at 17:00 and button unlock at 19:00 (progression.json lines 195-225). This is a 2-4 minute gap with only "button pulses faster" as content. Players may feel the game has revealed everything and they're just grinding for prestige.
- **ISSUE-2B** Potential overwhelm at minute 5-6 when THREE systems unlock simultaneously: Evidence Diet dropdowns (5:30), Dual Truths milestone (5:00), and Dissonance reaching 20% (progression.md lines 116-121). This could confuse players still mastering the basic two-rumor economy.
**Fix Recommendations**:
- **FIX-2A** Add a "Resonance Discovery" mini-milestone at 16:30 that occurs when the player runs 3 rumors simultaneously for 60 seconds. Reward: +25 Belief + unlock a temporary "Resonance Meter" showing how rumors amplify each other. This fills the 15-20 minute gap with a discovery moment that teaches the multi-rumor synergy mechanics before prestige.
- **FIX-2B** Stagger the unlocks: Move Evidence Diet dropdowns to 6:00 (instead of 5:30), keep Dual Truths at 5:00, but make the Dissonance 20% threshold purely informational (no new mechanic) at 5:30. This gives players 1 minute between each new system, preventing overwhelm.
---
### 3. Reward Visibility
**Rating**: 5/10
**Status**: NEEDS WORK
**Strengths**:
- Currency displays are ALWAYS visible in header (Doubt, Belief, Certainty, Shards) (ui-ux.json lines 142-184)
- Upgrade cards show "You have X / need Y" with color coding (red=can't afford, green=affordable) (ui-ux.json lines 497-535)
- Prestige preview panel shows exact Shard yield, breakdown, and affordable upgrades (prestige.json lines 512-541)
- Milestone progress visible (e.g., "First Blood: Harvested 0/1 Belief") (progression.md lines 108-124)
**Issues Found**:
- **ISSUE-3A** **CRITICAL**: Belief accumulation is INVISIBLE until the rumor reaches 10 Belief (harvest threshold). progression.md states "Harvest button appears on rumor, glows attractively" at 10 Belief (line 45), but there's no mention of visible accumulated Belief BEFORE this. A player starting at 0:20 (when Belief generation begins at 0.1/sec) sees NO visual feedback for 100 seconds (until 10 Belief accumulates). This is a catastrophic gap—players will think the game is broken.
- **ISSUE-3B** Near-miss indicators are missing. The design describes "almost there" feelings (progression.md line 219: "'Only 8 more Belief until I can afford Doubt Feed Efficiency!'"), but there's no UI specification for HOW the player sees this. ui-ux.json mentions "Upgrade cards show 'You have X / need Y'" (line 521), but not whether this is visible BEFORE the upgrade is affordable.
**Fix Recommendations**:
- **FIX-3A** **URGENT**: Add an "Accumulated Belief" ticker on each rumor card that appears IMMEDIATELY when Belief generation starts (at 0:20, 10% believability). Display: "Belief: 0.4 / 10.0" (current pool / harvest threshold). Show real-time updates (+0.1/sec ticker). This gives players constant feedback that their feeding is working. The harvest button can still only appear at 10 Belief, but the ACCUMULATION must be visible from 0.1. Without this, players will quit thinking the game is broken.
- **FIX-3B** Ensure ALL upgrade cards show their costs at all times, not just when affordable. ui-ux.json line 321 mentions "locked" cards show '???'—this is WRONG. Locked upgrades should show name, cost, and "You have X / need Y" in dimmed colors. Players must see the goal they're working toward. Example: "Doubt Feed Efficiency (Cost: 50 Belief) - You have 35 / need 50" in dimmed text. This creates the "almost there" feeling at all times.
---
### 4. Near-Miss Frequency
**Rating**: 6/10
**Status**: NEEDS WORK
**Strengths**:
- currencies.md provides specific upgrade costs (Doubt Feed Efficiency: 50 Belief at 2:00, Belief Harvest Bonus: 75 Belief at 3:00) (lines 504-516)
- progression.md describes "almost there" moments (line 219: "'Only 8 more Belief until I can afford Doubt Feed Efficiency!'")
- Prestige Shard multiplier creates near-miss tension: "Total Belief: 650 / 1000 for +1 Shard bonus" (prestige.json line 538)
**Issues Found**:
- **ISSUE-4A** The cost curve creates 2-3 minute dead zones. currencies.md line 169 states Belief upgrade costs scale at 1.5x-1.6x per level. This exponential scaling means gaps between affordable upgrades grow linearly while Belief generation (which slows as believability increases) grows sub-linearly. Example analysis: At minute 8, player has ~350 Belief (progression.md line 696). Synthesis Engine costs 200 Belief (affordable). NEXT major purchase is Paradox Upgrade at 10 Certainty, which requires ~1000 Doubt + 100 Belief conversion. This is a 5-7 minute gap with no intermediate goals.
- **ISSUE-4B** Early-game near-miss frequency is TOO HIGH (good), but mid-game (minutes 10-18) has TOO FEW near-misses. As rumors approach 100% believability, Belief generation crashes to near-zero (currencies.md line 172: "slows as rumors become more believable (approaching 0% at 100% believability)"). This creates a desert where NOTHING is affordable for 2-3 minutes.
**Fix Recommendations**:
- **FIX-4A** Add intermediate "micro-upgrades" between the current 1.5x-1.6x cost tiers. Insert 5 new Belief-cost upgrades at 30, 45, 60, 90, and 120 Belief:
- "Rumor Seed" (30 Belief): Create rumors 5% cheaper
- "Doubt Trickle Boost" (45 Belief): +0.2/sec passive Doubt
- "Early Harvest" (60 Belief): Harvest threshold reduced from 10 to 8 Belief
- "Belief Boost" (90 Belief): +10% Belief generation
- "Collapse Grace" (120 Belief): Rumors survive 5 seconds past 100% believability (grace period)
These create a ladder of affordable goals, ensuring there's always something 20-60 seconds away.
- **FIX-4B** Address the Belief generation crash by adding a "floor" mechanic: Even at 95%+ believability, rumors generate at least 0.05/sec Belief (current design: approaches 0). This prevents mid-game deserts where generation feels dead. Additionally, add "milestone Belief bonuses" at specific total Belief thresholds (every 500 total Belief generated, +25 Belief instant). This creates mini-goals during slow periods.
---
### 5. Variable Rewards
**Rating**: 4/10
**Status**: FAIL
**Strengths**:
- Three distinct build archetypes create variety across runs (Snowball, Weaver, Architect) (skill-tree.json lines 300-328)
- Evidence Diet choice adds moment-to-moment variety (Anecdote vs. Statistical vs. Expert) (progression.md line 119)
- New mechanics unlock at prestige (Time Loop, Recursive Prophecy rumor types) (prestige.json lines 309-326)
**Issues Found**:
- **ISSUE-5A** **CRITICAL**: The game has ZERO variable reward moments beyond "numbers go up." Every reward is FIXED-schedule: upgrades give exact bonuses, harvests give predictable amounts, milestones give static rewards. There are no surprise bonuses, no random events, no "wow that was lucky!" moments. psychology principles state that variable rewards (in timing, type, or magnitude) maintain excitement. This design is entirely deterministic.
- **ISSUE-5B** All milestones give ONLY currency bonuses. progression.md lines 350-406 list 8 milestones, and ALL rewards are "+X Belief" or "+X Neural Points." There are no mechanics unlocks, no visual changes, no "something new happens" moments. This creates monotony—every milestone feels the same.
- **ISSUE-5C** Prestige Shard yield is formulaic and predictable. prestige.json line 524: "shards = 1 + activeRumorCount + (dissonanceAbove90Timer >= 30 ? 1 : 0) + floor(totalBeliefGenerated/1000)". Players can calculate EXACTLY what they'll get. No surprise, no "wow I got more than expected!" moments.
**Fix Recommendations**:
- **FIX-5A** Add "Resonance Surge" random event (see ISSUE-1A fix) + add "Lucky Doubt" mechanic: Every 100 clicks on Feed Doubt, trigger a "Void Resonance" effect (5% chance per click, accumulates). Effect: Next 10 Doubt feeds are FREE (cost 0 instead of 5). Visual: Feed button glows bright purple. This creates variable reward timing (player doesn't know WHEN it will trigger) and magnitude (saving 50 Doubt is significant).
- **FIX-5B** Rework milestone rewards to include NON-CURRENCY rewards:
- First Blood (2:00): +5 Belief + UNLOCK: Rumor pulse animation
- Dual Truths (5:00): +10 Belief + UNLOCK: Dissonance meter changes color based on intensity
- Synthesis Discovery (8:00): +25 Belief + UNLOCK: Certainty currency + NEW MECHANIC (conversion)
- The Great Collapse (12:00): +15 Belief + UNLOCK: Collapse Protection + VISUAL: Screen shake effect on collapse
- Paradox Protocol (15:00): +50 Belief + UNLOCK: Paradox choice + VISUAL: Background hue shifts based on Paradox
Half of all milestones should unlock NEW BEHAVIORS/VISUALS, not just give numbers.
- **FIX-5C** Add a "Critical Shard" bonus to prestige: 10% chance to earn +1 extra Shard on fracture. Visual: Shards float up with golden sparkle effect instead of white. This creates anticipation—"will I get lucky this run?"—even if the base formula is predictable.
---
### 6. Loss Aversion Balance
**Rating**: 8/10
**Status**: PASS
**Strengths**:
- Prestige reset specification is EXCELLENT. prestige.md lines 107-223 provides complete breakdown of what resets (11 elements) vs. what persists (7 elements). The "KEEPS" list is reassuring: Shards, Paradigm, Paradox, Dimensional Traits, Narrative Fragments all persist.
- First prestige acceleration is well-tuned: Run 2 reaches Run 1's prestige point in 8 minutes vs. 22 minutes—2.75x faster (prestige.json lines 460-491). This is within the target "1/3 to 1/2" range (7.3 to 11 minutes).
- Prestige preview UI provides complete information: exact Shard yield, breakdown, affordable upgrades, estimated speedup (prestige.json lines 531-541).
**Issues Found**:
- **ISSUE-6A** The "RESETS" list in prestige.md lines 108-169 is thorough but MAY feel overwhelming. A new player reading "All rumors (lost), All Doubt (zeroed), All Belief (zeroed), All upgrades (reset), Rumor slots (reset to 1)" might feel like "I'm losing EVERYTHING." The preview UI (ui-ux.json lines 577-594) shows the resets section in RED text (#E74C3C), which reinforces the pain.
- **ISSUE-6B** No explicit "consolation prizes" for first-time prestige. prestige.md shows recommended first prestige purchases (lines 400-431), but doesn't mention whether the game GIVES the player anything for free to soften the blow. If I have 6 Shards after first prestige and spend them all, do I get anything for free to ensure Run 2 isn't a restart from zero?
**Fix Recommendations**:
- **FIX-6A** Improve the prestige preview UI's emotional framing. Instead of a stark "RESETS:" list in red, reframe as "WHAT YOU'RE INVESTING:" followed by "Your progress creates Shards, which permanently empower you." Make the "KEEPS" list FIRST and GREEN, then the "RESETS" list SECOND and smaller. Emphasize that this is a TRADE, not a loss. The current design has the right information but the wrong emotional order—it leads with pain ("you lose everything") instead of benefit ("you gain permanent power").
- **FIX-6B** Add a "First Prestige Bonus": After first Reality Fracture, the player immediately gains 25 Doubt + 10 Belief as a "starter kit" for Run 2. This is a ONE-TIME bonus that ensures Run 2 doesn't feel like starting from absolute zero. The bonus should be explained in the prestige preview: "First-time bonus: +25 Doubt +10 Belief to jumpstart your next run." This softens the loss aversion hit without breaking balance (25 Doubt = 5 free feeds, 10 Belief = half of first harvest threshold).
---
### 7. Competence Building
**Rating**: 9/10
**Status**: PASS
**Strengths**:
- EXCELLENT skill tree design with 24 nodes across 3 branches, each representing a cognitive technique that changes gameplay (skill-tree.json lines 9-11). Nodes like "Pattern Recognition" (see exact collapse timing) and "Risk Assessment" (collapse timers) are LITERALLY competence tools—they give players more information to make better decisions.
- Evidence Diet system teaches players to optimize per-rumor based on Dissonance tolerance and Belief needs (progression.md line 119). This is strategic depth that rewards learning.
- Build archetypes (Snowball, Weaver, Architect) are clearly defined with recommended node orders, playstyles, strengths, and weaknesses (skill-tree.json lines 300-328). A skilled player following "The Weaver" build will have noticeably different results than a naive player.
**Issues Found**:
- **ISSUE-7A** Minor: The UI may not adequately SUPPORT learning. ui-ux.json describes tooltips (lines 617-625), but there's no mention of tutorial tooltips that explain STRATEGY. Example: When Evidence Diet unlocks, the tooltip should explain "Statistical Data: Best for when you need Belief fast but Dissonance is low" not just "High Doubt cost, high Belief output." Current design provides information but not strategic guidance.
- **ISSUE-7B** The skill tree resets on prestige (skill-tree.json line 12: "resetsOnPrestige: true"). This means players can't build deep competence ACROSS runs—each run restarts their skill choices. This is intentional design (forces experimentation), but it reduces the "I'm getting better across multiple runs" feeling. Competence is run-specific, not player-accumulated.
**Fix Recommendations**:
- **FIX-7A** Add STRATEGY tooltips to Evidence Diet dropdowns. When hovering over "Statistical Data," show: "STRATEGY: Use when you need fast Belief and Dissonance is below 50%. Avoid if Dissonance is 70%+." When hovering over "Expert Testimony," show: "STRATEGY: Use for cascading bonuses with adjacent rumors. Best for 'The Weaver' build." This teaches players HOW to think strategically, not just WHAT the options do.
- **FIX-7B** Add a "Mastery Badge" system that persists across prestiges. After completing specific achievements (e.g., "Earn 10 Shards in a single run," "Reach 100% Dissonance without collapsing," "Complete The Weaver build"), the player earns a permanent badge displayed in the UI. Badges are purely cosmetic but signal competence. This gives players a sense of LONG-TERM skill accumulation, even though skill trees reset. Example badges: "Reality Surgeon" (earned 15+ Shards in one run), "Dissonance Dancer" (kept Dissonance above 90% for 2 minutes without fracturing), "Truth Architect" (unlocked all 3 Paradigms across runs).
---
## Cross-Cutting Issues
### Early-Game Visibility Crisis
- **Affects principles**: 3 (Reward Visibility)
- **Problem**: Belief accumulation is invisible until 10 Belief threshold (ISSUE-3A). Players will think the game is broken during the first 100 seconds of Belief generation.
- **Impact**: HIGH. Players will quit before minute 2, never seeing the rest of the design.
- **Recommendation**: Implement FIX-3A URGENTLY. Add visible "Accumulated Belief: 0.4 / 10.0" ticker on each rumor starting at 0:20. This is a critical UI fix, not a design change.
### Mid-Game Dead Zone
- **Affects principles**: 2 (Reveal Speed), 4 (Near-Miss Frequency)
- **Problem**: Minutes 15-20 have minimal new content (ISSUE-2A), and minutes 10-18 have near-miss deserts from Belief generation crash (ISSUE-4B).
- **Impact**: MEDIUM. Players may feel the game has "revealed everything" and lose motivation before reaching prestige.
- **Recommendation**: Combine FIX-2A (Resonance Discovery milestone at 16:30) + FIX-4A (micro-upgrades) + FIX-4B (Belief floor + milestone bonuses). These fill the content and pacing gaps.
### Deterministic Monotony
- **Affects principles**: 1 (Agency vs. Randomness), 5 (Variable Rewards)
- **Problem**: Game has ZERO random elements (ISSUE-1A) and all rewards are fixed-schedule (ISSUE-5A). Creates monotony—every playthrough feels the same.
- **Impact**: MEDIUM-HIGH. Lack of surprise reduces dopamine spikes. Game feels like "work" rather than "play."
- **Recommendation**: Implement FIX-1A (Resonance Surge random event) + FIX-5A (Lucky Doubt mechanic) + FIX-5C (Critical Shard bonus). These add 20-30% variance without breaking strategy.
### Loss Aversion Framing
- **Affects principles**: 6 (Loss Aversion Balance)
- **Problem**: Prestige preview UI leads with pain ("RESETS" in red) instead of benefit (ISSUE-6A).
- **Impact**: LOW-MEDIUM. Players may hesitate to prestige even when it's optimal, reducing session length.
- **Recommendation**: Implement FIX-6A (reframe preview UI to show "KEEPS" first in green, "RESETS" second in smaller text). This is a UI presentation fix, not a mechanic change.
---
## Missing Document Check
| Document | Status | Notes |
|----------|--------|-------|
| idea.md | Present | Complete game concept with all core mechanics |
| gdd/currencies.md | Present | **CRITICAL FILE** - Loaded as JSON (currencies.json). Complete currency system with 5 currencies, formulas, costs. |
| gdd/progression.md | Present | Loaded as both JSON (progression.json) and markdown (progression.md). Comprehensive unlock sequence, gates, milestones. |
| gdd/prestige.md | Present | **CRITICAL FILE** - Loaded as JSON (prestige.json). Complete prestige system with reset specification, upgrades, pacing. |
| gdd/skill-tree.md | Present | **CRITICAL FILE** - Loaded as JSON (skill-tree.json). Complete skill tree with 24 nodes, 3 branches, build archetypes. |
| gdd/ui-ux.md | Present | **CRITICAL FILE** - Loaded as JSON (ui-ux.json). Comprehensive UI/UX layout with component specifications, color palette, feedback systems. |
**Note**: All critical GDD files are present. The design is complete and implementation-ready from a documentation standpoint. The JSON format provides machine-readable specifications for all systems.
---
## Priority Fix List
| Priority | Issue ID | Fix | Effort | Impact |
|----------|----------|-----|--------|--------|
| 1 | ISSUE-3A | Add visible "Accumulated Belief" ticker on rumors starting at 0:20 (show "0.4 / 10.0" with real-time updates) | Low | HIGH |
| 2 | ISSUE-5A | Add "Resonance Surge" random event (triggers every 3-5 min, 2x Belief for 15 sec, white pulse visual) | Medium | HIGH |
| 3 | ISSUE-4A | Add 5 micro-upgrades at 30/45/60/90/120 Belief to create constant affordable goals | Low | MEDIUM |
| 4 | ISSUE-5B | Rework milestone rewards: 50% should be non-currency (mechanics unlocks, visual changes) | Medium | MEDIUM |
| 5 | ISSUE-3B | Ensure ALL upgrade cards show costs at all times (not just when affordable) in dimmed text | Low | MEDIUM |
| 6 | ISSUE-4B | Add Belief generation floor (0.05/sec minimum at 95%+ believability) + milestone Belief bonuses every 500 total Belief | Low | MEDIUM |
| 7 | ISSUE-6A | Reframe prestige preview UI: show "KEEPS" first in green, "RESETS" second in smaller text | Low | LOW-MEDIUM |
| 8 | ISSUE-2A | Add "Resonance Discovery" mini-milestone at 16:30 (run 3 rumors for 60 sec, +25 Belief, unlock Resonance Meter) | Low | LOW-MEDIUM |
| 9 | ISSUE-7A | Add STRATEGY tooltips to Evidence Diet dropdowns (teach WHEN to use each option, not just WHAT it does) | Low | LOW |
| 10 | ISSUE-7B | Add "Mastery Badge" system (cosmetic badges for achievements, persist across prestiges) | Medium | LOW |
---
## Implementation Notes for Phase 3
1. **URGENT**: Implement the "Accumulated Belief" ticker IMMEDIATELY. This is the single most critical fix. Without it, players will think the game is broken during the first 2 minutes. The ticker should show "Belief: 0.4 / 10.0" and update in real-time as Belief accumulates. Add it to the rumor card UI (ui-ux.json lines 252-307) as a prominent element.
2. **Cost Curve Tuning**: The Belief upgrade cost scaling (1.5x-1.6x per level) may create mid-game dead zones. Test the 8-minute mark (player has ~350 Belief, Synthesis Engine costs 200 Belief) and verify there's something affordable within 60 seconds. If not, add the micro-upgrades from FIX-4A. The goal: ALWAYS have something 20-60 seconds away.
3. **Random Event Implementation**: The "Resonance Surge" event (FIX-1A) should use a Poisson distribution for timing (mean = 4 minutes between events). When triggered, apply a 2x multiplier to `beliefPerSecond` for all rumors for 15 seconds. Visual: rumors pulse bright white (CSS animation). Add a toast: "RESONANCE SURGE! 2x Belief for 15 seconds!"
4. **Milestone Reward Variety**: When implementing milestones (progression.md lines 350-406), ensure half of them unlock non-currency content. For example:
- First Blood: Unlock harvest BUTTON (mechanic) + 5 Belief
- Dual Truths: Unlock Dissonance METER (UI element) + 10 Belief
- Synthesis Discovery: Unlock CONVERSION (new system) + 25 Belief
- The Great Collapse: Unlock COLLAPSE PROTECTION (new ability) + 15 Belief
- Paradox Protocol: Unlock PARADOX CHOICE (new system) + 50 Belief
This ensures milestones feel like "something new" not just "more numbers."
5. **Prestige Preview UI Order**: When implementing the prestige modal (ui-ux.json lines 578-594), structure it as:
- SECTION 1 (large, green): "YOU WILL EARN: X Shards (New total: Y)"
- SECTION 2 (medium, green): "KEEPS PERMANENTLY:" [list of 7 persisting elements]
- SECTION 3 (small, red): "RESETS TO INITIAL STATE:" [list of 11 resetting elements]
This emotional framing emphasizes gain over loss, reducing loss aversion.
6. **Skill Tree Reset Consideration**: The skill tree resets on prestige (skill-tree.json line 12). This is intentional design, but consider adding a "Quick Pick" feature that allows players to re-select their previous build with one click. This reduces decision paralysis on Run 2+ while maintaining the "fresh experiment" feeling.
7. **Balance Testing - Belief Generation**: The inverse Belief formula (`beliefPerSecond = baseRate * (1 - believability/100)`) approaches 0 as believability approaches 100%. Test the 9-11 minute window (first collapse scare) to ensure Belief generation doesn't feel dead. Add the floor mechanic (0.05/sec minimum at 95%+ believability) if players report "I'm stuck, nothing is happening."
8. **Tutorial Tooltips**: When implementing the Evidence Diet dropdowns (ui-ux.json lines 292-300), add STRATEGY tooltips:
- Anecdote: "STRATEGY: Low cost, low risk. Use when Doubt is scarce or Dissonance is high."
- Statistical Data: "STRATEGY: High payoff, medium risk. Use when you need fast Belief and Dissonance is below 50%."
- Expert Testimony: "STRATEGY: Cascading bonuses. Best for 'The Weaver' build with adjacent rumors."
These teach strategic thinking, not just mechanics.
9. **Dissonance Dance Balance**: The Dissonance mechanic (quadratic scaling: `0.5 * (n * (n-1) / 2)` per second) creates steep difficulty at 4-5 rumors. Test the 16-18 minute window to ensure players can keep Dissonance at 90-99% without accidental fracturing. If too difficult, add a "grace period" where hitting 100% doesn't immediately fracture—instead, give 5 seconds to click a "Cancel Fracture" button.
10. **Shard Formula Testing**: The Shard formula (`1 + activeRumorCount + (dissonanceAbove90Timer >= 30 ? 1 : 0) + floor(totalBeliefGenerated/1000)`) caps active rumors at 5. Test optimal prestige timing (20-25 minutes with 4 rumors) vs. hoarding (40+ minutes with 5 rumors). Ensure hoarding doesn't give >2x Shards (should be ~6-8 Shards at 25 min vs. ~10-12 Shards at 40 min). If hoarding is too rewarding, add diminishing returns: reduce the Belief bonus from `+1 per 1000` to `+1 per 1000, then +1 per 2000, then +1 per 3000` (increasing thresholds).
Skill Tree
{
"designDocument": {
"title": "Skill Tree for Echo Chamber",
"gameName": "Echo Chamber",
"version": "1.0",
"lastUpdated": "2026-02-06"
},
"overview": {
"summary": "The Neural Rewiring skill tree represents the Reality Architect's ability to reconfigure their own cognitive architecture to better manipulate belief systems. Each node represents a mental technique or cognitive hack that changes how rumors interact with doubt, belief, and dissonance. The tree is structured around three fundamental approaches to reality manipulation: Amplification (making rumors grow faster and generate more), Resonance (creating cascading effects between rumors), and Stabilization (managing danger and dissonance). Players earn Neural Points (NP) through milestones and can spend them during a run to customize their strategy. The tree resets on prestige, ensuring each run feels fresh and allowing players to experiment with different builds.",
"thematicConcept": "As a Reality Architect, you're not just spreading rumors—you're rewiring your own neural pathways to become more effective at belief manipulation. Each skill node represents a cognitive breakthrough: Pattern Recognition lets you predict rumor collapse, Cognitive Reframing allows you to convert doubt into opportunity, and Memetic Amplification enables your rumors to infect minds more efficiently. The tree metaphor is literal—your skills branch outward like neural dendrites, creating interconnected pathways of thought. When you prestige (Reality Fracture), your neural pathways reset—each new reality requires learning new cognitive hacks. This thematic integration makes the skill tree feel organic to the game's central metaphor: belief shapes reality, and your mind shapes belief.",
"currencyUsed": "Neural Points (NP) - earned during each run through milestones and achievements",
"resetsOnPrestige": true,
"totalNodes": 24,
"branches": 3,
"branchThemes": [
{
"branch": "Amplification",
"theme": "Raw power and generation speed. Makes rumors grow faster, generate more Belief, and convert Doubt more efficiently. The 'aggressive expansion' build.",
"archetype": "The Accelerator"
},
{
"branch": "Resonance",
"theme": "Synergistic effects between rumors. Creates cascading bonuses, multi-rumor combos, and explosive Belief bursts. The 'combo-oriented' build.",
"archetype": "The Weaver"
},
{
"branch": "Stabilization",
"theme": "Risk management and dissonance control. Slows collapse, reduces dissonance, and creates safety nets. The 'safe, consistent' build.",
"archetype": "The Stabilizer"
}
]
},
"resetBehavior": {
"resetsOnPrestige": true,
"currencyUsed": "Neural Points (NP)",
"pointsPerRun": {
"description": "Players earn Neural Points through specific milestones during a run. The total NP available per run is 18-20, but players can only afford 40-70% of the tree (8-12 nodes) before prestige becomes optimal.",
"sources": [
{
"source": "First Blood Milestone",
"npEarned": 2,
"trigger": "Harvest Belief from a rumor for the first time",
"unlockedAt": "1-2 minutes"
},
{
"source": "Dual Truths Milestone",
"npEarned": 3,
"trigger": "Create a second rumor",
"unlockedAt": "5 minutes"
},
{
"source": "Synthesis Discovery Milestone",
"npEarned": 3,
"trigger": "Purchase Synthesis Engine",
"unlockedAt": "8 minutes"
},
{
"source": "The Great Collapse Milestone",
"npEarned": 2,
"trigger": "Experience a rumor collapse",
"unlockedAt": "10-12 minutes"
},
{
"source": "Paradox Protocol Milestone",
"npEarned": 4,
"trigger": "Choose a Paradox Upgrade",
"unlockedAt": "15 minutes"
},
{
"source": "Reality Fracture Milestone",
"npEarned": 4,
"trigger": "Reach 100% Cognitive Dissonance (unlock prestige)",
"unlockedAt": "20-22 minutes"
}
],
"totalPerRun": 18,
"notes": "NP is awarded immediately upon milestone completion. Players can spend NP as soon as they earn it—the skill tree unlocks after the First Blood milestone (2 NP earned)."
},
"nodesAffordablePerRun": {
"average": "8-10 nodes per run",
"percentageOfTree": "40-45%",
"reasoning": "Players can earn ~18 NP per run. Tier 1 nodes cost 2-3 NP, Tier 2 nodes cost 4-5 NP, Tier 3 nodes cost 6-7 NP, Capstones cost 8 NP. A typical run affords: 3-4 Tier 1 nodes (8-10 NP) + 2 Tier 2 nodes (8-10 NP) + 0-1 Tier 3 node (0-6 NP) = 8-11 nodes total. This is ~40-45% of the 24-node tree, forcing real choices and ensuring multiple runs are needed to explore the full tree."
}
},
"branchLayout": {
"branch1": {
"name": "Amplification",
"theme": "Raw power and generation speed",
"philosophy": "The Amplification branch supports an aggressive expansion playstyle. Players investing here prioritize rapid Belief generation, fast rumor growth, and efficient Doubt conversion. This is the 'snowball' build—invest early, generate fast, push milestones quickly. The fantasy is being a memetic accelerations, someone who can take a small rumor and explode it into reality-warping power in seconds. Amplification players don't care about risk management—they care about velocity.",
"capstoneNode": "Memetic Singularity - When a rumor reaches 80% believability, it generates Belief 5x faster for 5 seconds, then collapses. High-risk, massive reward.",
"nodes": [
{
"name": "Doubt Optimization",
"tier": 1,
"cost": 2,
"effect": "Each Doubt feed increases rumor size by +15% instead of baseline",
"formula": "rumor.sizeMultiplier += 0.15 (additive with base)",
"prerequisites": "None (root node)"
},
{
"name": "Belief Acceleration",
"tier": 1,
"cost": 3,
"effect": "Belief generation +25% faster from all rumors",
"formula": "beliefPerSecond *= 1.25",
"prerequisites": "None (root node)"
},
{
"name": "Efficient Synthesis",
"tier": 2,
"cost": 4,
"effect": "Synthesis Engine conversion costs 8 Doubt + 1 Belief instead of 10 Doubt + 1 Belief",
"formula": "synthesisEngine.doubtCost = 8 (baseline 10)",
"prerequisites": "Doubt Optimization"
},
{
"name": "Rapid Growth",
"tier": 2,
"cost": 5,
"effect": "Rumors gain believability 30% faster (riskier but faster cycles)",
"formula": "rumor.believabilityGainPerSecond *= 1.3",
"prerequisites": "Belief Acceleration"
},
{
"name": "Harvest Multiplier",
"tier": 2,
"cost": 4,
"effect": "Harvests yield +20% more Belief",
"formula": "harvestedBelief *= 1.20",
"prerequisites": "Doubt Optimization OR Belief Acceleration"
},
{
"name": "Breakthrough Learning",
"tier": 3,
"cost": 6,
"effect": "Milestones award +1 extra Neural Point each",
"formula": "milestoneNP += 1 (applies to future milestones)",
"prerequisites": "Efficient Synthesis + Rapid Growth"
},
{
"name": "Memetic Singularity",
"tier": "Capstone",
"cost": 8,
"effect": "When a rumor reaches 80% believability, it generates Belief 5x faster for 5 seconds, then collapses. Can be timed for massive bursts.",
"formula": "if (rumor.believability >= 80 && !memeticSingularityTriggered) { beliefPerSecond *= 5; setTimeout(5000, () => rumor.collapse()); memeticSingularityTriggered = true; }",
"prerequisites": "Breakthrough Learning + Harvest Multiplier"
}
]
},
"branch2": {
"name": "Resonance",
"theme": "Synergistic effects between rumors",
"philosophy": "The Resonance branch supports a combo-oriented playstyle where players build networks of rumors that amplify each other. This is the 'weaver' build—create connections, set up cascades, harvest in waves. The fantasy is being a pattern recognizer, someone who sees how rumors feed into each other and creates self-reinforcing loops of belief. Resonance players don't care about raw generation speed—they care about setup and payoff, building intricate networks that explode in synchronized bursts.",
"capstoneNode": "Cascade Protocol - When ANY rumor harvests, all other rumors gain +50% of that harvest amount instantly. Creates chain-reaction harvest strategies.",
"nodes": [
{
"name": "Rumor Networking",
"tier": 1,
"cost": 2,
"effect": "Adjacent rumors (in slot order) generate +10% Belief when both are active",
"formula": "if (rumor.slot === 1 && rumor2.slot === 2) { beliefPerSecond *= 1.1; }",
"prerequisites": "None (root node)"
},
{
"name": "Harvest Echo",
"tier": 1,
"cost": 3,
"effect": "When a rumor harvests, adjacent rumors gain +20% of the harvest amount to their accumulated pool",
"formula": "onHarvest: adjacentRumors.forEach(r => r.accumulatedBelief += harvestedAmount * 0.20);",
"prerequisites": "None (root node)"
},
{
"name": "Synergistic Feeding",
"tier": 2,
"cost": 4,
"effect": "Feeding Doubt to one rumor reduces believability of ALL rumors by 1% (spread effect)",
"formula": "onFeedDoubt: allRumors.forEach(r => r.believability = max(0, r.believability - 1));",
"prerequisites": "Rumor Networking"
},
{
"name": "Resonance Cascade",
"tier": 2,
"cost": 5,
"effect": "When 3+ rumors are active, all rumors generate +15% Belief",
"formula": "if (activeRumorCount >= 3) { beliefPerSecond *= 1.15; }",
"prerequisites": "Harvest Echo"
},
{
"name": "Dissonant Harmony",
"tier": 2,
"cost": 4,
"effect": "Cognitive Dissonance builds 20% slower when running 4+ rumors (encourages many-rumor strategies)",
"formula": "if (activeRumorCount >= 4) { dissonancePerSecond *= 0.8; }",
"prerequisites": "Rumor Networking OR Harvest Echo"
},
{
"name": "Pattern Recognition",
"tier": 3,
"cost": 6,
"effect": "Gain +1 Neural Point for every 3 rumors created (cumulative across run)",
"formula": "if (rumorsCreated % 3 === 0) { neuralPoints += 1; }",
"prerequisites": "Synergistic Feeding + Resonance Cascade"
},
{
"name": "Cascade Protocol",
"tier": "Capstone",
"cost": 8,
"effect": "When ANY rumor harvests, all other rumors gain +50% of that harvest amount instantly. Creates chain-reaction harvest strategies where players sync harvests for massive gains.",
"formula": "onHarvest: allOtherRumors.forEach(r => r.accumulatedBelief += harvestedAmount * 0.50);",
"prerequisites": "Pattern Recognition + Dissonant Harmony"
}
]
},
"branch3": {
"name": "Stabilization",
"theme": "Risk management and dissonance control",
"philosophy": "The Stabilization branch supports a safe, consistent playstyle where players minimize risk and maximize predictability. This is the 'architect' build—build slowly, protect investments, avoid collapse. The fantasy is being a careful planner, someone who treats reality manipulation like engineering: measure twice, cut once, never lose a rumor to carelessness. Stabilization players don't care about speed or bursts—they care about consistency and control, building a sustainable rumor mill that never crashes.",
"capstoneNode": "Reality Anchor - One rumor per run is immune to collapse. Instead of collapsing at 100% believability, it stays at 99% and generates Belief at maximum rate. Requires marking the rumor as 'anchored' (one-time choice per run).",
"nodes": [
{
"name": "Collapse Prevention",
"tier": 1,
"cost": 2,
"effect": "Rumors give warning at 85% believability (instead of 90%) and collapse 20% slower",
"formula": "collapseWarningThreshold = 85; rumor.believabilityGainPerSecond *= 0.8;",
"prerequisites": "None (root node)"
},
{
"name": "Dissonance Dampening",
"tier": 1,
"cost": 3,
"effect": "Cognitive Dissonance builds 25% slower",
"formula": "dissonancePerSecond *= 0.75;",
"prerequisites": "None (root node)"
},
{
"name": "Protective Measures",
"tier": 2,
"cost": 4,
"effect": "Collapse Protection (at Synthesis Engine) costs 30% less Belief",
"formula": "collapseProtection.beliefCost *= 0.70;",
"prerequisites": "Collapse Prevention"
},
{
"name": "Doubt Recycling",
"tier": 2,
"cost": 5,
"effect": "Rumor collapse salvages 20% of fed Doubt (instead of 10%)",
"formula": "salvagedDoubt = rumor.totalFedDoubt * 0.20 (baseline 0.10);",
"prerequisites": "Dissonance Dampening"
},
{
"name": "Steady State",
"tier": 2,
"cost": 4,
"effect": "Rumors generate Belief at 50% normal rate even at 95% believability (reduces collapse risk penalty)",
"formula": "if (rumor.believability >= 95) { beliefPerSecond = baseRate * 0.50; } (baseline would be near 0);",
"prerequisites": "Collapse Prevention OR Dissonance Dampening"
},
{
"name": "Risk Assessment",
"tier": 3,
"cost": 6,
"effect": "See exact time-until-collapse for each rumor (display: 'Collapse in 23 seconds')",
"formula": "collapseTimer = ceil((100 - rumor.believability) / rumor.believabilityGainPerSecond); (display only, no mechanical effect)",
"prerequisites": "Protective Measures + Doubt Recycling"
},
{
"name": "Reality Anchor",
"tier": "Capstone",
"cost": 8,
"effect": "One rumor per run is immune to collapse. Instead of collapsing at 100% believability, it stays at 99% and generates Belief at maximum rate. Player chooses which rumor to 'anchor' (one-time choice per run, irreversible).",
"formula": "if (rumor.isAnchored && rumor.believability >= 100) { rumor.believability = 99; beliefPerSecond = maxRate; }",
"prerequisites": "Risk Assessment + Steady State"
}
]
}
},
"crossBranchNodes": {
"description": "Cross-branch nodes require points in multiple branches, rewarding balanced investment and creating powerful synergies for players who diversify.",
"nodes": [
{
"name": "Tri-Fold Harmony",
"cost": 7,
"requirements": "3 points in Amplification + 3 points in Resonance + 3 points in Stabilization (minimum, not counting capstones)",
"effect": "Gain +2 Neural Points immediately. Additionally, all skill nodes cost 1 less NP (minimum cost 1).",
"formula": "neuralPoints += 2; allNodeCosts = max(1, baseCost - 1);",
"whyItsPowerful": "This is the 'jack of all trades' reward. Diversifying early slows down specialization, but this node makes up for it with a permanent NP boost and cost reduction that compounds across all future purchases. Players who invest broadly unlock faster node purchasing and can afford more total nodes per run."
},
{
"name": "Paradox Symbiosis",
"cost": 6,
"requirements": "5 points in any two branches (player's choice)",
"effect": "Your chosen Paradox Upgrade (from pre-prestige) is 50% more effective. For Liar's Paradox: Doubt generation becomes 0.75/sec/rumor (instead of 0.5). For Confirmation Loop: Collapse speed is 1.5x faster (instead of 2x). For Truth Barrier: Dissonance builds 65% slower (instead of 50%).",
"formula": "paradoxEffectiveness *= 1.5; (applied to Paradox-specific formulas)",
"whyItsPowerful": "This synergizes with the existing Paradox system from idea.md. Players who commit to a Paradox build can double down by diversifying into two branches and unlocking this node. It creates build-defining power: Liar's Paradox + Resonance + Amplification = insane Doubt snowball. Truth Barrier + Stabilization + Resonance = ultra-safe multi-rumor strategy."
}
]
},
"buildArchetypes": {
"build1": {
"name": "The Snowball",
"focusBranches": "Amplification (primary) + Resonance (secondary)",
"keyNodes": "Belief Acceleration → Rapid Growth → Breakthrough Learning → Memetic Singularity (Amplification capstone) + Rumor Networking → Resonance Cascade (Resonance partial)",
"playstyle": "Front-load investments into generation speed and rumor growth. Use Belief Acceleration and Rapid Growth to hit milestones fast. Build toward Memetic Singularity capstone, then deliberately trigger the 80% believability burst for massive Belief gains. Use Resonance nodes to run 3-4 rumors simultaneously, amplifying the burst effect across multiple rumors.",
"strengths": "Incredibly fast milestone clearing. Belief generation outpaces spending early-mid game. Memetic Singularity creates explosive harvest windows. Strong for first prestige timing.",
"weaknesses": "High collapse risk from Rapid Growth (rumors gain believability 30% faster). No safety nets—single collapse ruins momentum. Dissonance management difficult with many rumors. Reliant on hitting Memetic Singularity before collapse.",
"recommendedNodeOrder": "1. Belief Acceleration (3 NP) - immediate generation boost. 2. Doubt Optimization (2 NP) - fuel faster feeding. 3. Rapid Growth (5 NP) - accelerate toward capstone. 4. Rumor Networking (2 NP) - unlock multi-rumor synergy. 5. Resonance Cascade (5 NP) - boost all rumors. 6. Efficient Synthesis (4 NP) - convert currencies faster. 7. Breakthrough Learning (6 NP) - earn more NP. 8. Memetic Singularity (8 NP) - capstone explosive power. Total: 35 NP (requires two milestones before affordable)."
},
"build2": {
"name": "The Weaver",
"focusBranches": "Resonance (primary) + Stabilization (secondary)",
"keyNodes": "Rumor Networking → Harvest Echo → Synergistic Feeding → Pattern Recognition → Cascade Protocol (Resonance capstone) + Dissonance Dampening → Dissonant Harmony (Stabilization partial)",
"playstyle": "Build a network of 4-5 rumors that feed each other. Use Harvest Echo and Synergistic Feeding to create cascading effects—when one rumor harvests, adjacent rumors gain free Belief. When feeding Doubt, all rumors benefit from reduced believability. Build toward Cascade Protocol capstone, then synchronize harvests across all rumors for chain-reaction gains. Use Stabilization nodes to manage Dissonance from running many rumors.",
"strengths": "Scales amazingly with rumor count. 5 rumors + Cascade Protocol = every harvest is quintupled. Dissonant Harmony makes running 5 rumors safe. Synergistic Feeding reduces collapse risk across all rumors. Very consistent late-game.",
"weaknesses": "Slow start—needs 3+ rumors to shine. Expensive upfront (many rumors require many rumor slots). NP-intensive (6-8 nodes to unlock power). Weak if rumors collapse before network built. Reliant on synchronized harvest timing.",
"recommendedNodeOrder": "1. Rumor Networking (2 NP) - unlock synergy early. 2. Dissonance Dampening (3 NP) - prepare for many rumors. 3. Harvest Echo (3 NP) - enable cascades. 4. Dissonant Harmony (4 NP) - make 4+ rumors safe. 5. Synergistic Feeding (4 NP) - spread feeding effects. 6. Resonance Cascade (5 NP) - boost all rumors. 7. Pattern Recognition (6 NP) - earn NP from rumors. 8. Cascade Protocol (8 NP) - capstone chain reaction. Total: 35 NP (front-loaded, requires early NP discipline)."
},
"build3": {
"name": "The Architect",
"focusBranches": "Stabilization (primary) + Amplification (secondary)",
"keyNodes": "Dissonance Dampening → Doubt Recycling → Risk Assessment → Reality Anchor (Stabilization capstone) + Doubt Optimization → Harvest Multiplier → Efficient Synthesis (Amplification partial)",
"playstyle": "Play the long game. Use Stabilization nodes to eliminate collapse risk and minimize Dissonance. Build toward Reality Anchor capstone, then mark one rumor as 'anchored'—it will never collapse and generates max Belief at 99% believability. Use Amplification nodes to boost efficiency without increasing risk. This build doesn't have explosive moments—it has relentless, predictable generation that never stops.",
"strengths": "Zero collapse risk (Reality Anchor + Collapse Prevention). Dissonance is trivial to manage (Dissonance Dampening). Consistent Belief generation (no restarts from collapses). Doubt Recycling makes collapses profitable instead of punishing. Can push runs to 40+ minutes safely.",
"weaknesses": "Slowest generation speed (no burst mechanics). NP-heavy (7 nodes to capstone). Boring playstyle (no exciting moments, just steady grinding). Weak for first prestige (slow milestone clearing). Requires patience—this is a 'third run or later' build.",
"recommendedNodeOrder": "1. Dissonance Dampening (3 NP) - immediate safety. 2. Collapse Prevention (2 NP) - early warning system. 3. Doubt Optimization (2 NP) - efficiency without risk. 4. Doubt Recycling (5 NP) - make collapses profitable. 5. Steady State (4 NP) - reduce collapse penalty. 6. Harvest Multiplier (4 NP) - boost gains. 7. Risk Assessment (6 NP) - predict collapse timing. 8. Reality Anchor (8 NP) - capstone immortality. Total: 34 NP (sustainable, earns NP steadily from safe play)."
}
},
"synergies": {
"designedSynergies": [
{
"synergyName": "The Harmonic Cascade",
"nodesRequired": "Resonance Cascade (Resonance) + Memetic Singularity (Amplification) + Dissonant Harmony (Stabilization)",
"combinedEffect": "Run 5 rumors safely (Dissonant Harmony) → All gain +15% Belief (Resonance Cascade) → Trigger Memetic Singularity on all rumors simultaneously → 5x Belief generation on 5 rumors at 80% believability → Massive synchronized burst before collapses.",
"whyItsStrong": "This is the 'endgame spike' combo. Individually, each node is good. Together, they create a window where the player can generate 25x normal Belief (5 rumors × 5x from Memetic Singularity) for 5 seconds. Skilled players time harvests to hit during this window, creating the single most powerful moment in the game. It requires setup (5 rumors, 80% believability on all) and timing (trigger all Singularities within 5 seconds), but the payoff is enormous. This combo defines the 'high-skill ceiling' of Echo Chamber."
},
{
"synergyName": "The Perpetual Engine",
"nodesRequired": "Reality Anchor (Stabilization capstone) + Cascade Protocol (Resonance capstone) + Harvest Multiplier (Amplification)",
"combinedEffect": "Mark one rumor as Reality Anchor (immune to collapse, generates at 99% believability) → Build accumulated Belief → Harvest → Cascade Protocol triggers: all other rumors gain +50% of harvest → Harvest Multiplier adds +20% → All other rumors now have huge accumulated pools → Harvest them → Cascade triggers again → Chain reaction of harvests with the anchored rumor as the engine.",
"whyItsStrong": "This is the 'late-game snowball' combo. The anchored rumor generates Belief indefinitely without collapse risk. Each harvest from it triggers Cascade Protocol, fueling all other rumors. Players cycle through all rumors, harvesting one after another, with each harvest amplifying the next. Combined with Harvest Multiplier, this creates exponential growth: 1 harvest → 5 rumors get +50% (+20% multiplier) → harvest those → 4 rumors get +70% → repeat. This combo turns the late game into a harvest optimization puzzle, rewarding players who can sync their timing."
},
{
"synergyName": "The Tri-Fold Master",
"nodesRequired": "Tri-Fold Harmony (cross-branch) + Paradox Symbiosis (cross-branch) + 15 total nodes purchased (5 per branch)",
"combinedEffect": "Tri-Fold Harmony gives +2 NP and -1 cost on all nodes. Paradox Symbiosis makes Paradox 50% more effective. 15 nodes purchased means deep investment in all branches. Combined effect: Can afford 3-4 more nodes per run (from cost reduction), Paradox is supercharged, and player has tools from all three trees. This is the 'true mastery' build—jack of all trades, master of none, but overwhelmingly versatile.",
"whyItsStrong": "This synergy rewards generalist play instead of specialization. By investing in all branches, the player unlocks cross-branch nodes that pay dividends: Tri-Fold Harmony's cost reduction compounds (saving 1 NP on 10 nodes = 10 free NP = 5+ extra nodes). Paradox Symbiosis defines the build (e.g., Liar's Paradox + 50% effectiveness = 0.75 Doubt/sec/rumor = insane fuel). The 15 nodes requirement ensures player has tools for any situation: Amplification for speed, Resonance for combos, Stabilization for safety. This is the 'I've mastered every system' flex."
}
],
"antiSynergies": [
{
"conflict": "Memetic Singularity (Amplification capstone) vs. Risk Assessment (Stabilization)",
"nodes": "Memetic Singularity requires triggering collapses at 80% believability for burst effect. Risk Assessment shows exact collapse timers, making collapses predictable but removing the 'tension' that makes Memetic Singularity exciting.",
"whyTheyConflict": "Memetic Singularity is designed around high-tension collapses: reach 80%, burst for 5 seconds, collapse. The thrill comes from the risk. Risk Assessment removes the risk by showing 'Collapse in 4.3 seconds'—players optimize mechanically instead of feeling tension. This isn't a mechanical anti-synergy (both work together), but a design anti-synergy: they're aimed at different player fantasies (risk-seeker vs. risk-averse). Players who love one capstone will dislike the other. This forces meaningful choices: be the thrill-seeker OR be the safety-obsessed planner, not both."
},
{
"conflict": "Rapid Growth (Amplification) vs. Steady State (Stabilization)",
"nodes": "Rapid Growth makes rumors gain believability 30% faster (faster cycles, higher collapse risk). Steady State allows rumors to generate 50% Belief even at 95% believability (reducing collapse penalty, encouraging high-believability play).",
"whyTheyConflict": "Mechanically, these nodes pull in opposite directions. Rapid Growth wants rumors to cycle quickly: reach 80%+, harvest, collapse, restart. Steady State wants rumors to stay at high believability: reach 95%, stay there generating Belief, avoid harvest. A player with both nodes experiences a confused identity: 'Should I cycle fast or stay high?' The nodes don't cancel out, but they dilute each other's strategic clarity. This is intentional—player must choose: be the cycler OR be the high-believability sitter, not both. This anti-synergy forces build commitment."
}
]
},
"visualLayout": {
"treeRenderingGuide": "The skill tree is rendered as a horizontal neural network visualization. Three main branches (Amplification, Resonance, Stabilization) grow outward from left to right. Nodes are circular with icons representing their effects. Connection lines are drawn as neural dendrites—thin, branching lines that pulse when nodes are unlocked. Cross-branch nodes appear in the center, connected to all three main branches. The tree uses a dark purple background (#1a0b2e) with glowing connections in cyan (Amplification), magenta (Resonance), and gold (Stabilization). Locked nodes are dimmed with lock icons. Available nodes glow softly. Purchased nodes are bright solid colors with active connection lines.",
"visualRepresentation": "```\nNEURAL REWIRING TREE\n\n[Purchased Node: Bright solid color, connection lines lit]\n[Available Node: Glowing border, shows cost in green]\n[Locked Node: Dimmed, lock icon, shows cost in gray]\n[Cannot Afford: Shows cost in red, dimmed]\n\n [NP: 12/18] (Neural Points display)\n |\n AMPLIFICATION | RESONANCE | STABILIZATION\n (Cyan) | (Magenta) | (Gold)\n | | | | |\n +--[D1]----+----[R1]--+----[S1]--+ (Tier 1 root nodes)\n | [2NP] | [2NP] | [2NP] |\n +--[D2]----+----[R2]--+----[S2]--+\n | [3NP] | [3NP] | [3NP] |\n | | | |\n [D3] [R3] [S3] (Tier 2 nodes)\n [4NP] [4NP] [4NP]\n | | |\n [D4]--[X1]--[R4] [S4] (Tier 3 + Cross-branch)\n [5NP] [7NP] [5NP] [5NP]\n | | |\n [DC]--[X2]--[RC] [SC] (Capstones + Cross-branch)\n [8NP] [6NP] [8NP] [8NP]\n\nD = Doubt Optimization, D2 = Belief Acceleration, D3 = Efficient Synthesis\nD4 = Rapid Growth, DC = Memetic Singularity\nR = Rumor Networking, R2 = Harvest Echo, R3 = Synergistic Feeding\nR4 = Resonance Cascade, RC = Cascade Protocol\nS = Collapse Prevention, S2 = Dissonance Dampening, S3 = Protective Measures\nS4 = Doubt Recycling, SC = Reality Anchor\nX1 = Tri-Fold Harmony, X2 = Paradox Symbiosis\n```",
"nodeStates": {
"locked": {
"visual": "Dimmed circular node with lock icon overlay. Background color: dark gray (#2c2c2c). Icon: faint outline of node's effect icon. Cost displayed in gray text below node. No connection lines visible (or dotted gray lines from prerequisites). Tooltip shows: 'LOCKED - Requires [prerequisite node]'",
"interaction": "Not clickable. Hovering shows tooltip with prerequisites and node description (but no effect details until unlocked)."
},
"available": {
"visual": "Circular node with glowing border (color matches branch: cyan/magenta/gold). Background: dark with branch-colored glow. Icon: fully visible effect icon. Cost displayed in green text ('3 NP'). Pulsing animation (border glows brighter every 2 seconds). Connection lines from prerequisites are solid and lit. Tooltip shows: full node description, exact effect formula, cost, and 'Click to purchase'",
"interaction": "Clickable. On hover, node scales up 1.1x and glow intensifies. Click opens confirmation: 'Purchase [Node Name] for [Cost] NP?'"
},
"purchased": {
"visual": "Solid circular node filled with branch color (cyan/magenta/gold). Icon: bright white. Cost text replaced with checkmark. Constant soft glow (no pulsing). All connection lines to children are solid and lit. Tooltip shows: 'ACTIVE - [Node name]' with effect description.",
"interaction": "Not clickable (already purchased). Hovering shows tooltip with effect details and 'This node is active'."
},
"cannotAfford": {
"visual": "Circular node with red border (no glow). Background: dark gray. Icon: faint. Cost displayed in red text ('5 NP'). No pulsing. Connection lines from prerequisites are visible but dimmed. Tooltip shows: 'INSUFFICIENT NP - Need [Cost] NP, have [Current] NP'",
"interaction": "Not clickable. Hovering shows tooltip with node description (full details) but grayed out. Message: 'Earn more Neural Points from milestones to unlock this node.'"
}
},
"connectionLines": {
"inactive": {
"visual": "Dotted gray line (#444) connecting locked nodes. Line width: 2px. No animation. Shows the prerequisite relationship but indicates no active path.",
"usage": "Lines between locked nodes, or from purchased nodes to locked descendants (when player can't afford descendants yet)."
},
"active": {
"visual": "Solid bright line matching branch color (cyan/magenta/gold). Line width: 3px. Subtle pulse animation (line opacity oscillates 0.8 → 1.0 every 2 seconds). Shows active power flow from purchased nodes to their descendants.",
"usage": "Lines from purchased nodes to any descendant nodes (locked or available). Indicates the 'path of power'—nodes further down this branch are accessible because prerequisites are met."
},
"availablePath": {
"visual": "Solid white line (#FFF) with glow effect. Line width: 4px. Animated particles (small bright dots) flow from parent to child. Creates a 'current flowing' visual. Highlights the shortest path from purchased nodes to affordable nodes.",
"usage": "Lines from purchased nodes to currently-available (can afford) nodes. Draws player attention to next purchase options. Multiple available paths can be highlighted simultaneously."
}
}
},
"skillPointEconomy": {
"earningSkillPoints": {
"sources": [
{
"source": "First Blood Milestone",
"amount": 2,
"frequency": "Once per run",
"trigger": "Harvest Belief from a rumor for the first time",
"estimatedTime": "1-2 minutes"
},
{
"source": "Dual Truths Milestone",
"amount": 3,
"frequency": "Once per run",
"trigger": "Create a second rumor",
"estimatedTime": "5 minutes"
},
{
"source": "Synthesis Discovery Milestone",
"amount": 3,
"frequency": "Once per run",
"trigger": "Purchase Synthesis Engine (200 Belief)",
"estimatedTime": "8 minutes"
},
{
"source": "The Great Collapse Milestone",
"amount": 2,
"frequency": "Once per run",
"trigger": "Experience a rumor collapse",
"estimatedTime": "10-12 minutes"
},
{
"source": "Paradox Protocol Milestone",
"amount": 4,
"frequency": "Once per run",
"trigger": "Choose a Paradox Upgrade",
"estimatedTime": "15 minutes"
},
{
"source": "Reality Fracture Milestone",
"amount": 4,
"frequency": "Once per run",
"trigger": "Reach 100% Cognitive Dissonance",
"estimatedTime": "20-22 minutes"
}
],
"totalPerRun": 18,
"notes": "NP is awarded immediately upon milestone completion. The skill tree UI unlocks after First Blood (when player has 2 NP to spend). Players can spend NP as soon as they earn it—no waiting. This allows early specialization (e.g., spending 2 NP on Belief Acceleration immediately after First Blood accelerates the entire run)."
},
"costCurve": {
"tier1": {
"costPerNode": "2-3 NP",
"nodesInTier": 6,
"cumulativeToCompleteTier": "6 nodes × average 2.5 NP = ~15 NP to buy all Tier 1 nodes",
"notes": "Tier 1 nodes are root nodes in each branch. Players can typically afford 2-3 Tier 1 nodes immediately after First Blood + Dual Truths (5 NP total)."
},
"tier2": {
"costPerNode": "4-5 NP",
"nodesInTier": 9,
"cumulativeToCompleteTier": "9 nodes × average 4.5 NP = ~40 NP to buy all Tier 2 nodes",
"notes": "Tier 2 nodes require Tier 1 prerequisites. Players can typically afford 1-2 Tier 2 nodes after Synthesis Discovery (3 NP earned)."
},
"tier3": {
"costPerNode": "6-7 NP",
"nodesInTier": 3,
"cumulativeToCompleteTier": "3 nodes × average 6.5 NP = ~20 NP to buy all Tier 3 nodes",
"notes": "Tier 3 nodes require two Tier 2 prerequisites. Players can typically afford 0-1 Tier 3 nodes after Paradox Protocol (4 NP earned)."
},
"capstone": {
"costPerNode": "8 NP",
"nodesInTier": 3,
"cumulativeToCompleteTier": "3 nodes × 8 NP = 24 NP to buy all capstones",
"notes": "Capstones require Tier 3 + additional Tier 2 prerequisites. Players typically cannot afford a capstone until Reality Fracture (4 NP earned), and only if they've saved 15+ NP from earlier milestones."
},
"crossBranch": {
"costPerNode": "6-7 NP",
"nodesInTier": 2,
"cumulativeToCompleteTier": "2 nodes × average 6.5 NP = ~13 NP",
"notes": "Cross-branch nodes have branching prerequisites (e.g., '3 points in each branch'). Players typically unlock these in late game (after Paradox Protocol) when they've diversified."
},
"allNodes": {
"totalNodes": 24,
"grandTotalNP": "~85-90 NP to buy every node in the tree",
"notes": "Players earn ~18 NP per run. Cost reduction from Tri-Fold Harmony (-1 NP per node) reduces this to ~65-70 NP. It takes 4-5 runs to fully explore the tree if optimizing, or 6-8 runs if experimenting with different builds. This ensures long-term replayability."
}
},
"pointsAvailableVsTotalCost": {
"pointsEarnedPerRun": "~18 NP (from milestones)",
"totalCostOfAllNodes": "~85-90 NP",
"ratio": "18/88 = ~20%",
"playerCanAfford": "8-11 nodes per run (40-45% of tree)",
"runsToFullyExplore": "4-5 runs (optimizing for node count) or 6-8 runs (experimenting with builds)",
"meaning": "Players are forced to make meaningful choices each run. They can fully complete ONE branch (8 nodes in a branch) and dabble in a second, OR they can spread across all three branches and unlock cross-branch nodes. But they cannot max everything in a single run. This ensures each prestige feels distinct—'This run I'm playing The Snowball build' vs. 'This run I'm playing The Weaver build.'"
}
},
"edgeCases": {
"respec": {
"canPlayerResetSkillPoints": false,
"reasoning": "The skill tree resets on prestige (Reality Fracture), which is a full game reset. There's no mid-run respec because: (1) It would allow players to experiment risk-free, removing the weight of choices. (2) The thematic integration—Neural Rewiring represents cognitive changes that persist through a reality. You can't 'unlearn' a cognitive hack mid-run. (3) The tree is designed to be replayable across runs, not refundable within a run. Players who want to try different nodes simply prestige and start a new run with different build choices.",
"alternative": "Players can 'abandon' a run early (prestige with <100% Dissonance) if they hate their build, but this earns fewer Shards. This is the de facto respec—accepting suboptimal Shard yield to restart with new build."
},
"orphanedNodes": {
"whatHappens": "If a player has a node whose prerequisite was refunded (impossible with current design—no refunds exist), the node remains active. There is no mechanic to remove purchased nodes.",
"handling": "N/A - Orphaned nodes cannot happen because nodes are never refunded. Once purchased, a node is permanent for that run. The only 'orphan' scenario would be a bug where prerequisite data is corrupted. In that case: Validate node dependencies on load. If a node has no valid path to root (no chain of purchased prerequisites), deactivate it and refund NP. Log error for debugging."
},
"overflow": {
"canPointsBeBanked": true,
"whatHappens": "Neural Points are a currency that accumulates. If a player has 20 NP but all remaining nodes cost 6+ NP, they can save NP for future milestones. There is no cap on NP—players can hoard 50+ NP if they complete all milestones and don't spend.",
"whyThisIsOkay": "NP hoarding is not game-breaking because: (1) There are only 18 NP available per run. Hoarding 50+ NP takes 3+ runs without spending, which means 3+ runs without build bonuses—suboptimal play. (2) Even with 50 NP, players can't buy everything (~90 NP for full tree). They still must choose. (3) NP resets on prestige, so hoarding doesn't persist across runs. (4) The fun of the skill tree is experimenting with builds, not maxing everything. Players who hoard miss the fun of using nodes.",
"maxNPScenario": "If a player completes all milestones (18 NP) and buys zero nodes, they have 18 NP saved. Next prestige, they start with 0 NP (reset). So maximum NP in a single run is 18. There is no cross-run accumulation. This prevents 'save up for 5 runs then buy everything' scenarios."
},
"nodePricingAffordability": {
"firstNodeAffordable": "Yes - Tier 1 nodes cost 2-3 NP, and First Blood awards 2 NP immediately. Players can buy a node within 2 minutes of starting.",
"earlyGameAffordability": "Generous - First 3 milestones award 2+3+3 = 8 NP by minute 8. This buys 2-3 Tier 1 nodes and 1 Tier 2 node. Players feel powerful early.",
"midGameAffordability": "Balanced - Milestones 4-5 award 2+4 = 6 NP by minute 15. This buys 1-2 Tier 2 nodes or 1 Tier 3 node. Players face meaningful choices.",
"lateGameAffordability": "Scarce - Final milestone awards 4 NP at minute 20. This is barely enough for half a Tier 3 node. Players must save NP throughout the run to afford capstones. Creates 'almost there' tension.",
"capstoneAccess": "Capstones cost 8 NP. To afford one, players must save NP from multiple milestones and avoid spending on Tier 1/2 nodes. This is intentional—capstones are build-defining commitments. Players who go for capstones sacrifice early/mid game power for late-game payoff. This is the 'investment vs. immediate gratification' tradeoff."
}
},
"qualityChecklist": {
"verified": [
"Total nodes are between 15-25 (actual: 24 nodes)",
"Player can only afford 40-70% of the tree per run (actual: 40-45% or 8-11 nodes)",
"There are at least 2 clearly different build archetypes with distinct playstyles (actual: 3 builds - Snowball, Weaver, Architect)",
"Each branch has a capstone node worth building toward (actual: Memetic Singularity, Cascade Protocol, Reality Anchor)",
"At least 2 cross-branch synergies are designed (actual: 2 cross-branch nodes + 3 multi-branch synergies described)",
"Every node has an exact effect formula (no 'improves production slightly' - all formulas are specific)",
"The visual layout guide is clear enough to render as HTML/CSS (horizontal neural network, circular nodes, glowing connections)",
"Node states (locked/available/purchased/cannot afford) are specified for the UI developer",
"The skill point economy math checks out (18 NP earned per run, ~90 NP total cost, 40-45% affordable per run)",
"The tree integrates with prestige - resets on Reality Fracture, uses per-run currency (Neural Points), complements permanent Shard upgrades"
],
"designPrinciplesMet": [
"Fewer meaningful nodes over many shallow ones: 24 total, each node provides a significant mechanical change (e.g., Belief Acceleration is +25% generation, not +2%).",
"Real branches, real tradeoffs: Each branch has a clear identity (Amplification = speed, Resonance = combos, Stabilization = safety). Players cannot max all branches—must specialize.",
"Build archetypes: 3 distinct builds with recommended node orders, playstyles, strengths, and weaknesses. Players can explain their strategy ('I'm playing The Snowball build').",
"Synergy hooks: Multi-node synergies (Harmonic Cascade, Perpetual Engine, Tri-Fold Master) reward planning and create 'aha' moments.",
"Prestige integration: Tree resets on prestige, uses per-run Neural Points, complements permanent Shard upgrades. Each run feels like a new experiment with builds."
]
}
}
Ui Ux
{
"designDocument": {
"title": "UI/UX Layout Design for Echo Chamber",
"gameName": "Echo Chamber",
"version": "1.0",
"lastUpdated": "2026-02-06"
},
"overview": {
"visualIdentity": "Echo Channel's interface embodies the 'Lovecraftian Excel spreadsheet' aesthetic - a dark, void-like environment where cosmic horror meets bureaucratic productivity. The visual language suggests you're operating reality-altering machinery from an interdimensional control room. Deep purples and void blacks create an oppressive atmosphere, while electric blues and neon greens provide the UI accents of an impossible technology. Amber/orange warnings cut through like emergency lights in a submarine. The interface feels both ancient (you're reshaping reality itself) and hyper-modern (you're doing it through a dashboard). Every pixel should suggest that you're tinkering with forces beyond mortal comprehension - but safely, efficiently, productively.",
"colorSchemeDescription": "Dark theme by default for extended play sessions. Background is deep void purple approaching black. UI panels are slightly lighter purple-grey with subtle borders. Active elements glow with electric blue (Doubt), bright blue (Belief), amber-orange (Certainty), and crimson (danger/Dissonance). White crystalline effects for Belief harvests create moments of visual relief. Text is light grey for body, white for emphasis. The overall impression is a high-contrast, information-dense command center that's easy on the eyes during long sessions.",
"feeling": "The interface should evoke three emotions: (1) POWER - you're directly manipulating reality through clicks and purchases. Numbers go up, rumors grow, belief crystallizes. (2) TENSION - Cognitive Dissonance is always climbing, creating a walking-on-eggshells feeling. (3) MYSTERY - the cosmic horror undertone suggests you're playing with forces you don't fully understand. The UI balances information density (you see everything important at once) with clarity (you know what to do next)."
},
"colorPalette": {
"backgrounds": [
{
"role": "Background (primary)",
"hex": "#1a0b2e",
"usage": "Main background - the void you're reshaping"
},
{
"role": "Background (secondary)",
"hex": "#2d1b4e",
"usage": "Panels, cards, tab containers"
},
{
"role": "Background (tertiary)",
"hex": "#3d2866",
"usage": "Hover states, active elements, highlighted panels"
},
{
"role": "Background (accent)",
"hex": "#4a3270",
"usage": "Button hover states, selected tab backgrounds"
}
],
"text": [
{
"role": "Text (primary)",
"hex": "#e8e8e8",
"usage": "Main text, labels, descriptions"
},
{
"role": "Text (secondary)",
"hex": "#b8b8b8",
"usage": "Secondary labels, tooltip text, muted information"
},
{
"role": "Text (muted)",
"hex": "#6b6b6b",
"usage": "Disabled buttons, locked items, unavailable options"
},
{
"role": "Text (inverted)",
"hex": "#1a0b2e",
"usage": "Text on bright buttons/glowing elements for contrast"
}
],
"accents": [
{
"role": "Accent 1 - Doubt",
"hex": "#9B59B6",
"usage": "Primary actions, Doubt currency displays, Doubt-related UI elements"
},
{
"role": "Accent 2 - Belief",
"hex": "#3498DB",
"usage": "Secondary actions, Belief currency displays, harvest buttons"
},
{
"role": "Accent 3 - Certainty",
"hex": "#F39C12",
"usage": "Tertiary currency, Synthesis Engine, Paradox upgrades"
},
{
"role": "Accent 4 - Dissonance",
"hex": "#E74C3C",
"usage": "Cognitive Dissonance meter, warnings, danger states"
},
{
"role": "Accent 5 - Prestige",
"hex": "#FFFFFF",
"usage": "Shards of Truth, Reality Fracture UI, crystalline effects"
}
],
"semantic": [
{
"role": "Success",
"hex": "#27AE60",
"usage": "Affordable purchases, completed milestones, positive feedback"
},
{
"role": "Warning",
"hex": "#F39C12",
"usage": "Almost affordable, collapse warnings, attention needed"
},
{
"role": "Danger",
"hex": "#E74C3C",
"usage": "Cannot afford, prestige reset warning, critical dissonance levels"
},
{
"role": "Prestige",
"hex": "#FFFFFF",
"usage": "Prestige currency, prestige UI elements, post-fracture effects"
}
]
},
"typography": {
"fontFamily": {
"primary": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
"notes": "Google Font 'Inter' for clean, modern, highly readable text. Falls back to system fonts."
},
"headings": {
"weight": "600 (semi-bold)",
"sizeRange": "18px - 24px",
"lineHeight": "1.3",
"usage": "Tab labels, section headers, panel titles"
},
"bodyText": {
"weight": "400 (normal)",
"size": "14px",
"lineHeight": "1.5",
"usage": "Descriptions, upgrade details, general text"
},
"numbersAndCurrencies": {
"font": "'JetBrains Mono', 'Fira Code', monospace",
"weight": "500 (medium)",
"notes": "Monospace font for currency displays ensures numbers align properly, especially with suffixes (K/M/B/T)."
},
"buttons": {
"font": "Same as body text",
"weight": "600 (semi-bold)",
"size": "14px - 16px",
"textTransform": "uppercase for primary actions, none for secondary"
}
},
"screenLayout": {
"masterLayout": {
"asciiArt": "```\n+----------------------------------------------------------+\n| [HEADER BAR - 60px height] |\n| Doubt: 1,234 (+12.3/s) Belief: 56.7 (+2.1/s) Shards: 5 |\n+----------+-----------------------------------------------+\n| | [MAIN CONTENT AREA - flexible height] |\n| [NAV] | |\n| [TABS] | [Tab Content] |\n| 200px | |\n| wide | |\n| | |\n| +-----------------------------------------------+\n| | [BOTTOM BAR - 40px height] |\n| | Dissonance: 67% | Milestone: First Blood |\n+----------+-----------------------------------------------+\n\nOverall Grid:\n- Header: Fixed 60px height, always visible\n- Left Nav: Fixed 200px width, scrollable tabs\n- Main Content: Flexible, fills remaining space\n- Bottom Bar: Fixed 40px height, always visible\n- Minimum viewport: 1280x720\n```",
"gridSystem": "CSS Grid layout with 4 rows: [60px auto 1fr 40px]. Columns: [200px 1fr]. Header spans full width. Nav spans left column. Main content spans right column (row 2-3). Bottom bar spans full width."
},
"headerBar": {
"description": "Always-visible top bar displaying essential currencies and rates. Never hidden behind tabs.",
"height": "60px",
"backgroundColor": "#2d1b4e",
"borderBottom": "2px solid #3d2866",
"elements": [
{
"element": "Doubt display (left)",
"position": "Flex-start, 20px left margin",
"content": "[Purple icon] Doubt: 1,234 (+12.3/s)",
"behavior": "Number animates on change (count-up 300ms). Rate in smaller grey text. Glows briefly when Doubt earned.",
"icon": "Question mark circle icon in #9B59B6"
},
{
"element": "Belief display (center-left)",
"position": "20px from Doubt display",
"content": "[Blue crystal icon] Belief: 56.7 (+2.1/s)",
"behavior": "Number animates on change. Rate in smaller grey text. Glows bright blue when Belief earned.",
"icon": "Crystal icon in #3498DB"
},
{
"element": "Certainty display (center-right)",
"position": "20px from Belief display, appears when unlocked",
"content": "[Amber shield icon] Certainty: 5",
"behavior": "Hidden until Synthesis Engine unlocked. Slides in when unlocked. Number animates.",
"icon": "Shield icon in #F39C12"
},
{
"element": "Shards of Truth display (right)",
"position": "20px right margin, always visible once earned",
"content": "[White shard icon] Shards: 5",
"behavior": "Always visible (prestige currency). Crystalline glow effect. Number animates with burst effect on prestige.",
"icon": "Diamond/shard icon in #FFFFFF with glow"
},
{
"element": "Settings button (far right)",
"position": "20px from Shards display",
"content": "[Gear icon]",
"behavior": "Opens settings modal. Hover: rotates gear icon.",
"icon": "Gear icon in #b8b8b8"
}
]
},
"navigationTabBar": {
"description": "Left sidebar with vertically stacked tabs. Tabs appear progressively as systems unlock.",
"width": "200px",
"backgroundColor": "#1a0b2e",
"borderRight": "2px solid #3d2866",
"tabs": [
{
"tab": "Rumors",
"iconLabel": "◉ Rumors",
"unlockedAt": "Game start (always visible)",
"content": "Main rumor management panel. Shows all active rumors with Feed Doubt buttons, believability bars, harvest buttons, and evidence diet controls."
},
{
"tab": "Upgrades",
"iconLabel": "⬠ Upgrades",
"unlockedAt": "First Blood milestone (harvest Belief for first time, ~2 min)",
"content": "Upgrade shop with Doubt Feed Efficiency, Belief Harvest Bonus, and other Belief-cost upgrades. Greyed out before unlock, pulses when unlocked."
},
{
"tab": "Synthesis",
"iconLabel": "⬡ Synthesis",
"unlockedAt": "Synthesis Discovery milestone (purchase Synthesis Engine for 200 Belief, ~8 min)",
"content": "Currency conversion panel (10 Doubt + 1 Belief → 1 Certainty), Collapse Protection, Paradox Upgrade options."
},
{
"tab": "Neural Tree",
"iconLabel": "✶ Neural",
"unlockedAt": "First Blood milestone (2 NP earned, can start spending)",
"content": "Skill tree interface for Neural Points. Shows Amplification, Resonance, Stabilization branches with nodes, connections, and costs."
},
{
"tab": "Dimensional Traits",
"iconLabel": "◆ Traits",
"unlockedAt": "First Reality Fracture completed (first prestige, ~22-25 min)",
"content": "Prestige upgrades shop. Spend Shards on multipliers, Paradigm upgrades, new rumor types, narrative fragments."
},
{
"tab": "The Truth",
"iconLabel": "✧ Truth",
"unlockedAt": "Purchase first Narrative Fragment (10 Shards, ~27 min)",
"content": "Story viewer. Read unlocked story fragments revealing WHY you're reshaping reality."
}
],
"tabAppearance": {
"locked": {
"visual": "Dimmed with lock icon overlay. Tab text: '???' or blurred. Background: #1a0b2e. No hover effect.",
"behavior": "Not clickable. Tooltip: 'Locked - unlock through gameplay progression.'",
"unlockAnimation": "When unlocked, tab flashes bright with glow effect, lock icon fades out, real text fades in. Takes 500ms."
},
"available": {
"visual": "Full opacity, #e8e8e8 text. Background: #2d1b4e. Left border: 3px solid #3d2866.",
"behavior": "Clickable. Hover: background #3d2866, cursor pointer."
},
"active": {
"visual": "Bright background #4a3270, left border 4px solid #9B59B6 (accent color). Text #FFFFFF with glow.",
"behavior": "Currently selected tab. Content panel shows this tab's content."
},
"notification": {
"visual": "Small red dot (5px radius) in top-right corner of tab when new content is available (e.g., upgrades affordable).",
"behavior": "Dot pulses slowly. Disappears when tab clicked."
}
},
"tabUnlockAnimation": "Fade in from 0% to 100% opacity over 500ms. Lock icon scales down and fades out. Tab text slides in from left (translateX -10px → 0). Background flashes bright (#4a3270) then settles to available state. Subtle 'whoosh' sound effect (optional)."
},
"tabContents": {
"rumorsTab": {
"name": "Rumors",
"asciiLayout": "```\n+-----------------------------------------------+\n| ACTIVE RUMORS |\n| [Slot 1: Rumor] [Slot 2: Locked] |\n| [Slot 3: Locked] [Slot 4: Locked] |\n| [Slot 5: Locked] |\n+-----------------------------------------------+\n| RUMOR MANAGEMENT |\n| [Unlock Slot: 100 Doubt] (button) |\n+-----------------------------------------------+\n\nEach Rumor Card (when active):\n+-------------------------------------------+\n| ◉ [Rumor Name] [Believability] |\n| Size: 1.5x | Belief: 15.3 accumulated |\n| [====..........] 45% believability bar |\n| [Generate: 0.55/sec] |\n| Evidence: [Anecdote ▼] (dropdown) |\n| [FEED DOUBT -5 D] [HARVEST +3.8 B] |\n+-------------------------------------------+\n```",
"elements": [
{
"element": "Rumor slot grid",
"content": "5 slot cards in a responsive grid (3 columns top row, 2 bottom row). Each slot shows: active rumor OR locked slot with unlock cost.",
"interaction": "Active rumor: clickable to expand details (not necessary - all info visible on card). Locked slot: click to unlock if affordable.",
"visualStates": {
"locked": {
"appearance": "Dimmed card with lock icon center. Text: 'LOCKED - Cost: 250 Doubt'. Background: #2d1b4e. Border: 2px dashed #6b6b6b.",
"affordable": "When Doubt >= cost, border becomes solid #9B59B6, lock icon pulses, text turns green.",
"notAffordable": "Cost text in red (#E74C3C)."
},
"active": {
"appearance": "Bright card with rumor orb visualization (pulsating circle). Believability progress bar color-coded (green <50%, yellow 50-80%, red >80%). Evidence diet dropdown visible.",
"collapseWarning": "At 85%+ believability: progress bar flashes red, card shakes slightly every 2 seconds.",
"imminentCollapse": "At 95%+ believability: urgent red border, 'COLLAPSE IMMINENT' text flashes, card vibrates."
}
}
},
{
"element": "Feed Doubt button",
"content": "Button labeled 'FEED DOUBT' with cost: '-5 Doubt'",
"interaction": "Click to feed rumor (reduces Doubt by 5, increases rumor size by 1, reduces believability by 2%). Button pulses on hover.",
"visualStates": {
"affordable": "Background: #9B59B6 (purple). Text: white (inverted). Hover: brighter glow #b07cc6.",
"notAffordable": "Background: #6b6b6b (greyed out). Text: #E74C3C (red cost). Disabled pointer.",
"clickEffect": "On click: button flashes bright white, rumor orb grows slightly (scale animation), Doubt counter counts down."
}
},
{
"element": "Harvest button",
"content": "Button labeled 'HARVEST' with reward: '+3.8 Belief' (25% of accumulated). Only appears when rumor has >=10 Belief accumulated.",
"interaction": "Click to harvest 25% of accumulated Belief. Button glows attractively when available.",
"visualStates": {
"available": "Background: #3498DB (blue). Text: white. Pulsing glow animation (box-shadow). Reward amount visible in white text.",
"hover": "Background: #5dade2, cursor pointer, glow intensifies.",
"clickEffect": "Crystalline burst animation (CSS scale + opacity). Belief counter counts up. Toast notification: 'Harvested 3.8 Belief!'"
}
},
{
"element": "Evidence Diet dropdown",
"content": "Dropdown menu with 3 options: Anecdote, Statistical Data, Expert Testimony. Unlocked at 20% Dissonance.",
"interaction": "Click to expand options. Click option to select. Changes rumor's Doubt cost, Belief output, and Dissonance contribution.",
"visualStates": {
"default": "Compact dropdown showing current selection with arrow icon. Background: #3d2866.",
"expanded": "Dropdown list with 3 options, each showing: [Option name] [Cost change] [Belief change] [Dissonance change]. Selected option highlighted.",
"hover": "Option highlights on hover."
}
},
{
"element": "Believability progress bar",
"content": "Horizontal bar showing 0-100% believability. Color-coded: green (#27AE60) 0-50%, yellow (#F39C12) 50-80%, red (#E74C3C) 80-100%.",
"interaction": "No direct interaction. Visual feedback only.",
"animations": "At 85%+: bar flashes red. At 90%+: text warning 'COLLAPSE SOON' appears. At 95%+: bar pulses urgently."
}
]
},
"upgradesTab": {
"name": "Upgrades",
"asciiLayout": "```\n+-----------------------------------------------+\n| UPGRADE SHOP |\n| Belief: 56.7 (currency display reminder) |\n+-----------------------------------------------+\n| [Upgrade Card 1] [Upgrade Card 2] |\n| [Upgrade Card 3] [Upgrade Card 4] |\n| (scrollable grid, 2 columns) |\n+-----------------------------------------------+\n\nEach Upgrade Card:\n+-------------------------------------------+\n| ⬠ [Upgrade Name] [Lvl: 3/10] |\n| [Description: Each Doubt feed...] |\n| Effect: +20% size per level |\n| Current: +60% | Next: +80% |\n| Cost: 150 Belief [BUY] (button) |\n+-------------------------------------------+\n```",
"elements": [
{
"element": "Upgrade card grid",
"content": "Responsive grid of upgrade cards (2 columns on desktop, 1 column on narrow viewports). Each card shows upgrade name, description, effect, current/next level, cost, and buy button.",
"interaction": "Buy button clickable if affordable. Card hover shows tooltip with detailed formula.",
"visualStates": {
"affordable": "Border: 2px solid #27AE60 (green). Buy button: #27AE60 background, white text. Card background: #2d1b4e.",
"notAffordable": "Border: 2px solid #6b6b6b (grey). Buy button: #6b6b6b background, red cost text. Card background: #1a0b2e (dimmed).",
"maxed": "Border: 2px solid #F39C12 (gold). 'MAXED' badge top-right. Buy button hidden/replaced with checkmark.",
"locked": "Entire card dimmed with lock icon. '???' instead of name. No details shown until affordable."
},
"hoverEffect": "On hover (affordable): card scales up 1.05x, border glows brighter #27AE60, tooltip appears after 200ms delay showing full formula."
},
{
"element": "Buy button",
"content": "Button labeled 'BUY' with cost visible.",
"interaction": "Click to purchase upgrade. If affordable: upgrade level increases, Belief deducted, button updates to new cost. If not affordable: button shakes left-right 5px, cost flashes red.",
"animations": {
"purchaseSuccess": "Button flashes green, upgrade level counter ticks up (number animation), 'LEVEL UP' text briefly appears.",
"purchaseFail": "Shake animation (CSS keyframes translateX -5px → 5px → 0), cost text turns red for 200ms, button shows 'INSUFFICIENT' tooltip."
}
}
]
},
"synthesisTab": {
"name": "Synthesis",
"asciiLayout": "```\n+-----------------------------------------------+\n| SYNTHESIS ENGINE |\n| [Status: Active] | Converts currencies |\n+-----------------------------------------------+\n| CURRENCY CONVERSION |\n| 10 Doubt + 1 Belief → 1 Certainty |\n| [Doubt: 1,234] [Belief: 56.7] |\n| [CONVERT] (button) |\n| Certainty: 5 |\n+-----------------------------------------------+\n| COLLAPSE PROTECTION |\n| Protect a rumor from collapse for 60s. |\n| Target: [Rumor 1 ▼] Cost: 5 Belief |\n| [PROTECT] (button) |\n+-----------------------------------------------+\n| PARADOX UPGRADES |\n| Choose ONE permanent upgrade: |\n| [The Liar's Paradox] [The Confirmation Loop]|\n| [The Truth Barrier] |\n+-----------------------------------------------+\n```",
"elements": [
{
"element": "Currency conversion panel",
"content": "Panel showing conversion formula (10 Doubt + 1 Belief → 1 Certainty). Current Doubt/Belief displays. Convert button. Resulting Certainty display.",
"interaction": "Click Convert button if sufficient currencies. Conversion happens immediately with animation.",
"visualStates": {
"canConvert": "Convert button: #F39C12 background (amber), white text. Glows softly.",
"cannotConvert": "Convert button: #6b6b6b (greyed), insufficient currency highlighted in red."
},
"animations": "On successful conversion: Doubt/Belief counters count down, Certainty counter counts up with gold burst effect. 'CONVERSION COMPLETE' toast."
},
{
"element": "Collapse Protection panel",
"content": "Panel showing Protect button, target dropdown (select which rumor to protect), cost display.",
"interaction": "Select rumor from dropdown. Click Protect button. Selected rumor gains 'PROTECTED' status for 60 seconds (believability gain reduced 10%).",
"visualStates": {
"activeProtection": "Protected rumor shows shield icon overlay. Countdown timer visible: 'Protected: 45s remaining'."
}
},
{
"element": "Paradox Upgrade options",
"content": "Three upgrade cards (Liar's Paradox, Confirmation Loop, Truth Barrier). Player can choose ONE permanently.",
"interaction": "Each card clickable to view details. Confirm button to select. Once chosen, other cards become greyed out/unavailable.",
"visualStates": {
"available": "All three cards visible with full details. Highlight borders.",
"selected": "Chosen card glows bright amber. 'ACTIVE' badge. Other cards dimmed with 'LOCKED OUT' badge.",
"locked": "Cards appear greyed out at 1 Certainty (unlock notification). Fully visible at 10 Certainty (affordable)."
}
}
]
},
"neuralTreeTab": {
"name": "Neural Tree",
"asciiLayout": "```\n+-----------------------------------------------+\n| NEURAL REWIRING TREE |\n| Neural Points: 12/18 |\n+-----------------------------------------------+\n| [Skill tree visualization - horizontal] |\n| Three branches growing left to right: |\n| AMPLIFICATION (cyan) | RESONANCE (magenta) |\n| STABILIZATION (gold) |\n| |\n| [Node1]--[Node2]--[Node3] |\n| (2NP) (3NP) (4NP) |\n| |\n| Cross-branch nodes in center: |\n| [Tri-Fold Harmony] |\n| (7NP) |\n+-----------------------------------------------+\n| [Selected Node Details] |\n| Node: Doubt Optimization |\n| Effect: Each Doubt feed increases rumor size |\n| by +15% instead of baseline |\n| Cost: 2 NP [PURCHASE] |\n+-----------------------------------------------+\n```",
"renderingApproach": "CSS Flexbox with horizontal layout. Branch containers (3 columns) for Amplification, Resonance, Stabilization. Nodes as circular divs (60px diameter) positioned using flexbox. Connection lines using CSS borders on connector divs (2px height, width matches gap). Cross-branch nodes absolutely positioned in center column.",
"elements": [
{
"element": "Skill node",
"content": "Circular node (60px diameter) with icon inside. Cost displayed below node. Branch color: cyan (Amplification), magenta (Resonance), gold (Stabilization).",
"interaction": "Hover: node scales up 1.2x, tooltip appears with description. Click (if affordable): opens confirmation modal 'Purchase [Node Name] for [Cost] NP?'",
"visualStates": {
"locked": "Dimmed background (#2c2c2c). Lock icon overlay. Cost in grey. No glow. Connection lines: dotted grey.",
"available": "Glowing border (branch color). Icon visible. Cost in green. Pulsing animation (border brightness oscillates). Connection lines: solid, lit.",
"purchased": "Solid filled color (branch color). Checkmark or active icon. No cost text (replaced with '✓'). Constant soft glow.",
"cannotAfford": "Red border, no glow. Cost in red. Icon faint. Connection lines visible but dimmed."
}
},
{
"element": "Connection lines",
"content": "Lines connecting parent nodes to child nodes. Rendered as divs with border-top.",
"visualStates": {
"inactive": "Dotted grey border (#444), 2px. No animation.",
"active": "Solid bright line (branch color), 3px. Subtle pulse animation (opacity 0.8 → 1.0 every 2s).",
"availablePath": "Solid white line (#FFF), 4px. Animated particles (small white divs) flow from parent to child using CSS translate animation."
}
},
{
"element": "Node details panel",
"content": "Panel at bottom showing currently hovered node's details: name, effect description, cost, purchase button.",
"interaction": "Updates on hover. Purchase button functional if node is affordable and unlocked."
}
]
},
"dimensionalTraitsTab": {
"name": "Dimensional Traits",
"asciiLayout": "```\n+-----------------------------------------------+\n| DIMENSIONAL TRAITS |\n| Shards of Truth: 5 |\n+-----------------------------------------------+\n| PERMANENT MULTIPLIERS |\n| [Doubt Amplification L1] [Belief Amp L1] |\n| [Dissonance Resistance L1] |\n+-----------------------------------------------+\n| PARADIGM UPGRADES |\n| [Chaos Theory Upgrade L1] (if chosen) |\n+-----------------------------------------------+\n| NEW MECHANICS |\n| [Time Loop Rumor Type] [Recursive Prophecy] |\n+-----------------------------------------------+\n| NARRATIVE FRAGMENTS |\n| [The Truth - Fragment 1] [Fragment 2]... |\n+-----------------------------------------------+\n```",
"elements": [
{
"element": "Dimensional Trait cards",
"content": "Cards for Doubt Amplification, Belief Amplification, Dissonance Resistance. Each card shows current level, effect, cost for next level, upgrade button.",
"interaction": "Click upgrade button to purchase next level. Costs scale exponentially. Levels unlimited (except Dissonance Resistance caps at 10).",
"visualStates": {
"affordable": "Upgrade button green. Card border glows.",
"notAffordable": "Upgrade button greyed, cost red.",
"maxLevel": "For Dissonance Resistance: 'MAX LEVEL' badge, button hidden."
}
},
{
"element": "Paradigm Upgrade cards",
"content": "Cards for chosen Paradigm's upgrades. Shows Paradigm name, current level, effect bonus, cost.",
"interaction": "Only Paradigm upgrades for player's chosen Paradigm are shown (others hidden).",
"visualStates": "Same as Dimensional Trait cards."
},
{
"element": "New Mechanic unlocks",
"content": "Cards for Time Loop and Recursive Prophecy rumor types. One-time unlocks (no levels). Shows: mechanic name, description, cost, unlock button.",
"interaction": "Click unlock button to purchase. Once unlocked, button replaced with 'UNLOCKED' badge, new rumor type available in Rumors tab.",
"visualStates": {
"locked": "Card dimmed with lock icon. Cost visible.",
"unlocked": "Card bright with 'UNLOCKED' badge. Cost hidden."
}
},
{
"element": "Narrative Fragment cards",
"content": "Cards for story fragments (Fragment 1, 2, 3... up to 8). Each card shows fragment number, cost, unlock button. Once unlocked, fragment text is readable in The Truth tab.",
"interaction": "Click unlock button to purchase. Click unlocked card to read fragment.",
"visualStates": {
"locked": "Card dimmed, fragment preview hidden (only title visible).",
"unlocked": "Card bright, fragment text visible. 'READ' button opens full text modal."
}
}
]
},
"theTruthTab": {
"name": "The Truth",
"asciiLayout": "```\n+-----------------------------------------------+\n| THE TRUTH |\n| Story fragments revealed through Shards |\n+-----------------------------------------------+\n| [Fragment 1: Unlocked] [Fragment 2: ???] |\n| [Fragment 3: ???] [Fragment 4: ???] |\n+-----------------------------------------------+\n| Fragment Viewer: |\n| "You are the Reality Architect..." |\n| [Full text of unlocked fragment] |\n| |\n| [Previous] [Next] (navigation) |\n+-----------------------------------------------+\n```",
"elements": [
{
"element": "Fragment grid",
"content": "Grid of 8 fragment cards (2 columns x 4 rows). Each card shows fragment number and status.",
"interaction": "Click unlocked fragment to view full text. Locked fragments show '???' and cost to unlock (links to Dimensional Traits tab).",
"visualStates": {
"unlocked": "Card bright with fragment preview text. 'READ' button.",
"locked": "Card dimmed with lock icon. 'Cost: X Shards' text."
}
},
{
"element": "Fragment viewer",
"content": "Panel showing full text of currently selected fragment. Navigation buttons (Previous/Next) to cycle through unlocked fragments.",
"interaction": "Read-only. Previous/Next buttons skip locked fragments."
}
]
}
},
"bottomBar": {
"description": "Always-visible bottom bar showing Cognitive Dissonance meter and current milestone progress.",
"height": "40px",
"backgroundColor": "#2d1b4e",
"borderTop": "2px solid #3d2866",
"elements": [
{
"element": "Cognitive Dissonance meter (left)",
"position": "Flex-start, 20px left margin",
"content": "Progress bar: [Dissonance: 67%] with bar graphic (0-100%). Color-coded: green <50%, yellow 50-80%, red >80%.",
"behavior": "Bar fills in real-time. At 90%+: bar pulses red, flashes. At 100%: bar turns solid crimson, 'REALITY FRACTURE AVAILABLE' text appears.",
"interaction": "Click to open tooltip showing Dissonance effects and what happens at 100%."
},
{
"element": "Milestone display (center)",
"position": "Centered",
"content": "Current milestone progress: 'Milestone: First Blood [Harvested: 1/1 Belief]' OR 'Milestone: Dual Truths [Progress: 1/2 rumors created]'",
"behavior": "Updates in real-time as player progresses toward milestone. When milestone achieved: toast notification + brief flash on milestone text.",
"interaction": "Click to open tooltip showing all milestones and completion status."
},
{
"element": "Notification area (right)",
"position": "Flex-end, 20px right margin",
"content": "Toast messages slide in from right: 'Harvested 3.8 Belief!', 'Upgrade purchased!', 'Milestone achieved!'",
"behavior": "Notifications stack vertically (max 3 visible). Each notification auto-dismisses after 3 seconds. Click to dismiss manually.",
"interaction": "Click to dismiss. Hover pauses auto-dismiss timer."
}
]
},
"componentSpecifications": {
"upgradeCard": {
"structure": "```\n+------------------------------------------+\n| [Icon] [Upgrade Name] [Lvl: X/Y] |\n| [Description text - 1-2 lines] |\n| [Effect: +X per level] |\n| [Current: +Y] | [Next: +Z] |\n| [Cost: 150 Belief] [BUY button] |\n+------------------------------------------+\n```",
"dimensions": "Width: 300px, Height: 140px (flexible based on content)",
"states": {
"affordable": {
"border": "2px solid #27AE60 (green)",
"buttonColor": "#27AE60 background, white text",
"textColor": "All text #e8e8e8 (white-grey), cost in #27AE60",
"shadow": "Subtle green glow (box-shadow: 0 0 10px rgba(39, 174, 96, 0.3))"
},
"cannotAfford": {
"border": "2px solid #6b6b6b (grey)",
"buttonColor": "#6b6b6b background, #E74C3C (red) cost text",
"textColor": "Body text #b8b8b8 (dimmer grey)",
"shadow": "None"
},
"maxed": {
"border": "2px solid #F39C12 (gold)",
"badge": "'MAXED' badge top-right corner, gold background, white text",
"button": "Hidden or replaced with checkmark icon (✓)",
"shadow": "Gold glow (box-shadow: 0 0 10px rgba(243, 156, 18, 0.5))"
},
"locked": {
"entireCard": "Dimmed opacity 0.5, filter grayscale",
"content": "'???' instead of name, no description shown, lock icon center",
"interaction": "Not clickable. Hover shows tooltip: 'Locked - purchase previous upgrades first'"
}
},
"interactions": {
"hoverAffordable": {
"visual": "Card scales up 1.05x, border glows brighter green, shadow intensifies",
"tooltip": "After 200ms delay, tooltip appears above card: '[Upgrade Name] (Level X)\\nFull description\\nCurrent effect: +Y\\nNext level: +Z\\nCost: [amount]'"
},
"clickAffordable": {
"animation": "Purchase animation sequence: (1) Button flashes white (50ms), (2) Level counter counts up (X → X+1 over 300ms), (3) 'LEVEL UP' text fades in then out (500ms total), (4) Belief counter counts down (visible in header), (5) Toast notification: '[Upgrade Name] upgraded to level X!'",
"feedback": "Satisfying purchase feeling - numbers animate upward, bright flash, confirmation toast"
},
"clickCannotAfford": {
"animation": "Shake animation (CSS translateX -5px → 5px → -5px → 5px → 0 over 200ms), cost text flashes red (#E74C3C) for 200ms, 'INSUFFICIENT BELIEF' tooltip appears for 1 second",
"feedback": "Clear 'can't afford' signal - shake + red flash + tooltip"
}
}
},
"currencyDisplay": {
"structure": "[Icon] 1,234.5 (+12.3/s)",
"formatting": {
"icon": "24px height, left-aligned",
"amount": "JetBrains Mono font, 16px, white, comma-separated for thousands",
"rate": "Smaller text (12px), grey #b8b8b8, in parentheses",
"suffixes": "K for thousands, M for millions, B for billions, T for trillions (display threshold at 1,000)"
},
"animations": {
"numberChange": {
"effect": "Count-up animation when value increases (duration 300ms, ease-out). Example: 1,000 → 1,234 animates through intermediate numbers.",
"trigger": "Whenever currency amount changes (passive generation, manual click, harvest, purchase)"
},
"rateUpdate": {
"effect": "No animation (rate updates smoothly in background). Rate text updates every second to reflect current generation rate.",
"trigger": "Every 1 second, recalculate /sec rate and update text"
},
"largeNumbers": {
"suffixes": "At 1,000+: '1.0K' | At 1,000,000+: '1.0M' | At 1,000,000,000+: '1.0B' | At 1,000,000,000,000+: '1.0T'",
"thresholds": "Use suffixes when number >= 1,000. Show 1 decimal place. Example: '12.3K', '1.5M', '2.7B'."
},
"glowEffect": {
"effect": "Brief glow (box-shadow + brightness filter) when currency earned. Doubt: purple glow. Belief: blue glow. Certainty: amber glow. Shards: white crystalline glow.",
"duration": "200ms glow, then fade out over 100ms"
}
}
},
"milestoneToast": {
"structure": "```\n+------------------------------------------+\n| ★ [Milestone Name]! |\n| [Description] [+Reward] |\n+------------------------------------------+\n```",
"dimensions": "Width: 350px, Height: auto (minimum 60px)",
"appearance": {
"slideIn": "Slide in from right edge of screen (translateX 100% → 0 over 300ms, ease-out). Use CSS transition.",
"stacking": "Multiple toasts stack vertically with 5px gap. Max 3 toasts visible. Fourth toast pushes oldest out.",
"styling": "Background: #2d1b4e with 90% opacity. Border: 2px solid #F39C12 (gold/amber). Icon: star emoji ★ or achievement icon in gold. Text: white #e8e8e8.",
"shadow": "Box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) for depth"
},
"behavior": {
"duration": "Visible for 5 seconds, then fade out (opacity 1 → 0 over 500ms) and remove from DOM",
"clickToDismiss": "Click anywhere on toast to dismiss immediately",
"hoverPause": "Hovering pauses auto-dismiss timer (resumes when mouse leaves)"
}
},
"prestigePanel": {
"structure": "```\n+----------------------------------------------------------+\n| ⟳ REALITY FRACTURE |\n| |\n| You will earn: 6 Shards of Truth |\n| Current total: 0 | New total: 6 |\n| |\n| PREVIEW: |\n| Breakdown: [1 base] + [3 rumor bonus] + [1 90% bonus] |\n| + [1 Belief bonus] + [0 upgrade bonus] |\n| |\n| With 6 Shards, you can afford: |\n| • Doubt Amplification L1 (1 Shard) |\n| • Belief Amplification L1 (2 Shards) |\n| • Shard Multiplier L1 (4 Shards) |\n| |\n| Estimated Run 2 speedup: 2.8x faster |\n| |\n| RESETS: |\n| • All rumors (destroyed) |\n| • Doubt → 50 |\n| • Belief → 0 |\n| • Certainty → 0 |\n| • Upgrades → Level 0 |\n| • Rumor slots → 1 |\n| |\n| KEEPS: |\n| • Shards of Truth (accumulates) |\n| • Chosen Paradigm |\n| • Chosen Paradox Upgrade |\n| • Dimensional Traits |\n| • Narrative Fragments |\n| |\n| [CANCEL] [CONFIRM FRACTURE] |\n+----------------------------------------------------------+\n```",
"dimensions": "Width: 600px, Height: auto (500-600px). Centered on screen with modal backdrop (90% black overlay).",
"elements": {
"header": "'⟳ REALITY FRACTURE' in large text (20px, white). Icon: circular arrow ⟳ in red (#E74C3C).",
"shardsDisplay": "Large text (32px, bold, white #FFFFFF) showing calculated Shards earned. 'Current total' and 'New total' in smaller text below.",
"breakdown": "Expandable section showing formula breakdown. Click to toggle. Default: expanded.",
"affordableUpgrades": "List of top 3 affordable upgrades with Shard costs. Helps player understand purchasing power.",
"speedupEstimate": "Text showing 'Estimated Run 2 speedup: Xx faster'. Calculated from Paradigm + Dimensional Trait multipliers.",
"resetsSection": "List of what resets (red text #E74C3C for emphasis).",
"keepsSection": "List of what persists (green text #27AE60 for reassurance).",
"buttons": "Two buttons side-by-side. CANCEL (grey #6b6b6b), CONFIRM FRACTURE (red #E74C3C, larger)."
},
"animations": {
"appearance": "Modal fades in (opacity 0 → 1 over 300ms). Slight scale animation (0.95 → 1.0) for polish.",
"confirmClick": "Screen crack animation using CSS clip-path. Everything gets sucked into center (scale 1 → 0). Screen goes black for 1 second. Then reforms with Paradigm color scheme. Shards count floats up from center."
}
},
"skillTreeRenderer": {
"layoutApproach": "CSS Flexbox with horizontal flow. Three branch containers (flex-direction: column) for Amplification, Resonance, Stabilization. Nodes use flexbox for alignment. Cross-branch nodes absolutely positioned in center.",
"implementation": {
"container": "Main container: `display: flex; flex-direction: row; justify-content: space-around; align-items: stretch;`",
"branches": "Three branch containers: `flex: 1; display: flex; flex-direction: column; align-items: center; gap: 40px;`",
"nodes": "`width: 60px; height: 60px; border-radius: 50%;` (circular). Icons centered using flexbox.",
"connections": "Connection lines: divs with `height: 2px; background: [branch-color]; position: absolute;` connecting node centers. Use CSS borders on connector divs, not SVG (simpler for vanilla HTML/CSS).",
"crossBranchNodes": "Absolute positioning: `position: absolute; left: 50%; transform: translateX(-50%); top: [calculated];`"
},
"nodeStates": {
"locked": "Dimmed background (#2c2c2c). Lock icon pseudo-element (`::after`). Cost in grey (#6b6b6b). No glow.",
"available": "Glowing border (2px solid, branch color). Box-shadow: `0 0 10px [branch-color]`. Icon visible. Cost in green (#27AE60). Pulsing animation (`@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } }`).",
"purchased": "Solid filled background (branch color). Icon white (#FFFFFF). Checkmark or active icon. No cost text. Constant soft glow (box-shadow, no pulse).",
"cannotAfford": "Red border (#E74C3C), no glow. Cost in red. Icon faint (opacity 0.5)."
},
"connectionStates": {
"inactive": "Dotted border: `border-top: 2px dotted #444;` No animation.",
"active": "Solid bright line: `border-top: 3px solid [branch-color];` Pulse animation on opacity.",
"availablePath": "Solid white line: `border-top: 4px solid #FFF;` Animated particle using `::after` pseudo-element with keyframe animation translating from parent to child."
}
},
"tooltip": {
"structure": "```\n+------------------------------------------+\n| [Upgrade Name] (Level X) |\n| [Full description - 2-3 lines] |\n| Current: +Y/sec |\n| Next level: +Z/sec |\n| Cost: [amount] |\n+------------------------------------------+\n```",
"dimensions": "Width: 250px (max), Height: auto. Min-height: 80px.",
"trigger": "Hover (desktop). Use `mouseenter` event with 200ms delay before showing.",
"positioning": "Above element by default. Use `position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%);` Clamp to viewport edges: if top would be < 10px from viewport top, position below element instead.",
"styling": "Background: #2d1b4e with 95% opacity. Border: 1px solid #4a3270. Box-shadow: 0 4px 8px rgba(0,0,0,0.4). Text: #e8e8e8. Font-size: 13px. Padding: 10px. Border-radius: 4px. Arrow pointer using CSS borders (`::after` pseudo-element).",
"zIndex": "1000 (above all other UI elements).",
"delay": "200ms hover delay before showing. Disappears immediately on mouseleave."
}
},
"feedbackSystems": {
"visualFeedbackCatalog": [
{
"action": "Purchase upgrade (affordable)",
"feedback": "Green flash on card (background #27AE60 for 100ms), level counter animates upward (X → X+1, count-up 300ms), 'LEVEL UP' text fades in/out (500ms total), currency counter counts down (visible in header), toast notification slides in: '[Upgrade Name] upgraded!'",
"duration": "300ms for flash, 500ms for text, 3s for toast",
"implementation": "CSS animation classes: `.flash-green { animation: flashGreen 0.1s; }`, `.count-up { transition: all 0.3s ease-out; }`"
},
{
"action": "Purchase upgrade (cannot afford)",
"feedback": "Shake animation (translateX -5px → 5px → 0, 200ms), cost text flashes red (#E74C3C for 200ms), tooltip appears: 'INSUFFICIENT [CURRENCY]'",
"duration": "200ms",
"implementation": "CSS: `@keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }`"
},
{
"action": "Currency milestone (e.g., Belief reaches 100, 1000, etc.)",
"feedback": "Currency display glows brightly (box-shadow + brightness filter, 1s), toast notification: 'Milestone: [X] Belief reached!', brief screen flash (subtle white overlay 10% opacity for 200ms)",
"duration": "1s glow, 200ms flash, 3s toast",
"implementation": "CSS keyframes for glow pulse. JavaScript adds/removes overlay div for flash."
},
{
"action": "New unlock (tab appears, upgrade affordable, etc.)",
"feedback": "Tab/button glows/pulses (CSS animation `pulse` 2s duration infinite), notification dot appears (red 5px circle, pulsing), optional toast: 'New unlock available!'",
"duration": "Until clicked (persistent). Pulse animation continues.",
"implementation": "CSS `@keyframes pulse { 0%, 100% { box-shadow: 0 0 5px [color]; } 50% { box-shadow: 0 0 15px [color]; } }`"
},
{
"action": "Prestige (Reality Fracture)",
"feedback": "Screen crack animation (CSS clip-path polygon effect expanding from center), everything scales down to 0 (vanish into void), screen goes black for 1s, reforms with Paradigm color scheme, Shards count floats up from center (CSS translate Y + fade out)",
"duration": "1-2s total sequence",
"implementation": "JavaScript sequence: (1) Add `.crack-screen` class with clip-path animation, (2) Add `.vanish` class (scale 0), (3) Show black overlay div, (4) Remove crack/vanish, (5) Float up Shards count text."
},
{
"action": "Skill node purchased",
"feedback": "Node fills with color (opacity 0 → 1, 300ms), connection lines light up (border-color transition from grey to branch-color), ripple effect spreads from node (box-shadow expanding outward)",
"duration": "500ms total",
"implementation": "CSS transitions on node background and border-color. Ripple using `::after` pseudo-element with scale animation."
},
{
"action": "Achievement/Milestone earned",
"feedback": "Toast slides in from right (achievement icon, name, reward), brief screen flash (gold tint 10% opacity for 200ms), achievement icon pulses in milestone panel",
"duration": "3s toast, 200ms flash",
"implementation": "Toast component with slide-in animation. Overlay div for screen flash."
},
{
"action": "Rumor collapse",
"feedback": "Rumor card implodes (scale 1 → 0.5 over 300ms, rotate 180deg for dramatic effect), screen shakes (CSS translate X/Y random 5px for 200ms), toast notification (red): 'Rumor collapsed! Salvaged 5 Doubt. Dissonance +20%!'",
"duration": "300ms implosion, 200ms shake, 3s toast",
"implementation": "CSS animations: `@keyframes implode { to { transform: scale(0) rotate(180deg); opacity: 0; } }`, `@keyframes shakeScreen { ... }`"
},
{
"action": "Belief harvest",
"feedback": "Crystalline burst effect (white particles expand from harvest button, opacity fade), Belief counter counts up (visible in header), toast: 'Harvested X Belief!'",
"duration": "500ms burst, 300ms count-up, 3s toast",
"implementation": "Particle effect using multiple small divs with CSS keyframe animations expanding outward and fading."
},
{
"action": "Feed Doubt",
"feedback": "Rumor orb grows (scale 1 → 1.1 over 100ms), Feed button depresses (scale 0.95, 50ms), Doubt counter counts down (visible in header)",
"duration": "100ms growth, 300ms count-down",
"implementation": "CSS scale transitions. Number count-down animation."
}
]
},
"numberFormatting": {
"rules": [
{
"range": "0 - 999",
"format": "Whole number",
"example": "742"
},
{
"range": "1,000 - 999,999",
"format": "With commas",
"example": "12,345"
},
{
"range": "1,000,000 - 999,999,999",
"format": "Suffix with 1 decimal",
"example": "1.5M, 42.3B"
},
{
"range": "1,000,000,000+",
"format": "Suffix with 1 decimal (T, Qa, Qi, Sx, Sp, Oc, No, Dc)",
"example": "1.2T, 3.8Qa"
},
{
"range": "Rates (/sec)",
"format": "1 decimal place, always show '+' or '-' sign",
"example": "+12.3/s, -0.5/s"
},
{
"range": "Costs",
"format": "Whole number, red if cannot afford, green if affordable",
"example": "150 (affordable: green, not affordable: red)"
}
]
},
"progressBars": {
"style": "Rounded corners (border-radius: 4px). No stripes (solid fill). Subtle gradient (lighter at top for 3D effect).",
"colorChanges": "Believability bar: Green (#27AE60) 0-50%, Yellow (#F39C12) 50-80%, Red (#E74C3C) 80-100%. Dissonance bar: Same color coding. Upgrade progress bars (if any): Always blue (#3498DB).",
"label": "Percentage shown on right side of bar: '67%'. For accumulated Belief: '15.3 / 50.0' (current/max)."
},
"responsiveConsiderations": {
"minimumWidth": "1280px (target resolution). Below this, layout shifts.",
"maximumWidth": "Full viewport (no cap). Center content with max-width: 1600px for very wide screens to prevent stretch.",
"scalingApproach": "Fixed px for critical elements (buttons, cards). Rem-based for spacing to scale with browser zoom. Flexbox for layout to adapt to viewport width.",
"panelCollapseBehavior": {
"viewport1280plus": "Full 3-column layout: Nav (200px) + Main (flex) + no collapse.",
"viewport1024to1279": "Nav shrinks to 180px. Main content adjusts. Still usable but tighter.",
"viewportBelow1024": "Show warning message: 'Minimum resolution 1024x768 recommended for best experience.' Layout still functional but cramped.",
"mobile": "Not supported (game designed for desktop). Show 'Desktop browser required' message on mobile."
}
},
"accessibility": {
"contrastRatios": "All text meets WCAG AA minimum 4.5:1. Primary text (#e8e8e8 on #1a0b2e) = 14.6:1 (excellent). Secondary text (#b8b8b8 on #2d1b4e) = 6.2:1 (AAA). Accent colors on backgrounds: Green #27AE60 on #2d1b4e = 5.8:1 (AA). Red #E74C3C on #2d1b4e = 4.9:1 (AA).",
"focusIndicators": "Visible focus outlines for keyboard navigation. All interactive elements (buttons, cards, tabs) have `outline: 2px solid #9B59B6` on focus. Tab order follows visual flow: Header → Tabs → Main content → Bottom bar.",
"screenReader": "Currency amounts have `aria-live='polite'` regions for updates. Critical alerts (collapse imminent, dissonance at 100%) use `aria-live='assertive'`. Progress bars have `role='progressbar'` with `aria-valuenow`, `aria-valuemin`, `aria-valuemax`.",
"reducedMotion": "Respect `prefers-reduced-motion` media query. When set, disable all animations (pulses, shakes, floats). Keep only essential transitions (hover states, focus outlines). Example: `@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }`"
},
"settingsPanel": {
"structure": "Modal with settings sections. Triggered by clicking gear icon in header.",
"sections": [
{
"section": "Notation Format",
"setting": "Toggle (Standard / Scientific)",
"default": "Standard",
"effect": "Standard: '1.5M', '2.3B' | Scientific: '1.5e6', '2.3e9'. Changes number display for all currencies."
},
{
"section": "Animation Speed",
"setting": "Slider (0.5x - 2x)",
"default": "1x",
"effect": "Scales all animation durations. 0.5x = animations twice as fast. 2x = animations twice as slow. Uses CSS variable `--animation-speed-multiplier`."
},
{
"section": "Auto-Save Interval",
"setting": "Dropdown (Off, 10s, 30s, 60s)",
"default": "30s",
"effect": "How often game state saves to localStorage. 'Off' = manual save only (save button appears)."
},
{
"section": "Hard Reset",
"setting": "Button (with confirmation modal)",
"default": "N/A",
"effect": "Wipes all data including Shards, Paradigm, Paradox. Confirmation modal: 'This will DELETE ALL PROGRESS. Are you sure? Type 'DELETE' to confirm.'"
},
{
"section": "Export Save",
"setting": "Button",
"default": "N/A",
"effect": "Copies save string to clipboard. Shows toast: 'Save copied to clipboard!' Save string is JSON of game state, base64 encoded."
},
{
"section": "Import Save",
"setting": "Button + text input + paste",
"default": "N/A",
"effect": "Opens modal with text area. Paste save string, click 'Import'. Validates and loads game state. Shows confirmation: 'Import successful!' or 'Invalid save file.'"
}
]
},
"qualityChecklist": {
"verified": [
"Currency displays are ALWAYS visible in header (never hidden behind tabs). Doubt, Belief, Certainty (when unlocked), Shards (when earned) all visible at all times.",
"Every UI element has specified states (locked, available, affordable, maxed, etc.). Upgrade cards, rumor slots, skill nodes, buttons - all have visual state specifications.",
"Feedback is specified for every player action. Purchase (affordable/cannot afford), harvest, feed Doubt, collapse, prestige, skill purchase, milestones - all have animation + toast feedback.",
"The color palette has sufficient contrast. All text ratios 4.5:1 or higher. Dark theme with light text (#e8e8e8 on #1a0b2e = 14.6:1).",
"ASCII layouts are detailed and translatable to HTML/CSS. Each tab has ASCII grid showing component placement. Dimensions specified in pixels.",
"Tab unlock conditions match progression.md. Rumors (start), Upgrades (First Blood ~2 min), Synthesis (Synthesis Discovery ~8 min), Neural Tree (First Blood), Dimensional Traits (first prestige ~22-25 min), The Truth (10 Shards ~27 min).",
"Number formatting covers full range. 0-999 (whole), 1K-999K (commas), 1M+ (suffixes), rates (/sec with 1 decimal). Overflow protection with scientific notation at 1e15+.",
"Prestige UI shows all information from prestige.md. Shards earned, breakdown (base + rumors + 90% bonus + Belief bonus + upgrade bonus), affordable upgrades, speedup estimate, resets list, keeps list.",
"Skill tree rendering is implementable in vanilla CSS/JS. Flexbox layout, CSS borders for connections, pseudo-elements for particles. No canvas or SVG required.",
"Accessibility basics covered. Contrast ratios all meet WCAG AA. Focus indicators specified. aria-live regions for currency updates. Reduced motion media query respected.",
"Every component specifies both visual appearance AND interaction behavior. Upgrade cards, currency displays, tooltips, feedback systems - all have appearance + state + animation + interaction specified.",
"Design works at 1280x720 minimum. Layout grid accounts for 60px header, 40px footer, 200px nav, remaining space for content. Responsive behavior specified for narrower viewports."
]
}
}