Game balance audit: wire research effects, rework capability formula, fix dead systems
CI / build-and-push (push) Successful in 32s
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:
@@ -1,5 +1,6 @@
|
||||
import type { GameState, ComputeState, InfrastructureState } from '@ai-tycoon/shared';
|
||||
import { FLOPS_TO_TOKENS_MULTIPLIER } from '@ai-tycoon/shared';
|
||||
import type { ResearchBonuses } from './researchBonuses';
|
||||
|
||||
export interface CapacityResult {
|
||||
totalFlops: number;
|
||||
@@ -13,20 +14,19 @@ export interface CapacityResult {
|
||||
tokensPerSecondCapacity: number;
|
||||
}
|
||||
|
||||
export function computeCapacity(state: GameState, infrastructure: InfrastructureState): CapacityResult {
|
||||
export function computeCapacity(state: GameState, infrastructure: InfrastructureState, researchBonuses?: ResearchBonuses): CapacityResult {
|
||||
const { totalTrainingFlops, totalInferenceFlops, totalVramGB } = infrastructure;
|
||||
const trainingAllocation = state.compute.trainingAllocation;
|
||||
const inferenceAllocation = 1 - trainingAllocation;
|
||||
|
||||
// Training hardware can do inference at ~50% efficiency
|
||||
// Inference hardware can do training at ~30% efficiency (no NVLink, poor scaling)
|
||||
const effectiveTrainingFlops =
|
||||
totalTrainingFlops * trainingAllocation +
|
||||
totalInferenceFlops * trainingAllocation * 0.3;
|
||||
|
||||
const inferenceBoost = 1 + (researchBonuses?.tokensPerFlopBonus ?? 0) + (researchBonuses?.inferenceEfficiencyBonus ?? 0);
|
||||
const effectiveInferenceFlops =
|
||||
totalInferenceFlops * inferenceAllocation +
|
||||
totalTrainingFlops * inferenceAllocation * 0.5;
|
||||
(totalInferenceFlops * inferenceAllocation +
|
||||
totalTrainingFlops * inferenceAllocation * 0.5) * inferenceBoost;
|
||||
|
||||
const tokensPerSecondCapacity = effectiveInferenceFlops * FLOPS_TO_TOKENS_MULTIPLIER;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user