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

5.7 KiB
Raw Permalink Blame History

《围猎》10 人模拟 · Phase 2 synthesis(设计迭代裁定)

输入:metrics.md(28 局量化总账)+ analysis/01-04 四视角报告 + 10 份人设终评。 裁定人:制作人(主 agent)。本轮目标:把「10 人同玩 3 轮后 4 人退游」的主死因修到 可复测验证,同阵容复测对比(00-plan §6 纪律:10 人配置一字不改)。

0. 死因诊断汇总(谁为什么走)

退游者 死因链 对应报告
P01 专业玩家 下滑误触菜单×14 + 语音掩蔽战斗音轨 + 真人房零社交声道 + S 无含金量 →「第二局打完就没有下一局」 01/02/03/04
P03 通勤客 大神同房 0 出手纯观光 + 闲置提醒催「滑过去」但无怪可打(指引自相矛盾)→ 触发自设观光阈值 01/03/04
P05 独狼 三局满耐久 S 白送 →「没有可追的东西」红线(他预告过第三局白给就删,兑现) 01/04
P06 社交花 真人房 0 喊话 0 呼喊回应、bot 喊话被挤掉 56% →「真人房比 bot 房还冷」,上局警告兑现 03/04

四死因全部可修(04 判定),且高度互相纠缠:难度失衡(S 白送)同时杀死 P01/P05/P07 的 好胜心与 P03/P08 的参与感;社交真空单杀 P06;交互摩擦(菜单/冷却/羞辱文案)伤害所有人。

1. 本轮修复裁定(v2 批次,全部落地后同阵容复测)

从四报告 40+ 项提案中裁定 9 项 P0(跨报告收敛 ≥2 票优先):

# 修复 来源 改动面 新语音资产
S1 战斗态下滑恒出击:WAVE 中下滑弧内无怪也照常挥击(atk_swish 真话);菜单入口收窄到波间休整期与 LOBBY/END(E3 修订登记) 02-F10/03-A3/04-0-1 game.js + sim-client 0
S2 冷却反馈重做:冷却被拦只在每个冷却窗首拦震一次(连拦静默);冷却就绪轻震一记(触觉通道,无语音占用) 02-F6/04-0-2 game.js + sim-client 0
S3 「你还没开张」下架:0 杀时状态链/结算链跳过 kill_band0(沉默优于羞辱;正向改写句列下轮 TTS 批) 03-B4/04-0-3 game.js + sim-client 0(改接线)
S4 看门狗重定义:WAVE 内本波有过出手/击杀 → 一级语音永不触发(等待是合法玩法);一级降为纯震;语音闲置每局 ≤1 次;「听声音的方向,滑过去」重教句只留在教学局 03-B4/04-0-4 game.js + sim-client 0
S5 协作人声包:①真人事件接 botline——杀熊/三连杀播该座角色 kill 句、旋风斩清 ≥3 播 skill 句、真人进房播 greet(§3.3「真人扮演座位角色」本就有声音身份,只是没接线);②呼喊必答——无 bot 应答时 2.5s 后由邻座角色自动 help_ack(服务端兜底,呼喊-应答闭环在真人房成立);③help_call/help_ack 客户端永不丢(等待投递,氛围句才可丢) 03-A1/B1/B3/04-0-7 hunt-room.js + game.js + sim-client 0(复用 24 句)
S6 后半平面第二线索:身后 loop 加低通滤波(音色发闷区别于响度发闷,双线索判读);harness 感知模型同步(muffled 线索下 rearDiscrim 有效 +0.1) 02-F1/04-0-5 前半 game.js + sim-client 0
S7 难度与评级重构:①4 人房波次量 ×1.3(3 人房维持现值);②3-5 波插入齐压拍——既有剧本内 2-3 只对向怪重定时到同秒进内圈(数量不变、种子确定性不变,单人冷却数学上必漏 → 呼喊/分工首次成为唯一解);③内圈防区优先窗 2s(怪进内圈头 2 秒只有该防区座位能打——弱者保底参与,专家 2s 后仍可兜底);④评级双轴:S 需 耐久≥9 且 个人击杀 ≥ 全场 22%(S 重新稀缺且「带飞局≠配合局」可分辨) 01-F1/F4/F9/03-C1/C4 hunt-room.js + game.js 0
S8 教学跳过保护:作答步(T1/T2/T3)内下滑=答错处理(不再跳过教学);跳过只在 T0/T4 非作答态 04-0-6 game.js + sim-client 0
S9 状态链按变化播:耐久档/波次档/猎人数/击杀档与上次播报一致即跳过(「固若金汤」复读消除) 02-F12 game.js + sim-client 0

显式裁定不做(本轮):新 TTS 台词(tut_back/kill_band0 正向改写/波间战报句)—— 涉及 GPU 生成与 60 句预算裁决,列 v3 批次;熊两击重伤制、旋风斩降 180°、分层匹配、 分层榜——先看 S7 复测数据再定(01-F3 扫描扩档随 S7 落地)。

2. 复测协议(v2 同阵容复测)

  1. 10 人配置一字不改;教学轮 R0'(全员)→ 决策 → R1'(幸存者)→ 决策 → R2'。
  2. 对比指标(vs metrics.md):胜率/评级分布、快速局零损耗局数、房内 top-kill-share、 0 出手局数、冷却被拦次数(666 基线)、闲置提醒触发(93 基线)、菜单误触、 呼喊数(3 基线)与应答率、N/S 可命中率(63/69% 基线)、bot 喊话可闻条数、去留。
  3. 退游四人(P01/P03/P05/P06)终评重访:同场景转写下是否改判。
  4. 回归:hunt-sim.test.mjs 全绿(S7 波次缩放/齐压/优先窗/评级双轴涉及断言更新, 同步登记 13-playtest-criteria §24)。

3. 风险与边界

  • S5②(邻座代答)是「bot 代声」的设计妥协:真人房用座位角色声维持呼喊-应答的 听觉闭环,待真有「真人应答手势」机制(v3 候选)再替换。
  • S7③(防区优先窗)改变了「任何座位可打任何方向」的 §15 裁决 3 语义(软防区)—— 优先窗内是硬归属、窗外回到软防区;已在 23 号文档登记修订。
  • S7④ 的 22% 阈值是首版拍定值,复测后按 S 占比目标(≤30%)回调。