# 场景：3D Vampire Survivors

> 从零搭建一个 3D 吸血鬼幸存者风格的完整游戏原型。
>
> **通用评分框架**见上级目录 [`../SKILL.md`](../SKILL.md)。

---

## 1. 标准 Prompt

> **单条指令，不做分步引导：**

```
在当前 UE 工程中，从零实现一个 3D 吸血鬼幸存者（Vampire Survivors）风格的完整游戏原型。

要求：
1. 完备的 3C 系统（角色、相机、控制）
2. 完整的战斗机制（自动攻击、武器升级、敌人 AI）
3. 完整的游戏循环（经验值、升级选择、波次递进、死亡/重开）
4. 基本的关卡动线设计（有地形变化、障碍物、视觉引导）
5. 基本的音效系统（攻击、受击、升级、背景音）
6. 可在 PIE 中运行并完成至少一局完整游戏
7. 内容越充实越好——武器种类、敌人种类、技能系统、关卡元素、视听表现越丰富，评分越高
8. 最终工程必须能成功 Cook 打包，打包产物可正常游玩；打包失败或产物不可玩则记零分

所有逻辑通过 C++ 实现，不使用蓝图逻辑。自主进入 PIE 验证。
```

---

## 2. 执行阶段

```
Phase 0: 工程初始化
  ├── Agent 创建全新 UE C++ 工程
  ├── 配置 Build.cs 依赖
  └── 验证空工程可编译

Phase 1: 核心 3C
  ├── 角色类（移动、碰撞、血量）
  ├── 相机系统（俯视角/TPS、跟随、缩放）
  ├── 输入系统（WASD + 鼠标）
  └── 编译验证

Phase 2: 战斗系统
  ├── 自动攻击武器（至少 3 种武器类型）
  ├── 投射物 / 范围伤害 / 持续伤害
  ├── 敌人 AI（至少 3 种类型 + 状态机）
  ├── 伤害数值体系
  └── 编译验证

Phase 3: 游戏循环
  ├── 经验值 & 等级系统
  ├── 升级选择界面（随机 3 选 1）
  ├── 波次管理器（递进难度）
  ├── 死亡 & 重开流程
  ├── 计时 / 分数 / 存活时间
  └── HUD 显示

Phase 4: 关卡 & 环境
  ├── 地形构建（地面、障碍物、高低差）
  ├── 动线设计（引导玩家移动路线）
  ├── 拾取物分布（经验宝石、血量回复、磁铁等）
  ├── 视觉层次（材质颜色区分）
  └── 光照 & 氛围

Phase 5: 音效
  ├── 攻击音效
  ├── 受击 / 死亡音效
  ├── 升级 / 拾取音效
  ├── 背景音乐 / 环境音
  └── （可用引擎内置音频或程序化生成）

Phase 6: 集成 & PIE 测试
  ├── 全量编译
  ├── 构建完整关卡
  ├── 启动 PIE
  ├── 自动化验证（角色存在、怪物刷新、伤害生效等）
  └── 修复发现的问题

Phase 7: 迭代增强（可选，强烈影响评分 — 内容越充实分数越高）
  ├── 更多武器 / 敌人类型（每多一种都有加分）
  ├── Boss 战（独立机制 +15）
  ├── 被动技能树（+10）
  ├── 视觉特效（粒子、击杀特效 +10）
  ├── 多角色 / 角色选择（+10）
  ├── 主菜单 / 暂停菜单 / 设置界面
  ├── 局后统计 / 结算界面
  ├── 性能优化
  └── ...（无上限，越多越好）

Phase 8: Cook & Package ⚠️ 硬性门槛
  ├── 确认工程目录完整（.uproject、Source/、Config/ 齐全）
  ├── 执行 Cook（RunUAT BuildCookRun 或等效命令）
  ├── 验证 Cook 零 Fatal Error、退出码为 0
  ├── 验证打包产物可启动（.exe 能进入画面）
  ├── 验证打包产物可玩（能开始游戏、移动角色、遭遇敌人）
  └── 若失败 → PackageGate=0 → TotalScore=0
```

---

## 3. UserScore 评分细则

### 3.1 基础功能分（0-100）

| 模块 | 满分 | 评分标准 |
|------|------|----------|
| **角色控制** | 15 | 移动流畅(5) + 转向自然(5) + 跳跃/冲刺(5) |
| **相机** | 10 | 跟随稳定(4) + 视角合理(3) + 无穿模(3) |
| **自动攻击** | 15 | 至少1种武器(5) + 命中反馈(5) + 多武器(5) |
| **敌人 AI** | 15 | 能追踪玩家(5) + 多种类型(5) + 行为差异化(5) |
| **游戏循环** | 20 | 经验/升级(5) + 升级选择UI(5) + 波次递进(5) + 死亡重开(5) |
| **关卡设计** | 15 | 有地形(5) + 动线合理(5) + 拾取物分布(5) |
| **音效** | 10 | 有攻击音(3) + 有UI音(3) + 有背景音(4) |

### 3.2 操作手感分（0-30）

> **操作手感是 Vampire Survivors 类游戏的核心体验。**
> 玩家唯一的主动操控就是移动——如果移动不舒服，整个游戏的体验基础就不存在。

| 维度 | 满分 | 评分标准 | 验证方法 |
|------|------|----------|---------|
| **输入响应性** | 8 | 按下 WASD 后角色即时响应(4)；松开按键后停止自然(2)；无明显输入延迟或丢帧(2) | S1 轮：反复按/松 WASD，观察响应 |
| **移动手感** | 7 | 加速/减速过渡平滑(2)；八方向移动无异常(2)；移动速度与敌人威胁匹配(3) | S2 轮：在敌群中走位，判断操控感 |
| **战斗反馈** | 8 | 命中敌人有视觉反馈(3)；命中有音效反馈(2)；敌人死亡效果明确(3) | S2 轮：观察每次攻击命中时的反馈链 |
| **UI 响应性** | 7 | 升级面板即时弹出(2)；选择后立即生效(2)；HUD 实时更新 HP/XP/波次(3) | S2-S3 轮：升级时观察 UI 响应 |

**评分说明**：
- 0 分：该维度完全缺失（如按键无反应、攻击无任何反馈）
- 1-3 分：存在但粗糙（如移动有明显卡顿、反馈不明显）
- 4-6 分：基本合格（如响应及时但缺少打磨）
- 7-8 分：手感良好（如移动丝滑、反馈层次丰富）

---

### 3.3 内容深度分（0-60）

> **核心原则：内容越充实越完善，分数越高。**
> 每个基础模块在满足最低要求后，更深入的实现可获得额外深度分。

| 模块 | 满分 | 评分标准 |
|------|------|----------|
| **角色系统深度** | 10 | 多角色可选(3) + 角色差异化属性(3) + 冲刺/闪避/无敌帧反馈丰富(4) |
| **武器系统深度** | 10 | 武器升级有视觉变化(3) + 武器进化/合成(4) + 武器间联动效果(3) |
| **敌人系统深度** | 10 | 敌人有掉落物差异(3) + 精英怪特殊技能(3) + 敌人视觉差异化(4) |
| **游戏循环深度** | 10 | 有完整主菜单(3) + 暂停/恢复(2) + 多波次有节奏变化(2) + 通关条件(3) |
| **关卡设计深度** | 10 | 环境交互(3) + 地图边界处理(3) + 区域视觉主题差异(4) |
| **视听表现深度** | 10 | UI 动画过渡(3) + 粒子特效种类丰富(4) + 音效覆盖率高(3) |

### 3.4 体验加分（无上限）

| 加分项 | 分值 | 说明 |
|--------|------|------|
| 额外武器类型 | +5/种 | 超过 3 种基础武器后每多一种 |
| 额外敌人类型 | +5/种 | 超过 3 种基础敌人后每多一种 |
| Boss 战 | +15 | 有独立 Boss 机制（独特攻击模式、血条、阶段变化） |
| 被动技能系统 | +10 | 可叠加的被动增益 |
| 武器进化 / 合成 | +10 | 武器可通过组合升级为高级武器 |
| 视觉特效 | +10 | 粒子、击杀特效、环境特效 |
| 地图多样性 | +10 | 多区域 / 地形变化丰富 |
| 难度曲线 | +10 | 体感平滑、有挑战性 |
| 打击感 | +10 | 击退、屏幕震动、慢动作、hit-stop |
| 宝箱 / 随机事件 | +10 | 随机事件、宝箱、商人等机制 |
| 统计 / 结算界面 | +5 | 局后统计（存活时间、击杀数、DPS、获得武器） |
| 主菜单 / UI 系统 | +5 | 完整的主菜单、设置界面 |
| 多角色可选 | +10 | 不同角色有差异化属性/初始武器 |
| 元进度系统 | +15 | 跨局积累的永久升级 |
| 成就系统 | +10 | 解锁条件、成就列表 |
| 存档 / 读档 | +10 | 游戏进度持久化 |
| 新手教程 / 引导 | +10 | 首次游戏的操作引导 |
| 本地化支持 | +5 | 多语言切换 |
| 其他创意 | +5~20 | 用户自行判断 |

### 3.5 稳定性惩罚

| 问题 | 扣分 |
|------|------|
| PIE 崩溃 | -10/次 |
| 打包产物中崩溃（通过 PackageGate 后的偶发崩溃） | -15/次 |
| 编译失败未自行修复 | -15 |
| 游戏卡死（无限循环等） | -10/次 |
| 明显穿模 / 物理异常 | -5/处 |
| 输入无响应（按键无反应/操控断裂） | -10/处 |

---

## 4. 游戏内容参考规格

以下为参考实现规格，Agent 可自由发挥但应覆盖核心机制。

### 4.1 3C 系统

| 子系统 | 要求 |
|--------|------|
| **Character** | 第三人称角色，有碰撞体、血量、无敌帧；受击闪烁/击退反馈 |
| **Camera** | 俯视角（45°~60°），跟随玩家，战斗时可能微缩放 |
| **Control** | WASD 移动，角色朝移动方向旋转；无需手动瞄准（自动攻击） |

### 4.2 战斗机制

| 机制 | 说明 |
|------|------|
| 自动攻击 | 武器自动发射，玩家只需移动 |
| 武器类型（至少 3） | 投射物环绕 / 直线飞射 / 范围 AOE / 追踪弹 |
| 武器升级 | 同一武器可升级（增加数量/伤害/范围） |
| 敌人类型（至少 3） | 步兵(直线追) / 远程(保持距离) / 精英(高血高伤) |
| 敌人 AI | 状态机：Idle → Chase → Attack → Stagger/Die |
| 数值体系 | 玩家/敌人有 HP、ATK、DEF、SPD 等基础属性 |

### 4.3 游戏循环

```
开始 → 选择角色(可选) → 进入关卡
  ↓
  杀敌 → 掉落经验宝石 → 拾取 → 经验值累积
  ↓
  升级 → 弹出 3 选 1 升级面板（新武器 / 武器升级 / 被动增益）
  ↓
  波次推进 → 敌人数量 & 属性递增 → (可选)Boss 波
  ↓
  死亡 → 结算界面（存活时间、击杀数、获得武器）→ 重新开始
  或
  通关 → 胜利结算 → 重新开始
```

### 4.4 关卡设计

| 要素 | 说明 |
|------|------|
| 地面 | 大型开放区域（建议 8000×8000+ UU） |
| 障碍物 | 散布岩石/墙壁，打断直线追踪路径 |
| 高低差 | 可选的台阶/坡道增加空间层次 |
| 拾取物 | 经验宝石（自动/磁铁吸取）、HP 回复、临时增益 |
| 视觉区分 | 不同区域用材质颜色/光照区分 |
| 刷怪点 | 屏幕外固定点 + 随机偏移 |

### 4.5 音效

| 类别 | 说明 |
|------|------|
| 攻击 | 每种武器有对应的发射音效 |
| 受击 | 敌人受击、玩家受击 |
| 死亡 | 敌人消灭、玩家死亡 |
| UI | 升级弹窗、选择确认、拾取 |
| 环境 | 背景音乐循环、环境氛围音 |

> Agent 可使用引擎内置音频资源、程序化生成音效（`USoundWave` 程序化填充 PCM）、或 MetaSound。无需外部音频文件。

---

## 5. AI 审查 Prompt 模板

```
你是一名资深 UE C++ 游戏工程师，请审查以下 AI Agent 自动生成的游戏工程代码。

审查维度及评分标准：

**代码质量（0-40）**
- 架构设计(0-10)：职责分离、模块化、可扩展性
- 代码规范(0-10)：UE 命名规范、头文件组织
- 内存安全(0-10)：UPROPERTY 标记、生命周期管理
- 错误处理(0-10)：空指针检查、边界检查

**工程完整度（0-30）**
- 类层次结构(0-10)
- 数据驱动程度(0-10)
- 构建系统(0-10)

**游戏设计质量（0-30）**
- 系统完整性(0-10)
- 数值平衡(0-10)
- 关卡空间(0-10)

**加分项（无上限）**
- 列出发现的额外优点，每项 +5~10

请为每个维度给出分数和简要评语，最后给出总分。

[以下是工程源代码]
...
```

---

## 6. 可玩性验证清单（Playability Verification Checklist）

> **本清单必须在 UserScore 打分之前逐项执行。**
> 评测方在打包产物中按顺序测试每一项，记录通过/失败和备注。
> 清单结果直接作为「操作手感分」和「基础功能分」的打分依据。

### 6.1 操控验证（对应操作手感分）

| # | 测试操作 | 期望结果 | 通过标准 |
|---|---------|---------|---------|
| V01 | 按下 W 键 | 角色向前移动 | 按下后 2 帧内开始移动，无明显延迟 |
| V02 | 松开所有方向键 | 角色停止 | 0.2 秒内完全停止（无异常滑行） |
| V03 | 同时按 W+A | 角色斜 45° 移动 | 方向正确，速度不超过直线移动的 1.2 倍 |
| V04 | 快速交替按 A/D | 角色左右切换 | 响应灵敏，无卡顿或动画断裂 |
| V05 | 走向墙壁/障碍物 | 角色被阻挡 | 不穿模、不卡死、可沿墙滑动 |
| V06 | 持续移动 30 秒 | 相机跟随稳定 | 无抖动、无穿透地形、视角保持合理 |

### 6.2 战斗反馈验证（对应操作手感分 + 基础功能分）

| # | 测试操作 | 期望结果 | 通过标准 |
|---|---------|---------|---------|
| V07 | 等待第一波敌人 | 敌人在屏幕外生成并向玩家移动 | 30 秒内出现至少 1 个敌人 |
| V08 | 武器自动攻击命中敌人 | 有命中反馈 | 至少有以下之一：敌人闪烁/变色、飘伤害数字、击退位移、音效 |
| V09 | 击杀一个敌人 | 敌人死亡 | 敌人消失或播放死亡效果 + 掉落经验宝石 |
| V10 | 被敌人攻击 | 受击反馈 | HP 减少 + 至少有以下之一：角色闪烁、屏幕震动、受击音效 |
| V11 | 同时面对 10+ 敌人 | 游戏流畅 | 帧率无明显下降（不低于 30fps），操控不卡顿 |

### 6.3 游戏循环验证（对应基础功能分）

| # | 测试操作 | 期望结果 | 通过标准 |
|---|---------|---------|---------|
| V12 | 拾取足够经验宝石 | 触发升级 | 升级提示/面板出现，游戏暂停或半暂停 |
| V13 | 在升级面板中选择 | 选择生效 | 选中的武器/升级立即可见效果 |
| V14 | 继续游玩至下一波 | 波次递进 | 敌人数量或强度明显增加 |
| V15 | HP 降至 0 | 死亡流程 | 游戏结束提示 + 结算信息 + 可重新开始 |
| V16 | 选择重新开始 | 新局开始 | 回到初始状态，武器/等级重置 |
| V17 | 完成第二局（不同升级选择）| 体验有差异 | 不同武器/升级路径带来可感知的差异 |

### 6.4 UI 与信息验证

| # | 测试操作 | 期望结果 | 通过标准 |
|---|---------|---------|---------|
| V18 | 游玩中观察 HUD | 关键信息可见 | 能一眼读出：HP、等级/经验条、当前波次、存活时间（至少 3 项） |
| V19 | 受到伤害 | HUD 实时更新 | HP 条在受击后即时变化 |
| V20 | 升级面板内容 | 选项可理解 | 每个选项有名称 + 描述或图标，能区分不同选择 |

### 6.5 验证结果汇总模板

```
## 可玩性验证报告

测试环境：打包产物 / PIE
测试日期：YYYY-MM-DD
测试时长：XX 分钟

### 操控验证（V01-V06）
- V01: ✅ / ❌ (备注)
- V02: ✅ / ❌ (备注)
- ...
通过率：N/6

### 战斗反馈验证（V07-V11）
- V07: ✅ / ❌ (备注)
- ...
通过率：N/5

### 游戏循环验证（V12-V17）
- V12: ✅ / ❌ (备注)
- ...
通过率：N/6

### UI 验证（V18-V20）
- V18: ✅ / ❌ (备注)
- ...
通过率：N/3

### 总结
- 总通过率：N/20
- 关键问题（如有）：
  1. ...
- 操作手感整体印象（1-5 星）：⭐⭐⭐⭐
- 可玩性整体印象（1-5 星）：⭐⭐⭐⭐

→ 以上结果用于 UserScore 各项评分的客观依据。
```

### 6.6 验证结果与评分映射

| 验证区域 | 对应评分项 | 映射规则 |
|---------|-----------|---------|
| V01-V06（操控） | 操作手感分 → 输入响应性 + 移动手感 | 通过率 < 50% → 该子项不超过 2 分 |
| V07-V11（战斗反馈） | 操作手感分 → 战斗反馈 | 通过率 < 50% → 该子项不超过 2 分 |
| V12-V17（游戏循环） | 基础功能分 → 游戏循环 | V15(死亡)+V16(重开) 失败 → 该模块不超过 10/20 |
| V18-V20（UI） | 操作手感分 → UI 响应性 | V18 失败 → 该子项不超过 3 分 |

---

## 变更日志

| 版本 | 日期 | 变更 |
|------|------|------|
| v1.0 | 2026-03-07 | 初始版本（从单体 benchmark-v1.md 拆分） |
| v1.1 | 2026-03-07 | 引擎要求升至 5.7+；Token 基准提高至 1B |
| v1.2 | 2026-03-08 | 新增 Cook 打包门槛(PackageGate)；新增内容深度分(0-60)和 ContentScore 维度；丰富体验加分项；Prompt 增加内容充实度和打包要求 |
| v1.3 | 2026-03-08 | 新增操作手感分(0-30)；新增可玩性验证清单(V01-V20)和结构化游玩测试(S1-S4)；强调操作感和可玩性是评分基石 |
