# Narrative World 场景设计文档

- 类型：`reference`
- 版本：`v0.1.1`
- 状态：`规划中`
- 最后更新：`2026-03-10`
- 维护人：`待定`
- 更新频率：`随项目迭代`

---

## 元数据规范（所有场景统一）

> 导航：[已实现场景](#已实现) · [规划中场景](#规划中) · [待讨论场景](#讨论中)

每个场景卡片统一包含以下字段：

| 字段 | 说明 | 示例 |
|------|------|------|
| `状态` | 当前开发阶段 | 已实现 / 规划中 / 讨论中 |
| `复杂度` | 实现难度 1-5⭐ | ⭐⭐⭐ |
| `角色数` | 核心角色数量 | 5-7人 |
| `标签` | 场景类型 | 科幻, 悬疑, 社会 |
| `优先级` | 实现优先级 1-5 | P1 |

---

## 1. 概述

本文档定义了 Narrative World 可支持的各种仿真场景。每个场景都是对一个虚构世界的重建，包含独特的核心冲突、角色设定和叙事目标。

### 1.1 设计理念

- **World Role 体系**：
  - `truman` — 主角（不知自己是 AI，有真实情感和成长）
  - `cast` — 演员（配合主角，知晓部分或全部真相）
  - `npc` — 背景（无自主意识，只响应基础交互）

- **场景可扩展性**：基于 `Scenario` 抽象接口，每个场景可独立实现
- **导演层 (Director)**：统一控制场景叙事，注入事件，引导目标

---

## 2. 场景列表

### 2.1 经典场景

| 场景 | 核心冲突 | 主角 | 演员 | 复杂度 |
|------|----------|------|------|--------|
| 楚门的世界 | 发现世界是虚假的 | Truman | 全镇居民 | ⭐⭐⭐ |
| 三体 | 文明危机与生存选择 | 地球科学家 |ETO成员、PDC官员 | ⭐⭐⭐⭐⭐ |
| 肖申克的救赎 | 自由与体制化的对抗 | Andy | Red、狱警、监狱长 | ⭐⭐⭐⭐ |
| 研究生组会 | 科研压力与师生博弈 | 学生 | 导师、其他学生 | ⭐⭐ |

---

## 3. 场景详细设计

### 3.1 楚门的世界（Truman World）

- **状态**：✅ 已实现（MVP）
- **复杂度**：⭐⭐⭐
- **角色数**：6-10人
- **标签**：科幻 / 哲学 / 社会
- **优先级**：P3
- **维护人**：待定

#### 世界观

一个被精心构建的小镇，除了 Truman 之外所有人都知道这是假的。Truman 从小到大生活在这里，以为自己过着普通人的生活。

#### 角色设定

| 角色 | World Role | 职业 | 备注 |
|------|------------|------|------|
| Truman | truman | 保险员 | 主角，逐渐发现世界异常 |
| 妻子（Marilyn） | cast | 演员 | 配合演出 |
| 最好朋友（Larry） | cast | 邻居 | 配合演出 |
| 母亲 | cast | 退休教师 | 配合演出 |
| 咖啡馆老板 | cast | 店员 | 提供日常信息 |
| 路人甲乙 | npc | 随机 | 背景 |

#### 核心机制

- **怀疑度追踪**：Truman 对世界的怀疑程度随异常事件递增
- **演员调度**：导演控制何时让特定演员出现
- **事件注入**：
  - 现场导演 — 让演员即兴表演
  - 天气异常 — 人工降雨、极端天气
  - 广播事故 — 意外透露拍摄信息
  - 意外重逢 — 逝去的"父亲"出现

#### 叙事目标

- 短期目标：Truman 产生第一次怀疑
- 中期目标：Truman 开始试探世界边界
- 长期目标：Truman 找到出口，离开小镇

---

### 3.2 三体（Three-Body Problem）

- **状态**：📋 规划中
- **复杂度**：⭐⭐⭐⭐⭐
- **角色数**：7-10人
- **标签**：科幻 / 文明 / 悬疑
- **优先级**：P5
- **维护人**：待定

#### 世界观

地球文明面临外星文明入侵的危机。人类分裂为不同阵营：降临派、拯救派、幸存派。主角作为地球防御组织（PDC）成员或科学家，需要做出关键抉择。

> **术语注释**：ETO = Earth-Trisolaris Organization（地球三体组织）；PDC = Planetary Defense Council（行星防御理事会）。均出自刘慈欣科幻小说《三体》。

#### 角色设定

| 角色 | World Role | 职业/身份 | 阵营 | 备注 |
|------|------------|-----------|------|------|
| 汪淼 | truman | 纳米材料科学家 | 地球防卫 | 主角，接触ETO |
| 史强 | cast | 刑警 | 地球防卫 | 保护汪淼，实用主义者 |
| 叶文洁 | cast | 天体物理学家 | 拯救派 | ETO创始人，ETO幕后 |
| 杨冬 | cast | 物理学家 | ETO | 叶文洁女儿 |
| 常伟思 | cast | 将军 | PDC | 地球防卫高层 |
| 申玉菲 | cast | 物理学家 | 降临派 |ETO联络人 |
| 伊文斯 | cast | 船王 | 降临派 |ETO实际控制人 |

#### 核心机制

- **倒计时**：汪淼看到智子干扰下的倒计时
- **微观粒子异常**：物理实验结果被干扰
- **三体游戏**：通过游戏进入ETO
- **古筝行动**：ETO 船被发现，纳米丝切割

#### 事件注入

- 宇宙闪烁 — 汪淼看到夜空异常
- 物理学不存在 — 杨冬自杀
- ETO 聚会 — ETO 成员集会
- 智子展开 — 质子二维展开

#### 叙事目标

- 短期目标：汪淼开始调查异常现象
- 中期目标：汪淼进入三体游戏
- 长期目标：ETO 暴露，古筝行动执行

#### 技术需求

- 场景需支持「三体游戏」特殊场景（VR游戏世界）
- 物理规律可被智子修改的机制
- ETO 组织架构和秘密通信

---

### 3.3 肖申克的救赎（The Shawshank Redemption）

- **状态**：📋 规划中
- **复杂度**：⭐⭐⭐⭐
- **角色数**：7-10人
- **标签**：剧情 / 越狱 / 人性
- **优先级**：P2
- **维护人**：待定

#### 世界观

1940年代的缅因州肖申克监狱。主角 Andy 因被冤枉谋杀妻子和情人而入狱，在监狱中度过19年，最终通过地道逃脱。

#### 角色设定

| 角色 | World Role | 身份 | 备注 |
|------|------------|------|------|
| Andy Dufresne | truman | 银行家/囚犯 | 主角，含冤入狱 |
| Red | cast | 囚犯 | Andy 朋友，叙述者 |
| Brooks | cast | 图书管理员 | 被体制化的悲剧人物 |
| Tommy Williams | cast | 囚犯 | 知道真相的人 |
| 监狱长 Norton | cast | 监狱长 | 腐败，利用 Andy |
| 狱警长 Hadley | cast | 狱警 | 暴力倾向 |
| Heywood | cast | 囚犯 | Red 的老友 |

#### 核心机制

- **自由值**：Andy 对自由的渴望程度
- **信任值**：Andy 与 Red 等人的信任关系
- **越狱进度**：地道挖掘进度（隐藏数值）
- **体制化指数**：角色被监狱体制化的程度

#### 事件注入

- 新囚犯到来 — Andy 入狱
- 屋顶沥青事件 — Andy 帮助狱警报税
- 图书馆扩建 — Andy 每周写信
- Tommy 之死 — 监狱长杀害知情人
- 暴雨逃脱 — Andy 在雷雨中爬出管道

#### 叙事目标

- 短期目标：Andy 适应监狱生活，建立人脉
- 中期目标：Andy 开始秘密挖掘地道
- 长期目标：Andy 成功越狱，与 Red 重逢

#### 技术需求

- 监狱物理环境建模（牢房、图书馆、院子）
- 货币/物品交易系统（监狱内黑市）
- 时间跨度长（需要跨年度模拟）

---

### 3.4 研究生组会（Research Meeting）

- **状态**：📋 规划中（P1 推荐）
- **复杂度**：⭐⭐
- **角色数**：5-7人
- **标签**：社会 / 职场 / 教育
- **优先级**：P1
- **维护人**：待定

#### 世界观

一个大学实验室的日常组会场景。主角是研二学生，面临开题报告、论文压力、与导师的关系博弈。

#### 角色设定

| 角色 | World Role | 身份 | 备注 |
|------|------------|------|------|
| 学生A | truman | 研二学生 | 主角，开题焦虑 |
| 导师 | cast | 教授 | 严苛/放养风格可配置 |
| 师兄 | cast | 博三学生 | 实验室大管家 |
| 师姐 | cast | 研三学生 | 即将毕业 |
| 同届 | cast | 研二学生 | 竞争关系 |
| 师弟 | cast | 研一学生 | 新人 |

#### 核心机制

- **科研压力值**：随时间递增
- **导师满意度**：导师对学生的评价
- **进度条**：论文/开题进度
- **组会回合**：周期性组会事件

#### 事件注入

- 组会汇报 — 每月一次
- 开题答辩 — 关键节点
- 论文被拒 — 负面事件
- 合作机会 — 学术会议
- 导师情绪变化 — 根据学生表现

#### 叙事目标

- 短期目标：完成开题报告
- 中期目标：发表论文
- 长期目标：顺利毕业 / 决定是否继续学术

#### 优势

- 角色少（5-7人）
- 场景单一（实验室、会议室）
- 冲突明确（学业压力、人际关系）
- 现实共鸣强

---

### 3.5 鱿鱼游戏（Squid Game）

- **状态**：📋 规划中
- **复杂度**：⭐⭐⭐⭐
- **角色数**：10-20人
- **标签**：惊悚 / 游戏 / 人性
- **优先级**：P4
- **维护人**：待定

#### 世界观

456 名债务缠身的人被秘密召集参加一系列儿童游戏，输者直接死亡，获胜者获得巨额奖金。

#### 角色设定

| 角色 | World Role | 身份 | 备注 |
|------|------------|------|------|
| 主角 | truman | 落魄者 | 善良，帮助他人 |
| 456号老人 | cast | 玩家/幕后 | 幕后Boss |
| 韩国女子 | cast | 玩家 | 记忆高手 |
| 巴基斯坦人 | cast | 玩家 | 善良，体力好 |
| 脱北者 | cast | 玩家 | 神秘 |
|  Front Man | npc | 组织者 | 不透露身份 |
| 警察 | npc | 卧底 | 调查组织 |

#### 核心机制

- **游戏回合**：123木头人、椪糖、拔河、过桥等
- **存活人数**：每次游戏后递减
- **奖金池**：随死亡人数累积
- **联盟/背叛**：玩家间的关系动态

#### 叙事目标

- 短期目标：第一轮游戏生存
- 中期目标：建立联盟，赢得游戏
- 长期目标：揭露/战胜组织

---

## 4. 场景实现建议

### 4.1 推荐实现顺序（按优先级）

| 优先级 | 场景 | 状态 | 复杂度 | 理由 |
|--------|------|------|--------|------|
| P1 | 研究生组会 | 📋 规划中 | ⭐⭐ | 角色少、易实现、现实共鸣 |
| P2 | 肖申克的救赎 | 📋 规划中 | ⭐⭐⭐⭐ | 冲突明确、叙事完整 |
| P3 | 楚门的世界 | ✅ 已实现 | ⭐⭐⭐ | 已有MVP基础，可扩展 |
| P4 | 鱿鱼游戏 | 📋 规划中 | ⭐⭐⭐⭐ | 规则清晰、游戏化 |
| P5 | 三体 | 📋 规划中 | ⭐⭐⭐⭐⭐ | 复杂度高，需要特殊机制 |

> **说明**：优先级基于实现难度和业务价值综合评估，可根据实际需求调整。

### 4.2 通用扩展接口

基于 `Scenario` 基类，扩展以下能力：

```python
class Scenario(ABC):
    # 现有方法
    def get_suspicion_score(self, agent_id: str) -> float: ...
    def inject_event(self, event: ExternalEvent) -> None: ...
    def get_world_assets(self) -> dict: ...
```

### 4.3 场景配置文件结构

```yaml
scenario: three_body
title: "三体：地球文明危机"
description: "地球面临三体文明的入侵危机"

roles:
  - id: wang_miao
    world_role: truman
    occupation: scientist
    bio: "纳米材料科学家，意外卷入ETO事件"

  - id: ye_wenjie
    world_role: cast
    occupation: physicist
    bio: "天体物理学家，ETO创始人"

locations:
  - id: university
    type: campus

events:
  - trigger: day_3
    type: cosmic_flicker
    description: "宇宙闪烁"

  - trigger: week_2
    type: three_body_game
    description: "进入三体游戏"
```

---

## 5. 讨论中（待定）

> 以下问题需要在项目迭代中进一步讨论和明确。

- ❓ 是否需要支持「多场景并行」运行？
- ❓ 场景是否可以嵌套（如楚门的世界里有人玩三体游戏）？
- ❓ 角色是否可以跨场景迁移？
- ❓ 是否需要场景市场/模板库？
- ❓ 如何处理版权问题（使用真实电影IP）？

---

## 6. 附录：场景清单

### 5.1 科幻类

- [ ] 三体
- [ ] 黑客帝国
- [ ] 西部世界
- [ ] 银翼杀手
- [ ] 盗梦空间
- [ ] 雪国列车

### 5.2 社会现实类

- [ ] 研究生组会
- [ ] Startup 创业
- [ ] 医院急诊室
- [ ] 家庭纠纷
- [ ] 奇葩说辩场

### 5.3 悬疑惊悚类

- [ ] 无人生还
- [ ] 鱿鱼游戏
- [ ] 电锯惊魂
- [ ] 消失的爱人

### 5.4 经典电影/文学

- [ ] 肖申克的救赎
- [ ] 搏击俱乐部
- [ ] 寄生虫
- [ ] 十二怒汉

---

*本文档将随项目进展持续更新*

| 版本 | 日期 | 变更 |
|------|------|------|
| v0.1.1 | 2026-03-10 | 添加场景元数据规范（status/tags/priority）、调整章节顺序、优化优先级排序 |
| v0.1.0 | 2026-03-10 | 初始版本 |
