Files
2026-10-01 23:26:47 +08:00

152 lines
7.7 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.
# 20 · 《深夜茶馆》(teahouse / Late Night Teahouse)
> **给开发者的实现要点摘要**
> 1. 交互权威:26 号手册。经营+时机小局,**不**用四向滑动,帮助=上滑。废除时机步双击=提壶/出汤(新手 `doubleTapWindow:0`,单击已即时)。
> 2. 泡茶三步:左右滑选茶+单击选定 → 听水声**单击**提壶 → 听滴答**单击**出汤。选茶步单击仍=选定。
> 3. 听觉分层:注水/沸腾/滴答时间上串行,时机窗内禁止向导语音(只 earcon/等待声)。
> 4. 台词 [20-teahouse-voice-ids.md](20-teahouse-voice-ids.md):旁白 98×2 + NPC 65 = **163 句**。CLOSE 800ms 死窗。
> 5. 一晚 4 客 13–17 分钟;无 game over;账目播报=运行值。
---
## 附录 C · 设计单
### 1. 一句话核心动作
**左右滑选茶,单击选定;听到水声和滴答时再单击提壶、出汤。**
### 2. 玩家能感知的状态(3 个)
| 状态 | 听感 | Floor |
|---|---|---|
| 听讲 | 客人/旁白,BGM serve 压低 | SPEAKING |
| 选茶 | tea_jar + 茶名句 + 等待声 | YOUR_TURN |
| 候汤/闷泡 | 水声时间线或滴答(玩法声=状态) | ACTION |
打烊账目走 settle earcon,不占新手三态。
### 3. 新手手势与解锁
| 手势 | 含义 | 解锁 |
|---|---|---|
| 单击 | 继续/选定茶;候汤=提壶;闷泡=出汤;跳过可跳句 | 阶段 0 |
| 左/右滑 | 换茶罐(仅 TEA) | 阶段 0 |
| 上滑 | 我在哪(第一段=重播点单句) | 阶段 1(第一盏茶送出后) |
| 下滑 | 菜单(冻结计时) | 阶段 2(第一晚打烊后);OPENING 教学期下滑不跳过整晚,见等待点 |
| 双击 | 按单击(时机步也是提壶/出汤,不另绑) | 阶段 3 起可重听点单/茶名 |
| 长按 | 新手 invalid。SERVE 链播以后可加速。BREW 全态关加速 | — |
教学跳过:仅 TITLE/OPENING 未入泡茶前,用帮助长句而非下滑(新手下滑未解锁)。已 drillDone 则开场「点一下开始」。
### 4. 状态 × 手势矩阵(新手期)
| 状态 \ 手势 | 单击 | 左/右滑 | 上滑 | 下滑(未解锁) | 双击 | 连点 |
|---|---|---|---|---|---|---|
| 堂前在说 | 跳句(res_*/rent_* 不可跳 → busy) | invalid | 打断,状态(点单可重听) | invalid | 按单击 | 400ms busy |
| 选茶 TEA | 选定 → 候汤 | 换罐 + tea_jar + 口诀句 | 重播点单 | invalid | 按单击 | busy |
| 候汤 WATER | **提壶**(时机判定) | invalid(不判错步) | 状态;水声照走 | invalid | 按单击=提壶 | 窗内只第一下 |
| 闷泡 STEEP | **出汤** | invalid(不判错步) | 状态;时间线照走 | invalid | 按单击=出汤 | 只第一下 |
| 打烊链内 | 吞掉 | 吞 | 吞 | 吞 | 吞 | 吞 |
| 打烊链完 | 睡下 | invalid | 账目链 | 菜单(阶段2,含置办) | 按单击 | 第一下 |
| 菜单 | 确认 | 切项 | 重听说明 | 关闭 | 按单击 | busy |
时机窗内看门狗只 earcon,不插语音(分层铁律)。
### 5. 等待点
| id | 期待 | full | short | 静默 | L2 | L3 |
|---|---|---|---|---|---|---|
| intro | tap | 「点一下屏幕。」 | 「点一下。」 | 6s/15s | tap | 替点 |
| tea | L/R 或 tap | 「左右滑选茶。点一下定。」 | 「左右滑。」 | 12s/30s | L/R | 替选点单那罐 |
| water | tap | 「听到细密泡,点一下。」 | 「点一下。」 | 窗内只 earcon | tap | 替提壶(将沸) |
| steep | tap | 「滴答密了,点一下。」 | 「点一下。」 | 只 earcon | tap | 替出汤 |
| close | tap | 「单击,睡下。」 | 「单击。」 | 15s/35s | tap | 提示音 |
做错时机不终止:early/late 真话归因后继续。无出手到点自动过老/自动出汤。
### 6. 首 3 分钟
| 时间 | 播 | 期待 | 没做 | 做错 |
|---|---|---|---|---|
| 0~3s | 点灯 →「点一下屏幕。」 | 单击 | 「点一下。」 | 滑 invalid |
| 3~8s | 门铃+老周点龙井 →「向右滑,听听茶。」 | 右滑 | 「向右滑。」 | 点太早:若已在龙井则选定也算过 |
| 8~10s | 茶名口诀「将沸就提」+ 选定舀茶(第一次成功:选对罐) | 单击选定 | 「点一下定。」 | 错茶:本晚教学仍走完,免单真话 |
| 10~25s | 水声时间线 → 细密泡 → 单击提壶 | 单击 | earcon;超时过老仍继续 | 滑:invalid 不判错茶 |
| 25~50s | 滴答密 → 单击出汤 → 好茶反应 | 单击 | 自动出汤 | 偏了真话+继续 |
| 50~90s | 「客人要的茶,向上滑再听。」 | 上滑 | 「向上滑。」 | |
| 90~180s | 邮差等第 2 客,自由营业 | 泡茶 | 接管 L3 替打 | 错茶免单零死亡 |
首晚窗口 ×1.3,教学客明示龙井。
### 7. 失败表
| 类型 | 判定 | 归因 | 回到 | 新手期 |
|---|---|---|---|---|
| 错茶 | 茶≠点单 | res_wrong + 免单 | 反应链 | 口碑 −1,无其他罚 |
| 水早/老 | 窗外提壶 | water_early/late | 闷泡 | 茶对则最多普通档 |
| 闷早/苦 | 窗外出汤 | steep_early/late | 上茶 | 同上 |
| 房租不足 | purse<20 | rent_short + danger | 记账 debt | 无 game over |
| 时机步滑动 | | invalid 一次解释 | 原地 | 不判错步 |
| 迷茫 | | L3 替选/替提/替出 | 下一步 | 无 |
### 8. 台词类别
- `critical`:开场点一下;tut 选茶/提壶/出汤各一句 ≤3s
- `content`:night_*、客人进出/点单/反应/结局、close_*、upg_*
- `hint`:hint_water(改「点一下」)、st_guest/rep/purse
- `feedback`:water_*/steep_*、res_wrong、rent_short、inv_*
- 停用:tut_water/steep 里的「双击」
163 句;音频 98×2+65。bgm 3 + sfx ~26。
### 9. 断点复述
每位客人结算后存档。回来:第 N 晚。下一位客人。上滑听点单。summary 含口碑档/存款/欠账。
### 10. 测试记录
改:WATER/STEEP 单击判定;双击不再是唯一时机键;菜单左右+确认。分层断言:水声/滴答窗内 voice 事件=0。剧本 A/B 账目对账保留。
---
## 1. 概述
巷子深处后半夜小茶馆。泡对了暖人心,泡错了故事走涩向,但夜还是要过完。一晚=4 客=P3 颗粒。一章=5 晚收束弧线。
## 2. 泡茶规格
| 步 | 输入 | 音 | 容限 | 时长 |
|---|---|---|---|---|
| 选茶 | 左右滑+单击 | jar→口诀句;scoop | 无限;选定不可改 | 8–25s |
| 候汤 | 单击 | 11s 水声线:细密→将沸→滚透→过老 | ±1.5s(茶具 +0.8;首晚 ×1.3) | ≤11s |
| 闷泡 | 单击 | 注水 2s→沙沙 2s→静默→目标前 2.5s tick | [目标−1.0, +1.4]s | 9–21s |
结果单源:茶错⇒wrong;茶对∧两窗 ok⇒good;否则 plain。绿茶/银针用将沸窗,其余滚透窗。闷时:快 7 / 中 11 / 久 15s。
水声调度=预生成 one-shot + setTimeout,无实时节点。
## 3. 客人与经济
弧线 5 人×3 晚,方向值 good+1/plain 0/wrong−1,sum≥2 A / |sum|≤1 B / ≤−2 C。茶柜锁普洱/银针=经营重量。氛围客 3 人旁白转述。
```
rep 初 0,good+1/wrong−1
pay:good=价+2 / plain=价 / wrong=0
房租每 3 晚 20;不足入 debt,无 game over
升级:茶柜 15 / 茶具 12 / 招牌 20(rep≥12 且无债)
```
档位句与阈值一一对应(st_rep_1「口碑还没立起来」=rep<5)。剧本 A 用心掌柜与剧本 B 贴钱营业见原验算:每晚 close_coin=逐客 pay 之和所在档。
N1–N5 固定客序;N6+ seed 轮换氛围客。
## 4. 音频与签名
客人 sig_* 进门必响。BGM menu/serve/brew(brew 极疏)。沸腾低频、滴答 ~880Hz、人声中频。
NPC:老周 Eric、苏晚 Vivian、陈拾 Dylan、白老 Uncle_Fu(与 male 旁白同 speaker,靠 sig+腔)、何 Serena(同 female 旁白风险,靠 sig)。
## 5. 状态机
TITLE → OPENING → SERVE ⇄ BREW(每客一圈)→ CLOSE → 下一晚。N5 含 chapter_end。菜单冻结水声时间线,关闭从冻结点续走。