Game balance audit: wire research effects, rework capability formula, fix dead systems
CI / build-and-push (push) Successful in 32s

- Create researchBonuses utility to aggregate tech tree effects into all game systems
  (infrastructure energy costs, compute efficiency, training speed, model capability, reputation)
- Rework model capability from sqrt(compute) to 4-pillar formula (params + compute + data + research)
- Make context window affect benchmarks and inference speed
- Add MoE tradeoffs: 1.5x VRAM, 0.8x training speed
- Enforce research point costs as a gate for unlocking research
- Add real consequences to data contamination events (reputation hit, legal costs)
- Scale talent costs from $0.03 to $5/tick per headcount
- Scale compliance costs 100x to be meaningful
- Rework competitor acquisition: cheaper but grants headcount, RP, and reputation
- Remove dead code: sfxVolume, autoSaveInterval, notificationsEnabled,
  FAST_FORWARD_BATCH_SIZE, CHINCHILLA_OPTIMAL_RATIO

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-25 09:36:31 -04:00
parent 8d650fefae
commit 00e790591e
14 changed files with 205 additions and 54 deletions
+1 -3
View File
@@ -5,7 +5,6 @@ import type { ConsumerTierId, ApiTierId, SeasonalPhase, EnterprisePipelineStage,
export const TICK_INTERVAL_MS = 1000;
export const MAX_OFFLINE_TICKS = 86_400;
export const OFFLINE_EFFICIENCY = 0.8;
export const FAST_FORWARD_BATCH_SIZE = 100;
export const AUTO_SAVE_INTERVAL_TICKS = 60;
export const FINANCIAL_SNAPSHOT_INTERVAL = 60;
export const MAX_FINANCIAL_HISTORY = 1000;
@@ -30,7 +29,6 @@ export const SFT_TIME_FRACTION = 0.10;
export const SFT_COMPUTE_FRACTION = 0.06;
export const ALIGNMENT_TIME_FRACTION = 0.08;
export const ALIGNMENT_COMPUTE_FRACTION = 0.04;
export const CHINCHILLA_OPTIMAL_RATIO = 20;
export const MAX_CONCURRENT_TRAINING: Record<string, number> = {
startup: 1, scaleup: 2, bigtech: 4, agi: 8,
@@ -774,7 +772,7 @@ export const OPEN_SOURCE_TALENT_ATTRACTION = 0.15;
export const OPEN_SOURCE_REVENUE_PENALTY = 0.10;
export const REGULATION_COMPLIANCE_BASE_COST = 0;
export const REGULATION_COMPLIANCE_PER_CAPABILITY = 0.5;
export const REGULATION_COMPLIANCE_PER_CAPABILITY = 50;
export const SAFETY_INCIDENT_PROBABILITY_BASE = 0.0002;
export const SAFETY_INCIDENT_REPUTATION_HIT = 15;
export const LOW_SAFETY_THRESHOLD = 40;
-6
View File
@@ -43,19 +43,13 @@ export type Era = 'startup' | 'scaleup' | 'bigtech' | 'agi';
export type GameSpeed = 1 | 2 | 5;
export interface GameSettings {
autoSaveInterval: number;
notificationsEnabled: boolean;
soundEnabled: boolean;
musicVolume: number;
sfxVolume: number;
}
export const INITIAL_SETTINGS: GameSettings = {
autoSaveInterval: 60,
notificationsEnabled: true,
soundEnabled: true,
musicVolume: 0.5,
sfxVolume: 0.7,
};
export const SAVE_VERSION = 7;
+2
View File
@@ -87,6 +87,8 @@ export interface TrainingEvent {
progressLost?: number;
capabilityBonus?: number;
capabilityDomain?: keyof ModelCapabilities;
reputationHit?: number;
legalCost?: number;
};
}