Add research money costs, longer research times, era-scaled talent costs, and persona strategy
Research now costs money (drained per-tick) with ~2.5-3.5x longer durations by category. Early-game talent budget costs reduced via era multiplier (startup 0.2x → bigtech 1.0x). New seed-driven PersonaStrategy with 8 axes of variation for meaningful multi-run testing. CI multi-run switched from greedy to persona strategy. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import type { GameState, EconomyState, InfrastructureState } from '@ai-tycoon/shared';
|
||||
import { FINANCIAL_SNAPSHOT_INTERVAL, MAX_FINANCIAL_HISTORY, REGULATION_COMPLIANCE_PER_CAPABILITY } from '@ai-tycoon/shared';
|
||||
import { TECH_TREE } from '../data/techTree';
|
||||
import type { MarketTickResult } from './marketSystem';
|
||||
|
||||
export function processEconomy(
|
||||
@@ -27,7 +28,16 @@ export function processEconomy(
|
||||
const complianceCost = bestCapability > 30 ? bestCapability * REGULATION_COMPLIANCE_PER_CAPABILITY * (1 + eraIdx * 0.5) / 100 : 0;
|
||||
|
||||
const devRelExpenses = state.market.developerEcosystem.devRelSpending;
|
||||
const expenses = infraExpenses + talentExpenses + dataExpenses + complianceCost + devRelExpenses + extraCosts;
|
||||
|
||||
let researchExpenses = 0;
|
||||
if (state.research.activeResearch) {
|
||||
const node = TECH_TREE.find(n => n.id === state.research.activeResearch!.researchId);
|
||||
if (node) {
|
||||
researchExpenses = node.cost.money / node.cost.ticks;
|
||||
}
|
||||
}
|
||||
|
||||
const expenses = infraExpenses + talentExpenses + dataExpenses + complianceCost + devRelExpenses + researchExpenses + extraCosts;
|
||||
|
||||
const money = state.economy.money + revenue - expenses;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user