Files
AIHostingTycoon/packages/game-engine/src/data/achievements.ts
T
josh 8a8b49d934 Add Week 3 polish and late-game features
VC funding system (seed through IPO with requirements gating), 15
achievements with engine checker, model tuning presets and unlockable
sliders, overload policy controls, open-source mechanic with reputation
boost, enhanced Recharts analytics (subscriber/reputation/revenue vs
expenses charts), M&A acquisition system, sidebar NEW badges on era
transitions, tutorial hints, and wired-up settings toggles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 17:56:40 -04:00

110 lines
3.3 KiB
TypeScript

import type { AchievementDefinition } from '@ai-tycoon/shared';
export const ACHIEVEMENT_DEFINITIONS: AchievementDefinition[] = [
{
id: 'first-dc',
name: 'First Steps',
description: 'Build your first data center.',
icon: 'Server',
condition: { field: 'infrastructure.dataCenters.length', operator: 'gte', value: 1 },
},
{
id: 'first-model',
name: 'Hello World',
description: 'Train your first AI model.',
icon: 'Brain',
condition: { field: 'models.trainedModels.length', operator: 'gte', value: 1 },
},
{
id: 'first-deploy',
name: 'Going Live',
description: 'Deploy a model to production.',
icon: 'Rocket',
condition: { field: 'meta._deployedModelCount', operator: 'gte', value: 1 },
},
{
id: 'first-revenue',
name: 'First Dollar',
description: 'Earn your first revenue.',
icon: 'DollarSign',
condition: { field: 'economy.totalRevenue', operator: 'gt', value: 0 },
},
{
id: 'seed-funded',
name: 'Seed Funded',
description: 'Complete your seed funding round.',
icon: 'Sprout',
condition: { field: 'economy.funding.completedRounds.length', operator: 'gte', value: 1 },
},
{
id: '1k-subscribers',
name: '1K Club',
description: 'Reach 1,000 subscribers.',
icon: 'Users',
condition: { field: 'market.consumers.totalSubscribers', operator: 'gte', value: 1_000 },
},
{
id: '100k-subscribers',
name: 'Mass Adoption',
description: 'Reach 100,000 subscribers.',
icon: 'Globe',
condition: { field: 'market.consumers.totalSubscribers', operator: 'gte', value: 100_000 },
},
{
id: 'unicorn',
name: 'Unicorn',
description: 'Reach a $1B valuation.',
icon: 'Sparkles',
condition: { field: 'economy.funding.valuation', operator: 'gte', value: 1_000_000_000 },
},
{
id: 'era-scaleup',
name: 'Scaling Up',
description: 'Enter the Scale-up era.',
icon: 'TrendingUp',
condition: { field: 'meta._eraIndex', operator: 'gte', value: 1 },
},
{
id: 'era-bigtech',
name: 'Big League',
description: 'Enter the Big Tech era.',
icon: 'Building2',
condition: { field: 'meta._eraIndex', operator: 'gte', value: 2 },
},
{
id: 'era-agi',
name: 'The Singularity',
description: 'Enter the AGI era.',
icon: 'Atom',
condition: { field: 'meta._eraIndex', operator: 'gte', value: 3 },
},
{
id: 'gpu-hoarder',
name: 'GPU Hoarder',
description: 'Own 100 or more GPUs across all data centers.',
icon: 'Cpu',
condition: { field: 'infrastructure._totalGpuCount', operator: 'gte', value: 100 },
},
{
id: 'research-pioneer',
name: 'Research Pioneer',
description: 'Complete 10 research projects.',
icon: 'FlaskConical',
condition: { field: 'research.completedResearch.length', operator: 'gte', value: 10 },
},
{
id: 'open-source-champion',
name: 'Open Source Champion',
description: 'Open-source 3 models.',
icon: 'GitBranch',
condition: { field: 'market.openSourcedModels.length', operator: 'gte', value: 3 },
},
{
id: 'speed-demon',
name: 'Speed Demon',
description: 'Reach 1 million tokens/second inference capacity.',
icon: 'Zap',
condition: { field: 'compute.tokensPerSecondCapacity', operator: 'gte', value: 1_000_000 },
},
];