1.1数值单位
本节为各数据规定了统一的单位,以保证其准确、客观、易用和可复验。
部分数据的单位名在游戏中有中明确提及(另注:移速单位名称曾在2022年2月24日的更新公告中提及),这部分数据采用了官方单位,以更好地解释游戏内各种实验的结果,也能与官方其他数据接轨。
时间:与现实单位一致,多用秒作为单位,有时也使用分钟、厘秒。不建议采用“帧”作为单位。
角色-Hp:别名“血量”“健康值”等。由于只有一个单位,因此无单位名称,不过也可以根据习惯将“点”作为单位名,意义相同。杰瑞等大多数老鼠的Hp为99,少部分老鼠为124,莱恩、霜月、梦游杰瑞的Hp值较为特殊。猫方的Hp大多位于200-300的区间内,但不同角色区别较大。可参考附件数值。
角色-伤害:规定1伤害值能减少目标的1Hp,同样无单位名称。
速度/长度:以20220224公告中提到的角色移速作为秒速度基准值,包括:托普斯移速780,图多盖洛移速770,佩克斯移速650,雪梨移速680。由于只有一个单位,因此无单位名称。长度由速度乘时间得到,亦无单位名。1速度/长度单位过小,现有方法难以精确测量,因此实际使用时可以考虑适当精确取整以便于理解。
其他数据则根据玩家们的习惯为它们制定了单位。
推速:默认为%/秒,表示每秒能将一块奶酪推入百分之多少。
角色-增伤/减伤:可分为固定值和百分比两种,百分比数据以“%”作结尾以区分。另可根据类型进一步细分为攻击增伤(增伤)/受击增伤(易伤)/攻击减伤(削伤)/受击减伤(减伤)四类。
墙缝-伤害/Hp/增伤/减伤:规定经典模式中墙缝的基础Hp为100,并以此规定墙缝伤害和增减伤单位(与对应的角色单位类似)。
1.2 游戏机制
游戏内存在部分未写明的机制,这些机制在测量数据的过程中需要进行了解。
1.2.1 基础机制
1.受伤
猫咪爪刀攻击和部分技能攻击能对目标造成受伤状态(老鼠受伤时状态栏头像有白色绷带,角色头顶有特殊特效,并且可被其他老鼠通过交互治疗),受伤的角色不再因角色的基础Hp恢复而恢复Hp(技能效果不受影响),并且移动速度降低5%。受到治疗或被抓起时,解除受伤。
2.零Hp,负Hp与虚弱
角色在Hp=0时不会虚弱,此时Hp条会进行红光闪烁以作提醒。当Hp<0时,使对应角色进入虚弱,并且Hp重置为0。虚弱期间无法交互,无法使用道具、技能;鼠虚弱期间获得高额移速和跳跃高度降低;猫虚弱期间无法移动,但Hp恢复速度会大幅提高。虚弱可被护盾等状态抵挡。
3.抓起、绑火箭、点燃火箭、火箭救援
抓起是一次性交互动作,绑火箭、点燃火箭、火箭救援均为需要读条的交互动作。
猫咪手中没有老鼠时,接近虚弱老鼠可以触发抓起交互(优先级极高):将该老鼠抓起至手中。猫咪手中有老鼠时,接近火箭可以触发绑火箭交互:进入读条并尝试移动到火箭中轴线位置,读条完毕时将老鼠绑到火箭上。绑上火箭时会立刻对火箭进行一次点燃(立刻减少一定火箭引线倒计时,基础时间10秒),火箭处于不可点燃状态(如位于雪梨-爱之花洒范围内)时无效;火箭熄灭且未处于不可点燃状态时,接近火箭可以触发点燃火箭交互:进入点燃读条,读条结束时对火箭进行一次点燃。
老鼠被抓起的瞬间解除受伤、虚弱状态(被抓起期间仍能因其他原因进入虚弱状态),被抓起期间判定模型和视野改为与猫咪同步(小地图信息不包括在内);老鼠被绑上火箭时,判定模型移动到火箭上,此时其他老鼠靠近火箭时可以触发救援交互:进入救援读条,角色移动到火箭救援位置并悬空,读条结束时救援成功。
4.推速增减(鼠)
此处仅对游戏内当前未写出的推速增减进行注明,知识卡和技能效果不在此列。该状态对所有老鼠都生效:
i.奶酪期前3分钟内,老鼠的推奶酪速度减少20%;3分钟后,推奶酪速度增加20%。
ii.有老鼠被绑上火箭时,其他老鼠的推奶酪速度降低10%。
5.队友的鼓励(鼠)
当老鼠附近距离1000有其他可行动老鼠时,火箭救援速度和捕鼠夹挣脱速度增加20%。
6.推奶酪减伤(鼠)
当老鼠推奶酪时,获得12%减伤。
7.火箭阻滞(鼠)
火箭救援期间,即便倒计时归零,火箭也不会起飞(仍能因经典之家-鞭炮堆爆炸而放飞)。
8.伤害保护(猫)
所有猫咪都具有伤害保护机制:受到伤害后,会获得20%减伤,持续1秒,可叠加多层,每次叠加刷新持续时间,乘算。
9.爪刀(猫)
爪刀的基础伤害为50。游戏中并不存在“空刀CD”,其本质上是由基础爪刀CD(命中目标时的CD,目前所有猫均为整数或小数部分为0.5的数)与空刀CD返还比例(百分比,可推算得到)决定的。
更改爪刀CD的方式有三种:百分比降低CD(常见);固定值降低CD(罕见,举例:恶魔汤姆-迷乱列车);更改基础爪刀CD(罕见,举例:变大药水将基础爪刀CD变为2s)。
具体数值详见附件1。
10.速度上限
所有角色和道具均有运动速度上限(目前测定其约为1900~2000)。横向和纵向的速度向量以合向量计算上限,因此移动速度过快时跳跃高度会降低,高速坠落时进行移动则坠落和移动速度都会变慢。传送不属于移动,因此不考虑该上限。
11.重力加速度
角色在空中会受到垂直向下的加速度,一般根据习惯称作g,即重力加速度。在大多数场合中,g的值是固定的(目前测定g≈3000)。不过,在角色处于失重状态,或地图采用失重/超重设置时,g的数值会发生变化。如果出现上述情况,则需单独对g进行测量。
12.跳跃和滞空
跳跃本质上是使角色向上的速度在起跳瞬间固定为某个值,这个值通常被称作起跳的“初速度”。按住跳跃键的长短会影响初速度的大小,该机制的实现方式暂未知。
不考虑横向移动的情况下,角色在滞空时只会受到重力加速度(g)的影响。
由于角色速度有上限,因此在g相同的情况下,跳跃高度有上限。若速度上限取1900,g取3000,则跳跃高度上限约为606。
1.2.2 隐藏机制
部分机制较为隐秘和复杂,需要系统地进行了解。
1.伤害分型
依据游戏内的表现,可将伤害按来源、触发方式、是否破盾、计算方式和是否致伤(猫)进行分类。名称暂未完全确定,此处仅展示现阶段命名。
i.按来源分类:
根据是否可对伤害来源进行追溯,分为有来源和无来源两类。有来源伤害同时具备如下特征:伤害来源可追溯至一名角色或角色类召唤物(如兔子先生等);计入对应角色的伤害统计;由此伤害击倒敌方/击破墙缝时会触发播报;可以被反伤类技能影响。可以依据以上特征进行区分。部分伤害虽然由角色技能造成,但无法追溯(如牛仔杰瑞-仙人掌),这类伤害应归入无来源伤害。
ii.按触发方式分类:
根据伤害的产生及触发方式,分为直接触发,附加触发和持续触发三种伤害。直接触发类伤害在满足条件(如:技能命中目标)时直接产生;附加触发则需要附加在直接触发类的伤害上才能一同打出,如果附加对象被护盾抵挡,则附加触发类伤害不会产生;持续触发则多由对目标附加的不良状态产生,状态持续期间每隔一段时间(通常是每秒)对其造成一定伤害。
iii.按是否破盾分类:
根据与护盾(包括护盾药水、护佑、技能产生的护盾等,特点为有层数,会被消耗)的互动关系,分为可击破护盾,不可击破护盾,直接穿透护盾(无视护盾)等。
iv.按计算方式分类:
根据伤害是否受敌我增/减伤影响,分为受双方增减伤影响,受目标增减伤影响,不受增减伤影响三类,三种伤害的占比依次降低。
受双方增减伤影响(曾用名:可增型伤害):可以正常被双方的增/减伤状态影响。这种类型十分常见。
受目标增减伤影响(曾用名:不增型伤害):不会被攻击者的增/减伤影响,但会被受击者的增/减伤状态影响。
不受增减伤影响(曾用名:固定型伤害):不受任何增/减伤状态影响。(注:仍会受伤害转移影响,并非固定伤害)。另外此类伤害还有一些其他特性,如:不会受乾坤袋等单位的“最高造成1点伤害”影响。
v.(猫方伤害)按是否能导致受伤分类:
根据伤害是否能导致受伤,分为可导致受伤(可致伤)和不可导致受伤(不可致伤)两类。
2.时间更新与事件判定
游戏中的各类事件并不是实时进行判定和更新的,而是每隔0.06~0.07秒在若干非判定帧中插入一个判定帧,诸如开始移动、开始跳跃、技能开始释放、道具碰撞之类的事件都会集中在判定帧进行。
动作只有开始时间会固定在判定帧进行;其结束时间由动作长度决定,不一定在判定帧。高帧率模式增加的帧数均为非判定帧,不会影响实际交互。诸如“跳放”等技巧的实现可能是因在两判定帧之间同时做出两个及以上的动作有关,但暂时缺少相关证据,期待补充。
3.非连续性动作
游戏内火箭救援队友、挣脱捕鼠夹、挣扎等动作的进度条并不连续,而是每隔一小段时间或每按一次挣扎键才增加某一固定百分比的进度,同时进度条改变一次。这类动作的加/减速实际是改变每一段动作增加的百分比进度。(挣脱动作虽然看起来是匀速增长,但实际为按一次挣扎键才增长一段,因此属于该类型动作)
在没有任何加/减速的情况下,当这类非连续性动作进行到某一次时,累计进度应当刚好是100%,从而在进度条推满的同时完成动作。但是,如果角色持有对应的加/减速,那么可能出现进度条行进到某一次时未达到100%,而在下一次时超过100%的特殊情况。由于进度条更新有延迟,角色会先完成该动作的效果,然后进度条才推进到尽头,这就产生了两个“动作结束标志”,彼此的差距最高可达0.2秒之多。考虑到这类动作时间通常较短,这一误差很可能会对速度具体数值有较大的差异。出于对数据易用性的考量,应采用进度条推进到尽头作为动作结束标志,以此测量数据。
4.浮点误差与统计取整
测量鼠方伤害通常会采用查看伤害统计的方式得到数据,但如果伤害数据本身有小数部分,那么累加统计时也会将这些小数部分正常计入,但最终在伤害统计时会进行取整,抹去小数部分。
在计算机中,如果某个数的小数部分无法被以2的若干次方为分母的数准确表示,则这个数会比理论值略大,这就是浮点误差。因此,取整还可能产生一种特殊误差:如果各数值相加结果本应是整数,但其中有数值参与过小数运算,那最终显示的结果可能会比理论值小1。尽管通常游戏中并不会有什么影响,但在数据测量中容易造成误判,请注意甄别这种误差。(例:音乐家杰瑞对猫咪连续释放两道共鸣冲击波,每波伤害为20,第二次伤害受到伤害保护的20%减伤影响而本应为16,但由于实际计算公式为20*(1-20%),其中的“20%”实际略大于20%,所以第二次的实际伤害量要略低于16,此时退出游戏会发现伤害统计数值为35;如果测量时改为间隔1秒后再放两道冲击波,统计4次数据的总和,那么伤害统计数值会变成71)
特别地,爪刀CD中小数部分为0.5的数会正常显示,反而小数部分为0的数会因误差导致变为0.9,具体成因不详,测试时请根据原理和原则修正。
1.2.3 同类数据结算方式与顺序
1.Hp与Hp恢复
Hp上限的改变只有固定值一种类型,彼此加算。技能/道具提供的持续Hp恢复亦只有固定值类型,同样彼此加算。另需注意:角色基础属性中的Hp恢复,与技能/道具提供的恢复的概念不同(前者会因进入受伤状态而归零)。
2.伤害-增伤与减伤
增伤/减伤按触发对象分为攻击触发/受击触发两种,按数值类型分为固定值/百分比两种,总共8种。另有伤害转移和限制最大伤害值两种特殊类型。各自举例如下:
固定值攻击增伤:兴奋药水,角色基础攻击增伤
固定值攻击减伤:垃圾盖Lv.2
百分比攻击增伤:冲冠一怒
百分比攻击减伤:说出你的故事Lv.1
固定值受击增伤:双重猫格Lv.1-分身
固定值受击减伤:皮糙肉厚,天使翅膀Lv.1
百分比受击增伤:暂无
百分比受击减伤:攻无不克Lv.1
伤害转移:友情庇护Lv.1
限制最大伤害值:乾坤袋Lv.1
通常来说,数值的固定值之间互相加算,百分比之间互相乘算,但百分比攻击减伤例外:其为互相加算。不同类型之间的具体计算公式为:
受双方增减伤影响:实际伤害=[基础伤害+角色基础攻击增伤×(1+百分比攻击增伤)+固定值攻击增伤-固定值攻击减伤]×(1-百分比攻击减伤-百分比受击减伤)+固定值受击增伤-固定值受击减伤
受目标增减伤影响:实际伤害=基础伤害×(1-百分比受击减伤)+固定值受击增伤-固定值受击减伤
不受增减伤影响:实际伤害=基础伤害
实际伤害最低为0,不会小于0。
伤害转移效果在实际伤害计算完毕后再进行计算,具体机制待补充。
此外,游戏内还有一类极少数的特殊伤害更改:“使实际伤害不超过某一值”,包括霜月-乾坤袋的召唤物(胖呆呆)受到的实际伤害不超过1,不受增减伤影响的伤害无视该效果。
3.移速、跳跃高度和跳跃速度
目前游戏内大部分移速的加/减速均为百分比类型,互相乘算。游戏内还有一类特殊的移速更改:“使实际移速固定/不低于/不高于某一值”,这类更改的结算顺序在百分比增减之后。
跳跃高度和跳跃速度本质上反映的都是跳跃初速度,可以互相计算转化。从习惯上来讲,角色基础数据通常以跳跃高度填写,而技能和道具带来的跳跃初速度改变则以跳跃速度代称。跳跃初速度目前只发现了百分比增减一种方式。跳跃初速度的上限与速度上限相同,即1900。若取g=3000,则达到初速度上限时,对应的跳跃高度约为602,该值即为常规重力下跳跃高度的上限。
4.其他数值
诸如推速、技能或爪刀CD、虚弱时间等的改变分为百分比和固定值两种类型,辨别特点为各自叠加方式不同。计算公式为:
实际值=基础值*(1+百分比加成)+固定值加成
部分数值可能还存在使数值固定为某一值的类型,与上文伤害、移速类似,不再赘述。
1.2.4 其他机制
1.护盾、霸体与控制效果
游戏内存在各式各样的护盾与霸体效果,它们的共同点是可以免疫一部分控制,但除此之外的特性并不互通。各个护盾和霸体状态能免疫的控制效果是不完全一致的,甚至部分免疫控制数较少的护盾/霸体有时候却能免疫部分免疫控制数较多的护盾/霸体免疫不了的控制。这证明护盾和霸体的免疫分级并非由“分级”决定,而是由类似“白名单”的方式决定(即:持有该护盾/霸体时,免疫其对应“白名单”上的所有控制效果,而无法免疫不在其名单上的效果)。
同样地,控制效果的“优先级高低”并非由“分级”决定,而是由具体有多少护盾/霸体能够免疫该效果决定的。
2.百分比相乘计算方式
猫和老鼠采用了与大多数游戏相同的百分比增益计算方式,此处仅做说明,防止歧义。公式为:
百分比加成=(1+百分比加成1)*(1+百分比加成2)*……*(1+百分比加成n)
该公式对移速,推速,伤害等数据中的同类型加成均生效。对于减速,可看做负数值的加速,其余同理(百分比增减伤例外,因为它们的生效范围不同)。
在书写百分比加成类型的数据时,应采用在末位加“%”的方式,以此和固定值类数据进行区分。
3.Hp条重叠显示
Hp条长度固定为角色基础属性中的Hp上限,各猫方/鼠方角色Hp条长度一样,但表示的数值不同(由自身基础Hp决定)。Hp条可反向叠加一次,因此最多可以正确显示角色基础Hp上限两倍的Hp,若超出范围则会造成显示错误。
4.虚弱时触发的效果
铁血,魔术师Lv.3被动,佩克斯Lv.3被动,玛丽Lv.1被动等效果均是在进入虚弱时触发的效果,因此它们触发前会有一个极其短暂的虚弱过程,通常难以察觉,但可以通过部分现象推算得知(如:苏蕊在跳舞范围内击倒老鼠可无视铁血令其跟随;魔术师触发铁血时会被兔子大表哥踹飞等)。
(本篇转载自本人撰写的《游戏机制及数据测试规范》,版本v0.3,最后更新日期2025.7.27。若日后版本有更新会及时同步,请注意数据时效性)


评论