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

11 KiB
Raw Permalink Blame History

05 · 《剑与声》完整设计(26 号对齐)

给开发者的实现要点摘要

  1. 交互权威:26 号手册。施工数据以 05-rpg-chapter1.md 的场景图 JSON、数值、存档为准。语音表 05-rpg-ch1-voice-ids.md 不在本次改写。
  2. 探索:左右滑切换选项、单击确认。上滑=我在哪/状态(阶段 1)。新手期无双击。菜单与探索同构(阶段 2)。
  3. 格挡禁止绑新手双击。 敌方前摇窗口内:再单击挡住(只教这一个)。窗口内朝攻击方向滑也算格挡(空间冗余,不单独开课)。无声敌人:系统 danger earcon + 回执仍出声;防御指令始终可用(减伤 50%,不看时机)。iOS 无震动时格挡与防御照常可完成。
  4. 第一句就让玩家滑选项或点一下;第一次成功 ≤10s。回执 ≤100ms。玩家回合 = YOUR_TURN;前摇窗口 = ACTION。
  5. 规模不变:3 章、第一章 8 场景、8 种敌人 + 3 Boss、装备 6、线性公式。战败章首重生(等级金币保留)。

0. 设计单(26 号附录 C)

0.1 一句话核心动作

听选项,左右滑挑选,单击去做;战斗里听前摇,再点一下挡住。

0.2 玩家可感知的状态(3 个)

状态 Floor 听感 第一次教
探索 / 选指令 YOUR_TURN bgm/explore 或 village + amb;指令名循环即「轮到你」;可加等待声 「左右滑,点一下。」
旁白 / NPC SPEAKING 语音;整链 duck 开场
前摇窗口 / 危险 ACTION 有声:tel_*;无声:danger earcon(系统音,不是敌人叫声) 「听到这个,点一下挡住。」

战斗 BGM、Boss BGM 是宏观层,新手期不单开第 4 种「必须记住的状态课」。

0.3 新手手势与解锁

手势 探索 战斗选指令 前摇 ACTION 解锁
左 / 右滑 切选项 切指令 朝来招方向滑=格挡(不教,做对算成功) 阶段 0
单击 确认 执行指令 格挡(唯一教学手势) 阶段 0
上滑 状态(位置/目标/HP 档) 战场状态 invalid(窗口内只认格挡) 阶段 1
下滑 菜单(阶段 2) 逃跑 invalid 阶段 2;战斗始终=逃跑不是菜单
双击 当单击 当单击 当单击(可格挡,因当单击) 阶段 3 才识别为重听场景句
长按 旁白加速(探索不占帮助) 加速 不占用格挡 默认加速;格挡不绑长按

0.4 状态 × 手势矩阵(新手期)

状态 \ 手势 单击 左右滑 上滑 下滑(未解锁) 双击 连点
SPEAKING 跳句 + ok 打断并切选项/指令 打断,状态句 invalid+解释 当单击 400ms busy
探索 YOUR_TURN 执行选项 切选项+报名 状态 invalid 当单击 busy
商店 / 菜单 购买/确认 切项 重听说明 — 当单击 busy
PLAYER_SELECT 执行指令 切指令+报名 战场状态 逃跑检定 当单击 busy
ENEMY_TELEGRAPH ACTION 格挡 朝来招方向=格挡;反方向=invalid invalid+首次「现在点一下挡住。」 invalid 当单击→格挡 第一下格挡,其余 busy
结算 / 战败旁白 继续 invalid 状态 菜单若已解锁 当单击 busy

0.5 等待点

id 期待 _full _short 静默 L2 L3
village_opt 左右或单击 「左右滑,选。单击,去做。」 「滑一下。」 18s 左右滑 替玩家切到「前进」
shop_buy 单击 「单击,买下。」 「单击。」 12s 单击 —
tut_b0 左右滑 ≥1 「滑一滑,听招式名。」 「滑一下。」 8s 左右 游戏切一次指令
tut_atk 单击攻击 「选攻击,单击。」 「单击。」 8s 单击 代打一刀
tut_parry 前摇内单击 「听到低吼,点一下挡住。」 「点一下。」 窗结束=失败通过 单击 演示格挡
tut_def 选防御并单击 「选防御,单击。」 「选防御。」 8s 防御 代选防御
player_turn 单击或滑 (指令名刚播过) 「单击出手。」 8s — —

0.6 首 3 分钟逐秒脚本

时间 游戏说 / 播 期待 没做 做错
0~3s 「左右滑,选。点一下,去做。」(选项已在) 左右滑或单击 「滑一下。」 上滑未解锁=invalid
3~10s 切到一项 + 报名 = 第一次成功 → 若点「前进」则走路 再点确认 短句 —
10~30s 村长赠金;「去商店。左右滑,听价钱。」 进商店买或不买 三档 钱不够=shop_poor
30~60s 小路选项;阶段 1:「想看自己怎么样,向上滑。」 上滑一次 「向上滑。」 —
60~120s 岔路左右;溪流进教学战 T0→攻击 滑指令、单击出剑 看门狗推进 纠正
120~180s 「它要扑了。」前摇 →「点一下挡住。」→ 防御课 → 自由击杀 窗口单击 受击锁血 1,仍通过 窗外汇报「等声音再点。」

0.7 失败表

类型 判定 归因 回到 新手代价
格挡没出手 窗口内无单击/同向滑 「这下没挡。声音一响就点。」 下一玩家回合;教学锁血 HP 锁底 1(教学)
格挡太早/太晚 窗外单击 「等低吼再点。」(有声)/「等叮一声再点。」(无声 earcon) 该击按未格挡结算 保护档减伤
滑反方向 窗口内反向滑 「招从左边来。向左滑,或点一下。」 未格挡 无
战败 HP≤0 「被打倒了。回村子再来。」 village,保留等级金币 非教学掉一次;仍存档
逃跑失败 Lv≥3 且 30% 「没甩掉。听前摇。」 ENEMY_TELEGRAPH 可格挡
钱不够 / 无药 / 无 MP 执行失败 对应句 + invalid 留在选指令 无

0.8 台词类别

  • critical:开场动作句;教学格挡那一句 ≤3s。
  • content:场景 desc、NPC、选项名、btl_start_*、半血/胜利。
  • hint:等待点短句、sys_where、Boss 门前 boss1_warn。
  • feedback:格挡失败归因、btl_nomp、btl_noitem、btl_flee_fail。

无声敌人禁止把窗口提示做成「只有震动」:必须 danger earcon(合成系统音)+ 回执。叙事仍是「敌人没有脚步」,系统可以出声。

0.9 断点复述

场景切换/战斗结束/商店后自动存。回来 5s:「你在雾口村。去黑风寨。左右滑,选前进。」模板:位置 + 目标 + 一个动作。sys_continue_ask:单击继续,右滑新游戏。

0.10 测试

进村 → 左右滑+单击前进 → 一场战斗(单击攻击;前摇内单击格挡)→ summary 更新。教学战锁血 1。战败重生也存档。


1. 定位与循环(保留)

盲剑客沈听澜。一章 15–25 分钟;死亡章首重生(背包/等级保留)。循环:探索听场景 → 选行动 → 回合战斗(格挡是技巧)→ 经验装备 → Boss → 下一章。


2. 手势(26 号,无豁免双击格挡)

探索、战斗选指令见 §0.3。格挡窗口(1.0s,听风剑 1.3s,保护档见 11 号):

  1. 教:单击。 「听到前摇,点一下挡住。」
  2. 也认:朝来招方向滑。 来招方位由 tel_* 声像或约定(狼正面=上或「扑击」默认单击即可;有左右声像的敌人:左声道→左滑)。反方向=invalid,不算格挡。
  3. 成功:sfx/parry + ok 可省 + 减伤 70%。与防御指令不叠加(取更优)。
  4. 窗口外单击:若在 PLAYER_SELECT 则执行指令;若仍在结算间隙=invalid+「等前摇。」

废止:双击格挡、用 300ms 双击窗规避 tap 延迟。演奏/格挡要即时:前摇期可 immediateTap 或全局 doubleTapWindow: 0(松手即单击)。


3. 数值框架(保留公式与表)

maxHp = 20 + 8*(lv-1)
atk   = 5 + 2*(lv-1) + 武器atk
def   = 护甲def
mp    = 3 + lv          // 破空斩耗 3,伤害 atk*2
expToNext = lv * 20
dmg = max(1, round((atk攻 - def守) * (0.85~1.15)))
格挡: round(dmg * 0.3);防御指令: round(dmg * 0.5)

敌人 HP/ATK/DEF/EXP/金币/前摇特征:见 chapter1 §4.2 原表(野狼 10/4/0 … 白无瞳 110/18/5)。装备价格与听风剑窗口 +0.3s 不变。平衡校验(lv3 铁剑打 Boss 会格挡能过)不变。

第三章无声前摇:系统 danger earcon 标识窗口;iOS 无震时 earcon + 回执足够完成「点一下」格挡。防御指令是不看时机的兜底,对所有平台必要,不是 iOS 专享补丁。


4. 场景结构(保留)

有向节点图,明雷。第一章 8 节点表(village…boss1)见 chapter1 JSON。二章毒状态/蛊师先攻;三章黑暗战斗铺垫终 Boss。岔路、商店、休息点保留。


5. 第一章内容与教学(手势改写)

场景列表、对白功能大纲、村长/猎人/寨主台词意图:保留(正文仍 ≤25 字/句,指令 ≤12 字)。

教学:

  • 场景 1:左右滑+单击,商店买一次(50 金启动)。
  • 场景 3:左右滑选岔路。不教双击重听;重听=阶段 3 或上滑状态/长按加速旁白中的跳句。
  • 场景 4 教学战:HP 锁 1。顺序见 11 号四步,其中格挡步改为「点一下挡住」。

6. 存档(保留结构,chapter1 为准)

chapter/scene/player/flags/chapters/stats + 必填 summary。保存时机不变。新游戏清空 data 保留 stats。

建议 stats.battlesWon 供 11 号保护档使用(若 chapter1 未列则实现时补字段,不改其它数值)。


7. 战斗时序(格挡改单击)

回合开始
  → 玩家先攻(第一章):PLAYER_SELECT(turn_player + 等待声或指令名)
      左右滑切指令,单击执行
  → CHECK_ENEMY_DEAD
  → ENEMY_TELEGRAPH(ACTION,1.0s):tel_* 或 danger earcon
      窗口内单击 或 同向滑 → 格挡
  → ENEMY_RESOLVE → 玩家 HP 检定
  → 循环
HP≤0 → 败句 → 章首

蛊师等先攻:B_START 后先 TELEGRAPH。半血叙事钩子保留。破空斩 mp 不足留在选指令。


8. 资产规模(保留)

BGM 以 10 号为准:menu / explore / village / battle / boss / ending。amb 走 sfx 层循环(addendum)。sfx ~35、语音 ~114 见台词表。ui_deny 不做,回执走引擎。


9. 开发次序(保留)

数据表 → 探索循环 → 战斗机(格挡=窗口单击)→ 商店升级 → 存档 → 灌第一章 → 二/三章 → 打磨。


10. 废止清单

废止 改为
双击=格挡;双击=重听场景 窗口单击格挡;新手双击当单击
无声敌人只靠震动格挡;iOS 不可格挡 danger earcon + 回执;防御指令全平台兜底
开场先讲完规则再玩 第一句就滑选项
菜单单击循环+双击确认 与探索同构:左右滑+单击
看门狗原样重播帮助长句 三档提示
失败重开整章教学 就近:教学该步;战败回村
无效只震 回执必响

故事、节点、数值、装备、Boss 阶段:保留。