Files
AIHostingTycoon/packages/game-engine/src/data/achievements.ts
T
josh c1cc70eeb9
Balance Check / balance-simulation (pull_request) Successful in 38s
Balance Check / multi-run-balance (pull_request) Successful in 13m44s
Rename AI Tycoon to Token Empire across entire codebase
Full rebrand: UI display text, package scope (@ai-tycoon/* -> @token-empire/*),
localStorage keys, Docker/CI image paths, database names, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-27 21:04:07 -04:00

110 lines
3.3 KiB
TypeScript

import type { AchievementDefinition } from '@token-empire/shared';
export const ACHIEVEMENT_DEFINITIONS: AchievementDefinition[] = [
{
id: 'first-dc',
name: 'First Steps',
description: 'Build your first data center.',
icon: 'Server',
condition: { field: 'infrastructure.totalDataCenterCount', operator: 'gte', value: 1 },
},
{
id: 'first-model',
name: 'Hello World',
description: 'Train your first AI model.',
icon: 'Brain',
condition: { field: 'models.baseModels.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: 'rack-hoarder',
name: 'Rack Hoarder',
description: 'Have 50 or more production racks across all data centers.',
icon: 'Cpu',
condition: { field: 'infrastructure.totalRackCount', operator: 'gte', value: 50 },
},
{
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 },
},
];