Files
xsl 0652c2f0e6 research(hunt-sim): 10 人并发在线模拟×多 agent 设计迭代——研究设施与全套档案
研究命题(00-plan):验证并打磨《围猎》联机纯音频体验——不是逻辑能跑通,
而是真人玩起来是什么体验、愿不愿意再来一局。

设施 web/harness/hunt-sim/(可复用,零依赖):
- arena.mjs 编排器:起真实服务器(随机端口+临时数据目录隔离),10 个拟人客户端
  经真实 WS 同时在线,错峰组队、真实时长对局、局间状态跨轮维护
- sim-client.mjs:game.js 行为移植(协议+手势路由+R1-R8 音频调度逐字节对齐),
  产出「玩家耳朵听到什么」的感知时间线(语音全文/loop 方位音量档/喊话/震动)
- brain.mjs:人设大脑——察觉延迟/前后判读(以真值为条件的正确率模型)/掩蔽放大/
  冷却乱滑/技能囤积/呼喊倾向/分心断网,全部随机判定用按实体 id 哈希的独立抽签
  (mulberry32 流会被刷怪座位轮转结构带偏,实测造成系统性镜像反转,已证伪)
- recorder.mjs:每人每局 events.jsonl 全量 + percept.md 感知转写 + 对局速览

研究档案 research/hunt-sim/:
- players/:10 人配置(LLM 亲笔)+策略自述+逐局去留决策+人设终评+退游者重访
- rounds/:v1 三轮(R0 教学+R1/R2 真人快速)+ v2 复测两轮,共 48 局全记录
- analysis/01-04:数值曲线/音频信息设计/协作社交/上手留存四视角报告
- synthesis.md(S1-S9 裁定)、metrics.md/metrics-v2.md(两版对比总账)、report.md(总报告)

v1 核心发现:10 人 3 轮 28 局 100% 胜率 26S/营地零损耗;击杀垄断(专家单人 30/39);
呼喊 3 次/28 局应答 0;N/S 前后判读仅 63/69% 可命中;四种退游死因
(失衡/社交真空/交互摩擦/观光无聊)→ 详见 report.md
2026-09-19 11:06:07 +08:00

130 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 《围猎》10 人并发在线模拟 × 多 agent 设计迭代 — 研究计划
> 启动:2026-09-18 | 上级文档:[HANDOVER](../../HANDOVER.md) §7 MMORPG 路线、[23-hunt](../../docs/design/23-hunt.md)
> 用户指令:开多个 agent(一个代表一个玩家),先模拟 10 个玩家同时在线玩《围猎》,
> 再开多个 agent 根据模拟结果迭代游戏设计;过程中充分记录各种状态和数据;
> 最终目的:做一款真正吸引人、玩家愿意玩的音频游戏。
## 0. 方法论声明(为什么这么做)
**目标**:验证并打磨《围猎》作为联机纯音频游戏的吸引力——不是「逻辑能跑通」
(服务器单测 hunt-sim.test.mjs 已覆盖),而是「真人玩起来是什么体验、愿不愿意再来一局」。
**两难与解法**:LLM agent 单次决策往返需数秒到数十秒,而《围猎》的近战窗是
eta≤4s、出击冷却 2.5s——让 LLM 字面意义地实时逐手势操作,测到的是 agent 网络延迟
而非游戏设计,数据会被系统性污染。因此采用项目既有方法论(new8 八款验证过的
「程序化拟人 driver + LLM 人设评审」,见 research/new8/00-program.md)的加强版:
- **每个玩家 = 一个 LLM subagent**,其职责分三段:
1. **赛前(灵魂注入)**:读自己的人设卡 + 游戏背景,亲笔写下自己的「玩家大脑配置」
(反应延迟/方位混淆率/技能习惯/呼喊倾向/分心中断等 20+ 参数)与策略自述——
这就是「这个人在真实房间里会怎么打」。
2. **赛中(身体执行)**:竞技场编排器用该配置驱动一个拟人玩家模型,通过**真实
WebSocket 协议**连上**真实服务器**,与其他 9 人同时在线打真实时长的对局
(教学局 + 快速局)。感知模型逐字节移植自真实客户端 game.js 的渲染规则
(loop ≤3 路 / 音量分档 / pan / 后半平面×0.6 / 喊话调度 / 语音时长全部对齐),
玩家模型只根据「耳朵能听到什么」做决策,方位要靠 pan 判读、会听错。
3. **局间与赛后(主观意志)**:每打完一局,玩家 agent 读自己的**感知转写**
(这一局里耳朵听到了什么的逐秒记录),决定「再来一局 / 走人」并写即时感受;
全部打完后写结构化人设终评(状态感知/下一步明确性/愿意继续玩/P0/建议,
沿用 research/04-playtests/personas.md 格式)。
- **多个分析 agent** 在 Phase 2 分视角审全部记录(数值曲线/音频信息设计/协作动态/
上手与留存),产出设计迭代清单;synthesis 裁定 P0/P1;实施后**同阵容复测对比**。
**这一架构里 LLM 的判断力用在它擅长的位置**(人格、策略、主观体验、去留决策、
设计分析),反射层交给校准过的程序(人类反应本来就是脊髓级别的)。
## 1. 研究问题(评审 agent 逐一回答)
| # | 问题 | 数据来源 |
|---|---|---|
| Q1 | 5 波难度曲线对不同水平玩家是否成立(首胜率/失守点/评级分布)? | 对局结果 + 逐波 breach |
| Q2 | 8 方位 pan 判读的真实错误率:前后/斜对角/低音量档差多少?玩家学得会吗? | 感知模型的方位混淆账 |
| Q3 | 音频信道拥挤(R1-R8):旁白播报掩蔽 loop 导致的漏怪有多少?警报可达性? | 转写中 voice 在播窗 vs breach 时刻对账 |
| Q4 | 协作是否成立:呼喊-补位闭环真人会用吗?bot 队友的存在感/可信度? | callout 账 + 玩家终评 |
| Q5 | FTUE:教学房时长/错误/卡点;二周目是否还愿意进? | 教学局转写 + 去留决策 |
| Q6 | 留存钩子:打完一局想再来吗?什么时刻让人想走(败局/混乱/无聊)? | 局间去留 + 终评 |
| Q7 | 玩法天花板:optimal 玩家与 novice 的差距是否「可追赶」(不是天赋锁死)? | 与 hunt-balance-scan 对照 |
## 2. 十张人设卡(P01-P10)
> 蓝本来自 research/04-playtests/personas.md 的 P1-P4 四原型,为联机协作场景扩展为 10 人。
> 每位玩家 agent 拿到自己的一张卡。卡的「参数倾向」只是建议区间,agent 可在自己
> 判断下偏离(需在策略自述里说明理由)。
| # | 代号 | 原型 | 背景/场景 | 参数倾向 |
|---|---|---|---|---|
| P01 | 老鹰 | P1 视障资深 | 先天失明 15 年读屏,audiogames.net 老用户,Blind Drive 竞速榜玩家。安静书房,有线耳机,愿意深玩 | 反应快(react 0.6-0.9s)、方位判读准(斜向混淆 <8%)、技能/呼喊用得系统 |
| P02 | 小鹿 | P2 大学生 | 20 岁,原神/明日方舟深度玩家,躺床戴耳机,23:30 睡前 | 中反应(0.9-1.4s)、好奇(会试上滑状态/菜单)、败局容忍中 |
| P03 | 通勤客 | P3 白领 | 32 岁地铁单程 25 分钟,站立单手持机,嘈杂,随时被打断 | 反应慢(1.4-2.2s)、每局 1-2 次分心中断(8-15s)、方位判读差 |
| P04 | 老赵 | P4 工人 | 45 岁工地收工,宿舍外放小音量,反应不快,游戏经验少 | 反应慢(1.6-2.4s)、教学可能做错、呼喊不主动、但沉得住气 |
| P05 | 独狼 | 新原型 | 28 岁程序员,单人游戏主义者,从不开语音不喊话,操作精准 | 反应快、方位准、**从不呼喊**(callout discovered=false)、专注输出 |
| P06 | 社交花 | 新原型 | 24 岁,开黑爱好者,王者荣耀辅助位,爱指挥爱报点 | 反应中、呼喊积极(阈值低)、爱听 bot 队友回应、波间爱上滑看状态 |
| P07 | 暴躁哥 | 新原型 | 22 岁,FPS 玩家,脾气急,输了就想摔手机 | 反应极快(0.5-0.8s)、冷却内乱滑(noviceSpam 高)、失守后大概率走人 |
| P08 | 谨慎姐 | 新原型 | 35 岁,玩动物森友黏,不爱冲突,怕犯错 | 反应中慢、旋风斩囤着不用(阈值高)、被连续突入会慌(panicSpin) |
| P09 | 挂机侠 | 新原型 | 19 岁,边看视频边玩,注意力随机离线 | 反应漂移大(0.8-2.8s)、每局长分心 2-3 次、可能中途断网重连 |
| P10 | 新手小白 | 新原型 | 30 岁,第一次玩音频游戏,朋友推荐来的 | 全参数保守:慢、混淆率高、教学逐步跟、第一次失守可能直接走 |
设备/环境画像进入感知模型:通勤客与挂机侠的语音掩蔽系数更高(嘈杂/分屏),
老赵外放 → 方位判读惩罚,蓝牙耳机延迟(暴躁哥蓝牙 +150ms 动作延迟)。
## 3. 会话剧本(Phase 1 执行流程)
```
R0 教学轮 10 人各自进教学房(单人+2bot,服务端强制)——FTUE 测量
↓ [10 个玩家 agent 读自己的教学局转写 → 决定:继续/走人 + 一句话感受]
R1 快速轮 幸存者进快速匹配池(真实组队:4+4+2 或按幸存数)
↓ [同上局间决策]
R2 快速轮 幸存者再战(房间重新洗牌)
↓ [10 个玩家 agent 写人设终评(含中途退出者)]
```
- 每局都是**真实时长**(教学 ~3-4min、快速 ~3min),真实服务器进程(随机端口 +
临时数据目录,与生产数据隔离)。
- 玩家可以中途走人(配置/局间决策决定),槽位按 §6.6 转 bot——本身就是被测行为。
- P09 的 netDrop、P03 的分心、P07 的乱滑都走真实协议路径(客户端本地拦截在
玩家模型里等价复刻:乱滑只记手势不发 act)。
## 4. 记录产物(全部落 research/hunt-sim/round<N>/)
| 产物 | 内容 |
|---|---|
| `players/PXX.config.json` + `PXX.strategy.md` | 玩家 agent 亲笔的大脑配置与策略自述 |
| `players/PXX.decisions.md` | 局间去留决策 + 即时感受(逐局追加) |
| `players/PXX.review.md` | 人设终评(结构化,personas.md 格式 + hunt 专项问题) |
| `matches/<matchId>/PXX.percept.md` | 每人每局**感知转写**:逐秒「耳朵听到了什么」(语音全文/sfx/loop 方位音量档/震动/静默)+ 自己的手势与归因 |
| `matches/<matchId>/PXX.events.jsonl` | 原始全量:服务器每条消息(含 ts)/感知事件/手势与 act/内部状态快照 |
| `matches/<matchId>/match.json` | 对局档案:房间构成/seed/结果/逐波统计/每人击杀/失误/方位混淆账 |
| `metrics.json` + `summary.md` | 全场汇总指标(Q1-Q7 口径) |
| `analysis/*.md` | Phase 2 各分析 agent 报告 |
| `synthesis.md` | 裁定清单(P0/P1/P2 + 修法 + 预期指标变化) |
## 5. Phase 2 分析 agent 分工(每视角一个 subagent)
1. **数值曲线**:Q1/Q7——胜率-评级分布、逐波 breach、bot 带飞占比、与
hunt-balance-scan 的 idle/bot/optimal 三基准对照。
2. **音频信息设计**:Q2/Q3——方位混淆账(前/后 × 主/斜 × 音量档)、语音掩蔽窗
对账、警报可达性、拥挤规则 R1-R8 在真实并发下的表现。
3. **协作与社交**:Q4——呼喊使用率与响应链、补位感知(玩家知道队友来了吗)、
bot 台词存在感、独狼 vs 社交花的体验差。
4. **上手与留存**:Q5/Q6——教学时长/卡点/错误分布、去留决策树(什么体验导致
走人)、再来一局的钩子在哪。
5. (合成)**synthesis**:合并四报告 → 按「对愿意玩下去的影响」排序的修复清单。
## 6. 迭代与复测纪律
- 修复只动设计参数与逻辑(server/client/台词接线),**不动 10 人配置与人设**
(同阵容复测才有可比性);数值调优可另跑 hunt-balance-scan 多种子验证。
- 复测对比指标:胜率/评级分布、方位混淆率、掩蔽漏怪数、去留率、终评均分。
- 每轮记录齐套入 `research/hunt-sim/round<N>/`,裁定记录不改、新结论写新文档
(项目协作约定 §8.2)。
## 7. 已知边界(诚实声明)
- 玩家模型是「感知规则 + 配置驱动」的拟人代理,不是真人;它的参数是从人设卡
出发由 LLM 亲笔校准的,但真实人类的怪癖(学会新策略、情绪漂移)只通过局间
agent 决策部分体现。结论按「信息流层可信(何时听到什么/能不能判读)、
主观层参考(人设代入)」两档采信。
- 音色美感、响度平衡、立体声分离度等**听感层**不在本模拟范围(无真实音频渲染),
属真机人耳听测(roadmap §4)。转写里的 loop「听到」= 事件流上客户端会渲染它。