152 lines
7.7 KiB
Markdown
152 lines
7.7 KiB
Markdown
# 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。菜单冻结水声时间线,关闭从冻结点续走。
|