Skip to content

Latest commit

 

History

History
113 lines (82 loc) · 3.83 KB

File metadata and controls

113 lines (82 loc) · 3.83 KB

AI Infra Training Game

A pixel-art browser RPG that teaches AI inference infrastructure pre-sales through simulated client engagements. Players take on the role of a junior pre-sales consultant, learning industry knowledge by talking to LLM-powered NPC teammates, researching real industry data, configuring hardware/software solutions, and presenting proposals to clients.

Quick Start

Prerequisites

  • Node.js 18+
  • A Kimi (Moonshot) API key for LLM features (optional — game runs without it)

Setup

git clone https://github.com/skyguan92/ai-infra-training-game.git
cd ai-infra-training-game

# Install dependencies
npm install
npm -C client install
npm -C server install
npm -C tests install

# Configure LLM (optional)
cp server/.env.example server/.env
# Edit server/.env and add your KIMI_API_KEY

# Start development servers (client + server)
npm run dev

The game runs at http://localhost:5173. The backend API runs on port 3001.

Without LLM

If you don't set KIMI_API_KEY, the server starts with a stub LLM that returns placeholder responses. The game is still navigable — you can move around, open the Solution Builder, and test the UI — but NPC conversations will show a configuration message instead of real dialog.

Controls

Key Action
WASD / Arrow Keys Move player
E Talk to nearby NPC
1-3 Select dialog suggestions
ESC Close dialog / overlay
TAB Open Solution Builder
R Open Research Terminal

Gameplay

Mission Flow

  1. Talk to the Director to receive a mission briefing and start a client engagement
  2. Gather intelligence — talk to team NPCs (Tech Expert, Analyst, Product Manager, Account Manager) who use RAG to retrieve real industry data from the knowledge base
  3. Research (R key) — search for specific technical information
  4. Build your solution (TAB key) — configure hardware, framework, and deployment mode with live cost/performance estimates
  5. Present to client — submit your proposal and defend it in a Q&A session with an LLM-powered client NPC
  6. Get scored — four dimensions: Technical Fit, Cost Reasoning, Presentation, Research Depth (each 0-25, total 100)

Rating Scale

  • S (90+): Client signs immediately
  • A (75-89): Client moves to next stage
  • B (60-74): Client asks for revision
  • C (<60): Client goes with competitor

Architecture

Browser (Phaser.js + React)          Node.js Backend
  OfficeScene (game world)    <-->    Express REST API
  DialogBox (NPC chat)        <-->    NPC Service (LLM + RAG)
  SolutionBuilder (React)     <-->    Scoring Service
  MeetingUI (React)           <-->    Meeting Routes (LLM)
  ResearchTerminal (React)    <-->    Research Service (LLM)
  HUD (player stats)          <-->    Game Engine (SQLite)

Tech Stack

Layer Technology
Game Engine Phaser.js 3 (pixel-art, arcade physics)
UI Overlays React 18 + TypeScript
Build Tool Vite
Backend Node.js + Express + TypeScript
LLM Kimi API (Moonshot, OpenAI-compatible)
Knowledge Base Markdown files + BM25 retriever
Database SQLite (better-sqlite3)
Real-time Socket.IO
Tests Vitest (68 tests)

Knowledge Base

The server/knowledge-base/ directory contains markdown files with real AI infrastructure industry data, organized by topic:

  • hardware/ — GPU specs (NVIDIA A100/B200, AMD MI300X, Huawei Ascend 910C, Cambricon MLU590)
  • frameworks/ — Inference frameworks (vLLM, TensorRT-LLM, SGLang)
  • solutions/ — Architecture patterns, TCO models
  • market/ — Cloud pricing, industry trends
  • products/ — Platform capabilities, competitor analysis

NPCs retrieve from these documents via BM25 search, scoped to their area of expertise.

Running Tests

npm test

License

Private project.