跳到主要内容

创作期错误

GCS · Troubleshooting

本页所有问题都能在 Play Mode 之前修好:校验结果、没收进数据库的资产、断裂的引用,以及结构上就跑不起来的图。

写给 Workbench 顶部亮着校验徽标的内容作者,或者新做的卡明明存在却哪儿都找不到的人。

创作期错误是成本最低的一类:大多数在战斗运行之前,Workbench 就能指出来。入口是窗口页眉的校验徽标。点开它,逐条跳转、修复、重新检查,直到徽标消失或只剩你有意保留的警告。

手动排查时,从持有问题的资产向外走。诊断顺序基本不变:


严重级别:Error 与 Warning

级别含义
Error内容已损坏或不能安全运行。测试前必须修复。
Warning可能是有意为之,但测试前值得做一次决定。

Warning 不是免费的。测试用的无奖励遭遇战缺 reward deck 没问题,正常胜利流程缺它就是 bug;只有说得出"为什么是故意的",警告才允许留着。每条校验背后的规则见校验与 Used By


资产存在,却哪儿都不出现

最常见的创作期错误没有报错信息:一张卡、一个状态、一个敌人或一场遭遇战,资产明明在,却不出现在任何选择器和任何战斗里。内容只有通过数据库收录才对运行时可见,所以检查:

  • 这个条目确实在你以为的那个数据库里。
  • 那个数据库确实是场景 GameCardManager 上分配的那个。
  • 演示数据库和你的项目数据库没有混用。在这边编辑卡牌、场景却加载另一边,出现的正是这种"幽灵资产"。

断裂引用

惯犯名单:卡牌美术或模板、状态图标、单位 prefab、遭遇战的玩家单位或敌人列表、reward deck,以及图节点指向已删除的内容。

修引用走 Workbench 的选择器,不要手打名字。选择器只会列出活跃数据库里的内容,直接消灭了"打错字"这一整类 bug。重命名或删除任何共享资产之前,先看 Used By 面板,它列出所有会被这次改动波及的资产。


不完整的资产

每种内容类型都有一个最小可用形态。卡牌外壳需要名字、能量费用、类型和 target mode;要做事的卡还需要 Behavior 图,因为图是空的卡可以正常打出,然后什么都不发生。"打出去没反应"几乎总是图的问题,不是外壳的问题。

状态需要显示名称、Stack Rule、Decay Rule 和一个玩家认得出的图标。施加上了却从不变化的状态,多半是 Decay Rule 停在 Never 而你想要的是 PerTurn,这是资产字段,不是图。

敌人需要 HP 范围、prefab、带敌人回合入口的 Behavior 图和意图配置。整场战斗站着不动的敌人,通常是图的入口和敌人回合对不上。

遭遇战需要玩家单位和至少一个敌人;开了奖励还需要 reward deck。场景启动的战斗整体不对时,遭遇战本身往往没错,问题通常是场景 bootstrap 指向了别处。


跑不起来的图

校验和一次仔细检查能抓住的结构性问题:

  • 没有入口节点,或入口对这种资产永远不会触发。
  • 某条控制路径因为连接被删而断头。
  • 必需的目标在运行时解析不出来。
  • 某个结果输出被一个先于生产者执行的节点读取。
  • 自定义节点声明的输出名和传给 StoreResult 的名字不一致,端口会静默地什么都不产出。

先修结构,再调数值。图跑不起来的卡,数值调得再完美也是张死卡。