生灵讲堂:横公鱼、噬人花与灵玉
同替某未成年选手代发讲堂帖。
【灵玉】和【噬人花】都是老朋友了,就不额外放图污染环境了,有请主角【横公鱼】:
之前水晶的“法术讲堂-亡命绝杀和山中无老虎”(1)帖子里有同学反馈过这个事情:
(首先说一下,共用一点法术应该是不对的,具体关于亡命+猴子的详细内容可查看最下面的传送门(1))
我和空相舟觅试了一下,录像码:2111211651100001、2111211640200001,还包含了魂颠梦倒的bug测试(2)
简单总结一下结果:
手上有一张【灵玉】的时候,【噬人花】吃两只【横公鱼】两只都会回手,只弃一张【灵玉】
手上有两张【灵玉】的时候,【噬人花】吃两只【横公鱼】两只都会回手,弃两张【灵玉】
相信大家对于两张【灵玉】的情况都是没什么异议的,毕竟从描述来看就该如此。
问题就在手上只有一张【灵玉】的情况。
这里其实是一个老生常谈的问题:触发≠结算≠判定
简单来讲就是说五行师是统一触发、统一结算的机制,在触发阶段中满足了相应条件就会给打上一个【触发】标记,即便在后面具体结算时不满足了牌面条件,他也会因为有【触发】标记而结算相应效果。
【亡命绝杀】+【猴子称大王】如此,【断水】(3)如此,【横公鱼】也如此。
列一下大致两只鱼所经历的阶段吧:
1. 【噬人花】发动技能
2. 两只【横公鱼】死亡
3. 左侧【横公鱼】触发条件判定(当前手中【灵玉】数量为1,打上触发标记)
4. 右侧【横公鱼】触发条件判定(当前手中【灵玉】数量为1,打上触发标记)
5. 结算左侧【横公鱼】效果(因有标记,回手,当前手中【灵玉】数量-1,为0)
6. 结算右侧【横公鱼】效果(因有标记,回手,因当前手中【灵玉】数量为0,不执行弃牌操作)
共用【灵玉】吗?
按我的理解来说,我认为是触发条件判定时共用一张有【灵玉】的条件,而结算的时候第一条鱼正常结算,后面的因为弃牌条件不满足而不执行了。
再吐槽一下,动画效果来说,【横公鱼】看起来应该是先回手、再弃【灵玉】,虽然我们一致认为动画效果不可信(毕竟底层逻辑决定于代码和机制),但希望这方面也可以优化一下,先弃【灵玉】再回手。
(不过也不影响统一触发、统一结算的顺序罢了,就是动画方面的小建议)
正文到这里就算结束了,我想简单聊聊统一触发、统一结算这方面的事情。
个人感觉论坛上反馈的80%左右的非bug类问题以及测试组做的绝大部分测试,其实都是核心问题都是在于统一触发、统一结算这里的不清晰。
五行师的结算,不是按序结算,不是触发一张牌的效果,就立刻按照这张牌的效果进行结算。
而是分阶段进行的:
更详细内容可查看水晶的『测试组』五行师机制整理(4)这个统一触发、统一结算的机制大体可以简化描述为:
1. 判断卡牌触发条件是否满足现在情况,如果满足,打上【触发】标记
2. 查看同阶段下一张卡牌,如果没有,进入3,如果有,返回1
3. 按标记及次序依次结算本阶段卡牌
问题就在第3点这里,因为依次结算有先后顺序,后面的卡牌结算时可能已经不满足卡牌触发的条件了,但因为【触发】标记已经打上,还是会照常生效。
如果像【亡命绝杀】这种,还会临时插入弃牌这种使用条件,打乱同阶段触发判定与结算节奏,事情就变得更加复杂了。
我不太清楚别的卡牌游戏是怎么结算的,至少目前我唯一用心投入精力去研究的卡牌游戏只有五行师,所以我一时很难论述统一结算好还是按序结算好,在此我只能尽量去解释在统一结算的条件下,这些看起来像是bug的场面。
多说一句,像五行师这种相较于各种科研项目计算量较小的游戏,基本上不存在并行运算的,至少所有的结算过程应该都是有先后顺序的。“共用”、“同时”一般都应该只是在条件判断时都满足于同一个条件,但不论是在执行判定的过程还是结算的过程中,都是有严格的先后顺序的。
传送门(参考文献):
(2)bug讲堂:魂颠梦倒
(3)断水的疑惑?
(4)『测试组』五行师机制整理
本周工作量到位了……
「垃圾游戏怎么这么复杂测试组:概率论与数理统计、小药之瞳、本喵水晶、空相丹觅、帝赤疆、海崖奔跳者、随机取名300元宝、海的女儿、空相舟觅。