Add Week 2 depth systems: research, events, competitors, talent, data

Tech tree with 21 research nodes across 5 categories (infrastructure,
efficiency, generation, specialization, safety). Research page with
category-grouped cards, progress tracking, prerequisite gating.

Event engine with 34 events across industry/regulatory/PR/internal/market
categories, weighted random firing, cooldowns, expiry, and choice modal
with consequence preview. Events auto-expire with default choice.

Competitor system with 3 rival AI labs (Prometheus AI, Nexus Labs, Titan
Computing), personality-driven milestone progression, and comparison UI.

Talent page with department hiring, headcount management, and key hire
recruitment from a pool of 10 named characters with special abilities.

Data marketplace with 8 purchasable datasets, user data flywheel from
subscribers, and data system processing in tick loop.

Era transition system checks revenue/capability/reputation thresholds.
All new systems integrated into tick processor with notifications.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-24 17:30:24 -04:00
parent d1d3eb4bf2
commit 8c9555bc08
19 changed files with 3166 additions and 21 deletions
+169
View File
@@ -0,0 +1,169 @@
import type { DepartmentId } from '@ai-tycoon/shared';
/**
* A recruitable key hire as it appears in the available pool.
* `hiredAtTick` is omitted because the hire hasn't been recruited yet.
*/
export interface KeyHireTemplate {
id: string;
name: string;
department: DepartmentId;
specialAbility: string;
description: string;
requiredEra: string;
effects: { type: string; value: number }[];
salary: number;
loyalty: number;
}
/**
* Master pool of key hires the player can recruit throughout the game.
* Salary is per-tick. Effect values are fractional multipliers (0.20 = +20%).
*/
export const KEY_HIRE_POOL: KeyHireTemplate[] = [
// ── Research ──────────────────────────────────────────────────────────
{
id: 'hire_elena_vasquez',
name: 'Dr. Elena Vasquez',
department: 'research',
specialAbility: 'Scaling Law Whisperer',
description:
'Former theoretical physicist who discovered three novel scaling laws. Her intuition for optimal compute allocation is uncanny.',
requiredEra: 'foundation',
effects: [{ type: 'research_speed', value: 0.2 }],
salary: 3,
loyalty: 0.7,
},
{
id: 'hire_raj_patel',
name: 'Dr. Raj Patel',
department: 'research',
specialAbility: 'Alignment Prodigy',
description:
'Published the seminal paper on constitutional training at age 24. Governments call him before passing AI regulation.',
requiredEra: 'growth',
effects: [
{ type: 'research_speed', value: 0.1 },
{ type: 'reputation', value: 0.15 },
],
salary: 4,
loyalty: 0.85,
},
// ── Engineering ───────────────────────────────────────────────────────
{
id: 'hire_marcus_chen',
name: 'Marcus Chen',
department: 'engineering',
specialAbility: 'Infrastructure Guru',
description:
'Built the internal orchestration layer at three hyperscalers. Can squeeze 40% more throughput out of any GPU cluster before lunch.',
requiredEra: 'foundation',
effects: [{ type: 'cost_reduction', value: 0.15 }],
salary: 3,
loyalty: 0.6,
},
{
id: 'hire_yuki_tanaka',
name: 'Yuki Tanaka',
department: 'engineering',
specialAbility: 'Latency Assassin',
description:
'Obsessed with shaving milliseconds. Once rewrote an entire inference stack on a red-eye flight and deployed it before landing.',
requiredEra: 'foundation',
effects: [
{ type: 'training_speed', value: 0.15 },
{ type: 'capability_boost', value: 0.05 },
],
salary: 2,
loyalty: 0.55,
},
{
id: 'hire_omar_hassan',
name: 'Omar Hassan',
department: 'engineering',
specialAbility: 'Compiler Whisperer',
description:
'Wrote a custom ML compiler that rival labs tried to acqui-hire him just to get access to. His kernel optimizations are legendary.',
requiredEra: 'growth',
effects: [
{ type: 'training_speed', value: 0.2 },
{ type: 'cost_reduction', value: 0.1 },
],
salary: 4,
loyalty: 0.65,
},
// ── Operations ────────────────────────────────────────────────────────
{
id: 'hire_diana_okafor',
name: 'Diana Okafor',
department: 'operations',
specialAbility: 'Talent Magnet',
description:
'Her recruiting network spans every top CS program on the planet. Candidates accept offers just because she asked.',
requiredEra: 'foundation',
effects: [{ type: 'hiring_speed', value: 0.25 }],
salary: 2,
loyalty: 0.75,
},
{
id: 'hire_liam_frost',
name: 'Liam Frost',
department: 'operations',
specialAbility: 'Supply Chain Sorcerer',
description:
'Secured GPU allocations during the Great Chip Shortage when everyone else was on a two-year waitlist. Knows every fab manager by first name.',
requiredEra: 'growth',
effects: [
{ type: 'cost_reduction', value: 0.1 },
{ type: 'capability_boost', value: 0.1 },
],
salary: 3,
loyalty: 0.7,
},
// ── Sales ─────────────────────────────────────────────────────────────
{
id: 'hire_sarah_kim',
name: 'Sarah Kim',
department: 'sales',
specialAbility: 'Enterprise Closer',
description:
'Closed the largest SaaS deal in history before turning 30. Fortune 500 CIOs have her on speed dial.',
requiredEra: 'foundation',
effects: [{ type: 'revenue_boost', value: 0.25 }],
salary: 3,
loyalty: 0.5,
},
{
id: 'hire_alex_reeves',
name: 'Alex Reeves',
department: 'sales',
specialAbility: 'Developer Evangelist',
description:
'Their conference talks go viral every time. Open-source communities worship the ground they commit on.',
requiredEra: 'foundation',
effects: [
{ type: 'reputation', value: 0.2 },
{ type: 'revenue_boost', value: 0.1 },
],
salary: 2,
loyalty: 0.6,
},
{
id: 'hire_isabella_marquez',
name: 'Isabella Marquez',
department: 'sales',
specialAbility: 'Government Liaison',
description:
'Former deputy tech advisor to three heads of state. Opens doors to public-sector contracts no one else can touch.',
requiredEra: 'growth',
effects: [
{ type: 'revenue_boost', value: 0.15 },
{ type: 'reputation', value: 0.1 },
],
salary: 5,
loyalty: 0.8,
},
];