Files
SoundGame/research/hunt-sim/00-plan.md
T
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

10 KiB
Raw Blame History

《围猎》10 人并发在线模拟 × 多 agent 设计迭代 — 研究计划

启动:2026-09-18 | 上级文档:HANDOVER §7 MMORPG 路线、23-hunt 用户指令:开多个 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/)

产物 内容
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「听到」= 事件流上客户端会渲染它。