Files
SoundGame/docs/design/22-bridge.md
T
2026-10-01 23:26:47 +08:00

156 lines
8.4 KiB
Markdown
Raw 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.
# 22 · 《星环舰长》(bridge / Star Ring Captain)
> **给开发者的实现要点摘要**
> 1. 交互权威:26 号手册。听声辨型后下令。四象限是**听**的,不是四向滑动玩法 → 帮助=上滑(巡检链即「我在哪」)。废除双击重听、菜单双击确认、单击循环菜单。
> 2. 左右滑听选项,单击下令。巡航空闲单击=重播最近告警(检查)。
> 3. 常态不播正常系统底噪;受损系统按 R1–R8 仲裁发告警。叠爆抑制是本作生命线。
> 4. 台词 [22-bridge-voice-ids.md](22-bridge-voice-ids.md):旁白 142×2 + NPC 12 = **154 句**。REPORT 800ms 死窗。
> 5. 一局 4 段 15–22 分钟;忠诚/经济/评级三本账播报=运行值。
---
## 附录 C · 设计单
### 1. 一句话核心动作
**听危机从哪边来,左右滑听命令,单击下令。**
### 2. 玩家能感知的状态(3 个)
| 状态 | 听感 | Floor |
|---|---|---|
| 巡航 | BGM cruise;仅受损系统告警脉冲(一次一条) | ACTION |
| 听讲 | 检测链/结果链语音,BGM 压低 | SPEAKING |
| 决策窗 | choice 签名 + 选项句 +(尾 3s)tick | YOUR_TURN |
正常系统静默是设计,不是丢状态;上滑巡检给出四系统音。
### 3. 新手手势与解锁
| 手势 | 含义 | 解锁 |
|---|---|---|
| 单击 | 下令/选定航线/修理/跳过巡检段;巡航空闲=重播最近告警 | 阶段 0 |
| 左/右滑 | 换航线/换命令/换修理项 | 阶段 0 |
| 上滑 | 巡检=我在哪(四系统音 + 舰体档 + 一个动作) | 阶段 1(第一次下令后);教学 D0 提前教这一下 |
| 下滑 | 菜单(冻结计时与告警) | 阶段 2(第一次返航后) |
| 双击 | 按单击。阶段 3=重听当前选项句 | 阶段 3 |
| 长按 | 新手 invalid。检测链以后可加速。决策窗 invalid | — |
教学 D0 需要上滑:作为阶段 1 提前解锁条件=「完成开场第一句后的巡检教学」,仍一次只教一样。
### 4. 状态 × 手势矩阵(新手期)
| 状态 \ 手势 | 单击 | 左/右滑 | 上滑 | 下滑(未解锁) | 双击 | 连点 |
|---|---|---|---|---|---|---|
| 检测链在说 | 跳句(签名音不可跳 → busy) | invalid(先听完类型+方位) | busy 或打断答方位一句 | invalid | 按单击 | 400ms busy |
| 决策窗 | **下令**当前预览项 | 换选项并播报名 | 巡检简链 | invalid | 按单击=下令 | 窗内 400ms 防连下两令 |
| 巡航空闲 | 重播 60s 内告警;无则 cruise_ping | invalid | 全链巡检 | invalid | 按单击=再听告警 | busy |
| 巡检在播 | 跳段 | 忽略(保护链) | 重播全链 | invalid | 按单击 | busy |
| 选航线 | 选定 | 换线 | 巡检 | invalid | 按单击 | busy |
| 靠港 | 修理或启航 | 切项 | 巡检 | invalid | 按单击 | busy |
| 结算链内 | 吞 | 吞 | 吞 | 吞 | 吞 | 吞 |
| 结算链完 | 返航 | invalid | 评级一句 | 菜单(阶段2) | 按单击 | 第一下 |
| 菜单 | 确认 | 切项 | 重听说明 | 关闭 | 按单击 | busy |
| 星港 PORT | 购买/返回 | 切项 | 概况 | 菜单 | 按单击 | busy |
超时=该类型默认结局,真话归因。45s 无选航线自动稳妥线。
### 5. 等待点
| id | 期待 | full | short | 静默 | L2 | L3 |
|---|---|---|---|---|---|---|
| intro | tap | 「点一下屏幕。」 | 「点一下。」 | 6s/15s | tap | 替点 |
| inspect | up | 「向上滑,听四个系统。」 | 「向上滑。」 | 8s/18s | up | 替播巡检 |
| route | L/R+tap | 「左右滑选航线。点一下定。」 | 「左右滑。」 | 12s/30s | L/R | 替选稳妥 |
| decide | L/R+tap | 「左右滑听命令。点一下下。」 | 「点一下。」 | 窗内 tick 已催 | tap | 演示「驰援」 |
| dock | tap | 「点一下,启航。」 | 「单击。」 | 12s/30s | tap | 替启航 |
危机窗倒计时是玩法时钟,不是看门狗重播说明书。
### 6. 首 3 分钟
| 时间 | 播 | 期待 | 没做 | 做错 |
|---|---|---|---|---|
| 0~3s | 舰桥垫乐 →「点一下屏幕。」 | 单击 | 「点一下。」 | 滑 invalid |
| 3~10s | 「向上滑,听四个系统。」→ 四段 ok 音 →「都正常。」 | 上滑 | 「向上滑。」 | 点:invalid+解释 |
| 10~25s | 求救签名(左舷 pan)+ 类型句+方位句 | 听 | | 滑太早 invalid |
| 25~40s | 「向右滑,听命令。」→ 预览驰援 →「点一下,下令。」 | 滑+点 | 短句;超时=信号消失无伤 | 硬闯等:执行但教学不掉血 |
| ≈40s | pa_chime + 报酬(第一次成功) | | | |
| 40~90s | 靠港仅启航;自由巡航 | 点启航 | 三档 | |
| 90~180s | 采集+可能磨损告警;上滑随时巡检 | 听告警/点重听 | ping | 迷茫 |
首局 S1 求救恒无陷阱、无磨损,扫描 ok。学期乱按不掉资源。
### 7. 失败表
| 类型 | 判定 | 归因 | 回到 | 新手期 |
|---|---|---|---|---|
| 超时 | 决策窗到点 | cr_timeout + 该型默认结局 | 结算后巡航 | S1 求救超时无伤 |
| 系统不满足 | 下令时对应系统离线 | sys_*_off 先播再计伤 | 结果链 | 教学段不离线 |
| 弃舰 | hull≤0 | die_cause 按 lastHit;die_adv 按超时/离线失败 | TITLE,功勋入 meta | 学期打不到 0 |
| 巡航乱滑 | | 「现在不用选。点一下听警报,或向上滑。」 | 原地 | 无 |
| 迷茫 | | L1 短命令 / L2 只留正确项 / L3 代下令 | 当前窗 | 无 |
### 8. 台词类别
- `critical`:开场点一下;tut 上滑巡检;cr_decide
- `content`:intro_1..5、evt_*、dir_*、opt_*、res_*、loy_*、rate_*
- `hint`:tut_*(去双击)、st_hull/rp/seg、sys_continue_ask
- `feedback`:sys_*_off、cr_timeout、die_*、inv_*、gd_invalid
- 停用:任何「双击重听选项」新手句
154 句;NPC 3 音色 12 句平铺。bgm 3 + sfx ~30。
### 9. 断点复述
中断链:st_hull → 最紧要异常(无则跳过)→ st_seg → recap_go。与正在响的告警同源。单击继续,右滑新巡逻(meta 保留)。
### 10. 测试记录
改:菜单左右+单击;双击不重听;3s 动手;10s 内完成巡检。R1–R8 双危机穷举、种子深相等、评级公式验算保留。失败即不通过:两套签名重叠、双告警齐鸣、B 计时偷跑。
---
## 1. 概述
巡逻舰星环号舰长,用耳朵指挥。四系统各守一方(引擎舰尾低频 / 护盾舰首中高 / 扫描左舷 / 武器右舷)。危机以预 pan 签名+方位句来袭。一局=4 段:选航线→巡航→危机→靠港。
## 2. 四象限与告警仲裁
方位 ≤4:左/右预 pan;舰首上行尾音;舰尾下行尾音。危机方位决定受殃系统(已离线则顺时针下一个)。
系统音 SYN 可断言:每音 2.0s±50ms、间隔 0.4s,巡检序 引擎→护盾→扫描→武器。告警周期互质 8/6/10/12s。
| # | 规则 |
|---|---|
| R1 | 同时至多 1 条系统告警;危机关联优先,否则 引擎>护盾>武器>扫描 |
| R2 | 落选排队;榜首 15s 让次位 5s |
| R3 | 同 id 600ms 去重 |
| R4 | voice 期间 A3 暂停;检测链顶断巡检 |
| R5 | 决策窗只留关联告警 |
| R6 | 双危机 FIFO,绝不两套签名 |
| R7 | 修复即止 |
| R8 | 菜单/结算全静默冻结 |
## 3. 危机卡
陨石 12s:规避/迎战/硬闯(超时≡硬闯)。海盗 15s:迎战/规避/忽略。求救 20s:驰援/忽略(25% 陷阱,首局无)。辐射 10s:规避/硬闯。每局四类型各一场。系统不满足先播 sys_*_off。
## 4. 忠诚与经济
船员 3 人 −3..+3。驰援、迎战、硬闯等按表入账。档:离心≤−2 / 平常 / 信赖≥2。支援:大副海盗升一级;工程师段末修 1 级;医师段末 hull+1。
hull 初 6;RP 采集 2/4 − 修理每级 2。评级 score=段×2+剩余舰体+驰援×2+击退海盗×2+无离线×1;S≥18。功勋=段+评级加成+floor(RP/3)。星港 6 改装(零件 20 … 应急护盾 70)。
剧本 A 教科书巡逻 score 19→S 功勋 15;剧本 B 挂机 →B。死亡链三问真话。
## 5. 状态机
TITLE(右滑 PORT)→ DRILL 寄生 S1 → CRUISE ⇄ CRISIS → DOCK → 下段;S4 可余波。hull≤0 或四段完 → REPORT。
段长 90/100/110/120s。seed 洗类型序(首局固定求救→陨石→海盗→辐射)、方位、陷阱、磨损、余波。
## 6. 音频
BGM menu/cruise/alert 氛围(具体曲目见 voice 外 mureka 台账)。SFX:四系统 ok/dmg/off、alm_*、危机签名 4 型预 pan、tick_fast、pa_chime、eva_ok、wpn_fire、shield_bear、warp、hit_hull。船员 NPC 与旁白零 speaker 重叠。