研究命题(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
130 lines
10 KiB
Markdown
130 lines
10 KiB
Markdown
# 《围猎》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「听到」= 事件流上客户端会渲染它。
|