项目简介
一款文字冒险类人生模拟游戏,玩家通过对话框选择不同选择来度过一生。核心创新:采用 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 提供商
- 剧情记忆 - 使用向量数据库存储历史剧情,辅助生成更连贯的故事
- 存档系统 - 玩家可保存/加载游戏进度
- 成就系统 - 完成后解锁成就徽章
- 多人模式 - 玩家可以比较不同选择下的人生轨迹
⚖️ 合规性声明
法律合规: 本游戏所有内容均符合我国法律法规:
- LLM 生成限制 - 系统提示词内置合规要求,生成的剧情不包含违规内容
- 用户输入审查 - 用户输入需经过合规检查,不合格内容不触发剧情
- 虚拟设定 - 游戏货币为虚拟设定,不涉及真实货币交易
- 婚姻观 - 遵循一夫一妻制,倡导文明婚俗
- 价值观引导 - 结局倡导正面价值观,君子爱财取之有道
🤝 参与贡献
这是一个开源方案设计,期待有兴趣的开发者来实现!完整方案文档位于 docs/superpowers/plans/ 目录。
方案状态: 设计方案已完成,等待开发者实现