← 返回项目列表

游戏人生 - 文字冒险实施方案

AI LLM 游戏 开源方案

项目简介

一款文字冒险类人生模拟游戏,玩家通过对话框选择不同选择来度过一生。核心创新:采用 LLM 动态生成故事剧情,而非预定义事件库。

🎯 目标

构建一款文字冒险类人生模拟游戏,玩家通过对话框选择不同选择来度过一生。核心创新:采用 LLM 动态生成故事剧情,而非预定义事件库。

🏗️ 架构

Web 终端风格界面 + LLM 驱动剧情生成

  • 前端: React + TypeScript,终端风格 UI
  • 后端: Node.js + Express,提供游戏逻辑 API 和数据持久化
  • AI 层: LLM API(Claude/GPT)动态生成故事,通过提示词限制合规性
  • 合规: 双层机制 - LLM 生成时限制 + 用户输入前置审查

🔄 核心流程

用户输入
   ↓
┌─────────────────────────────┐
│   合规审查 LLM              │
│   (判断用户输入是否合规)     │
└─────────────────────────────┘
   ↓ 合规
┌─────────────────────────────┐
│   故事生成 LLM              │
│   (根据状态生成当前事件)     │
└─────────────────────────────┘
   ↓
展示事件 + 选项给玩家
   ↓
玩家选择 → 更新状态 → 循环

📁 文件结构

life-game/
├── shared/                    # 共享代码(服务端和客户端共用)
│   └── types/
│       └── index.ts          # TypeScript 类型定义(唯一类型来源)
├── client/                    # 前端 React 应用
│   ├── src/
│   │   ├── components/        # UI 组件
│   │   │   ├── Terminal.tsx   # 终端界面组件
│   │   │   ├── Chronicle.tsx  # 编年史显示组件
│   │   │   ├── QuestLog.tsx    # 任务日志组件
│   │   │   └── StatsBar.tsx    # 属性状态栏
│   │   ├── engine/            # 游戏引擎
│   │   │   ├── GameEngine.ts      # 核心游戏引擎
│   │   │   ├── LifeStages.ts      # 人生阶段
│   │   │   ├── StoryGenerator.ts  # LLM 故事生成器
│   │   │   ├── ComplianceChecker.ts # 合规审查器
│   │   │   └── __tests__/         # 引擎测试
│   │   ├── prompts/           # 提示词模板
│   │   ├── data/              # 游戏数据
│   │   ├── App.tsx
│   │   └── main.tsx
│   └── index.html
├── server/                    # 后端 Express 服务
│   ├── src/
│   │   ├── routes/
│   │   ├── db/
│   │   ├── services/
│   │   └── index.ts
├── docs/
│   ├── regulations/           # 法规参考文档
│   └── game-design/           # 游戏设计文档
└── package.json

🛡️ 合规性设计

双层合规机制

层级 触发时机 实现方式
第一层 用户输入时 合规审查 LLM + 规则引擎
第二层 故事生成时 系统提示词内置限制

法规参考

游戏内置以下法规数据,供 LLM 合规判断时参考:

export const REGULATIONS = {
  // 网络安全相关
  网络安全法: [
    "不得利用网络从事危害国家安全、荣誉和利益",
    "不得煽动颠覆国家政权、推翻社会主义制度",
    "不得煽动分裂国家、破坏国家统一",
    "不得编造、传播虚假信息扰乱经济秩序",
  ],

  // 治安管理相关
  治安管理处罚法: [
    "不得散布淫秽、色情、赌博、暴力内容",
    "不得侮辱或诽谤他人",
    "不得制造噪音干扰他人正常生活",
  ],

  // 民法典相关
  民法典: [
    "不得侵犯他人人格权、隐私权、肖像权",
    "婚姻关系遵循一夫一妻制",
    "禁止借婚姻索取财物",
  ],

  // 未成年人保护
  未成年人保护法: [
    "保护未成年人身心健康",
    "禁止向未成年人传播色情内容",
    "禁止教唆未成年人违法犯罪",
  ],
};

💬 提示词设计

系统提示词(故事生成)

你是"人生模拟器"的游戏主持人,负责为玩家生成精彩的人生故事。

【核心原则】
1. 所有故事内容必须符合中国法律法规
2. 故事主题:积极正面,倡导正确价值观
3. 禁止出现:色情低俗、暴力血腥、赌博、违法犯罪内容
4. 婚姻观:一夫一妻,倡导文明婚俗
5. 君子爱财取之有道

【故事类型库】
可生成的人生事件类型:
- 童年:上学、家庭、友情、兴趣培养
- 青年:高考、大学、恋爱、第一份工作
- 成年:职业发展、婚姻家庭、投资理财、子女教育
- 中年:事业巅峰/转型、健康管理、家庭关系
- 老年:退休生活、养生保健、天伦之乐

【输出格式】
每次生成必须包含:
1. 事件标题(简洁有力)
2. 事件描述(2-3句话,富有画面感)
3. 3-4个选项(体现不同价值观选择)
4. 每个选项的效果说明(对属性的影响)

【选项设计原则】
- 选项应体现不同价值观(务实、理想、家庭、事业等)
- 选项效果要符合逻辑(重大决定影响更大)
- 允许"普通"选项作为保底选择

合规审查提示词

【角色】
你是一位严格的合规审查员,负责判断用户输入是否合规。

【审查标准】
用户输入不得包含以下内容:
1. 色情低俗信息(性暗示、擦边内容等)
2. 暴力血腥内容(伤害、杀人等)
3. 赌博相关内容(赌场、赌博技巧等)
4. 违法犯罪行为(盗窃、诈骗、贩毒等)
5. 政治敏感内容(颠覆国家、分裂领土等)
6. 邪教迷信内容

【法规参考】
判断时请参考以下法规:
- 《网络安全法》第12条
- 《治安管理处罚法》第68条、第70条
- 《民法典》婚姻家庭编
- 《未成年人保护法》

【输出格式】
必须返回以下JSON格式,禁止添加任何其他内容:
{
  "passed": true/false,
  "reason": "如果passed为false,说明违反了哪条法规"
}

✨ 技术亮点

特性 实现方式
LLM 动态剧情 每次生成当前年龄段的专属事件
双层合规 生成时限制 + 输入时审查
状态摘要 只传递关键状态,控制 Token 消耗
阶段聚焦 每次只生成当前岁的事件,保证一致性
渐进式体验 玩家可输入自定义行动,也可跳过让 AI 随机生成

📋 后续扩展建议

  • 多模型支持 - 支持 Claude/GPT/KIMI 等多个 LLM 提供商
  • 剧情记忆 - 使用向量数据库存储历史剧情,辅助生成更连贯的故事
  • 存档系统 - 玩家可保存/加载游戏进度
  • 成就系统 - 完成后解锁成就徽章
  • 多人模式 - 玩家可以比较不同选择下的人生轨迹

⚖️ 合规性声明

法律合规: 本游戏所有内容均符合我国法律法规:

  1. LLM 生成限制 - 系统提示词内置合规要求,生成的剧情不包含违规内容
  2. 用户输入审查 - 用户输入需经过合规检查,不合格内容不触发剧情
  3. 虚拟设定 - 游戏货币为虚拟设定,不涉及真实货币交易
  4. 婚姻观 - 遵循一夫一妻制,倡导文明婚俗
  5. 价值观引导 - 结局倡导正面价值观,君子爱财取之有道

🤝 参与贡献

这是一个开源方案设计,期待有兴趣的开发者来实现!完整方案文档位于 docs/superpowers/plans/ 目录。

方案状态: 设计方案已完成,等待开发者实现