Initial scaffold: AI Tycoon monorepo with core game loop

Turborepo monorepo with three packages:
- packages/shared: TypeScript types for all 14 game systems + balance constants + formatting utils
- packages/game-engine: Pure TS simulation engine with tick processor, economy, infrastructure, compute, research, market, and reputation systems
- apps/web: React + Vite + Tailwind + Zustand frontend with sidebar dashboard layout, new game screen, dashboard with charts, infrastructure management, and model training pages

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-24 16:53:46 -04:00
commit fdc8e544ae
57 changed files with 4753 additions and 0 deletions
@@ -0,0 +1,29 @@
import type { GameState, ResearchState, ComputeState } from '@ai-tycoon/shared';
export function processResearch(state: GameState, compute: ComputeState): ResearchState {
const active = state.research.activeResearch;
if (!active) return state.research;
const researcherBoost = state.talent.departments.research.headcount *
state.talent.departments.research.effectiveness;
const speedMultiplier = 1 + researcherBoost * 0.1;
const newProgress = active.progressTicks + speedMultiplier;
if (newProgress >= active.totalTicks) {
return {
...state.research,
completedResearch: [...state.research.completedResearch, active.researchId],
activeResearch: null,
researchPoints: state.research.researchPoints + 1,
};
}
return {
...state.research,
activeResearch: {
...active,
progressTicks: newProgress,
},
};
}