找回密码
 立即注册
搜索
查看: 1745|回复: 17

[心得体会] 公测版本战斗系统详解【9.19版本】

[复制链接]
成绩
9
1176
2481
主题
帖子
积分

进度

神社巫女

资源
尾巴毛 : 2226 根
狐火 : 1354 团

灵梦(蓝)玛丽若鹭姬雨红美铃


蜥蜴王 Lv:100
发表于 2025-9-17 22:34:22 | 显示全部楼层 |阅读模式
本帖最后由 随机性 于 2025-9-30 03:27 编辑


或许坛友们在不久前的战斗中发现了伤害有些许不对劲之处,答案正是因为我在边写这个边在做新版本战斗系统的测试啦
本次版本更新修复了原版战斗系统的无数问题中的其中几个,良性恶性的都有,以及引入了大家非常熟悉的系统 - 技能属性
或许新的大的要来了?还是刷福佑的好日子将一去不返?
这就要根据你们的反馈进行别的方面的平衡,希望大家多多测试——但无论如何,原作的设计缺陷之处是不可能被复原的
接下来就对着本贴在代码和设计层面了解原战斗系统的独到之处,以及这次更新的调整吧?
1.战斗系统详解
A. 伤害公式
原版伤害基础值与等级系数,属性对应的双攻/双防和招式威力相关
此外还会吃暴击和随机数的影响
原版无本系1.5,这也是为什么打克制压十级仍然打不死的原因之一


B. 属性与物特
原版伤害与防御类型和属性相关
物攻物防:岩、钢、地面、飞行、格斗、普通、幽灵、虫、毒
特攻特防:火、水、草、电、超能、恶、冰、龙
特例:克制/抵抗时,使用与攻击属性的伤害与防御类型计算


举例:
火->草:特攻->特防
虫->草:物攻->物防
格斗->冰:物攻->物防
草->虫:特攻->特防
普通->虫:物攻->物防
幽灵->冰:物攻->特防
超能->飞行:特攻->物防

在技能物特实装前,公测会一直沿用此套算法


C. 地图顺序
地图按最低出现等级排序,从低到高
同最低等级时按最高出现等级排序,依旧是从低到高
可以把在本家宝石版越靠流程后的地图当作等级越高,且除了高难图以外地图设置等级基本与本家(宝石版或ORAS之一的等级范围相吻合)

2.勘误
A. 闪避【野怪:为什么我速度比你高还是我miss?那我速度不是白加了吗】
在原版设计里,闪避由双方速度差决定,只要一方速度比另一方大于10,就有20%概率闪避另一方的攻击
这个设计本身没什么特别值得挑刺的地方,但我相信各位在了解这个计算方式后,结合实际体验中会觉得触发频率不对劲
尤其是在高冒险等级下,对面速度已经乘以数倍的情况下自己仍然能时不时的闪避,这是为什么呢?
——因为原作者在每次判定中都用的是【野怪速度-我方速度】来判定
这样一来,高冒险等级下这个条件自然是每次都能通过的
而在低冒险等级下,路边小怪基本能被自己一脚踢死,体感上打路边小怪也没有miss过,虽然本来即使写对也不会miss
而在没踢死的情况下,大家相信也没遇到补刀miss的现象吧?这也是因为这个条件写错了
另外还有以前闪避加伤害的bug,是原作者把闪避放在伤害计算的循环外导致的
虽然会显示伤害,但只有未闪避时才会将血条显示的数值同步到变量上,所以只是扣假血条
修正原因:逻辑不合
影响预估【微】
1. 被路边野怪反击有一定概率对方会miss了
2. 免疫刷法自己miss概率不变,对方不会有miss了,但本来也是0伤害无所谓啦

B. 伤害【循环代入这一块】
为什么高冒险等级下伤害量比低难度高这么多?难道伤害有吃冒险等级加成?还是说和速度挂钩?
这些都是从1.0时期流传下来的假设了,答案并非直接如此,但已经和真相八九不离十了

这套战斗系统的设计是在每轮战斗循环中轮流执行两个相同的回合,分别为己方回合与敌方回合,哪个速度快就先执行哪个回合,然后再执行另一个回合
即:一轮战斗由两次代码构成相同的循环回合构成
这个设计执行得好的话没什么问题,但问题就出在原作者对变量的处理非常糟糕
他将双方面板变量和我方技能威力的获取放在了循环外,还在循环内覆盖了储存这些数据的变量来进行伤害计算
为什么不建一个中间变量呢?这么一操作,本轮战斗的下个循环该怎么办呢?相信有代码经验的人一定能明白这么做的缺陷在哪里
考虑到原作者说这是他中学自学代码的作品,就不过多着墨他处理上的问题了,但难道当年的成年人没人能审出这方面的问题吗?

在自身速度高于对方的情况下,在效果上是不会有问题的,虽然变量被污染了,但在下一轮循环开始时会被重置
但自身速度低于对方的情况下,就会产生问题了,良性恶性都有
原系统为了在敌我双方的回合内用同一套伤害计算公式,会在对方的回合内,用对方的双攻来覆盖我方的双攻,然后用我方的双防覆盖对方的双防进行伤害计算
最后再用野生宝可梦的固定招式——威力40的【绝招】覆盖先前储存的我方技能
这样一来,加上上述的初始化问题,在这一轮对方回合结束该执行下一轮我方回合时,我方双攻、对方双防和技能威力都没有进行初始化
在这样的一轮战斗下,不论是对方对我方的伤害,还是我方对对方的伤害,都是用对方双攻我方双防固定的40威力进行计算,唯一的变量是双方等级
另外明明进行了属性交换却没有接着用这个思路做速度交换,也是导致原作miss判定缺陷的原因,当然好的设计一定不会是用原始变量做交换

接下来用二个大家或许都经历过情景来解释为什么这个处理方式是有缺陷的
1. 低冒险等级下,等级相近,对方速度比我快比我先出手,导致我伤害不高
因为前段时间说过的野怪个体值丢失bug【已修复】,再加上我方有累积的努力值和个体值,野怪的面板即使在等级领先的情况下也低于己方
在这个情况下,如果对方意外的速度比我方快,导致对方先攻,进而导致面板交换
轮到我方攻击时,采用野怪双攻、我方双防和40威力技能会导致伤害大幅度衰减,唯一的变量也因为双方等级接近拉不开差距
这点也是旧版本大家认为伤害量和速度相关的原因,前几天快龙那个伤害低的帖子也是因为如此
2. 高冒险等级下,打免疫阵容,对方速度比我快比我先出手,但我伤害比低冒险等级下高
虽然对方只造成了0的伤害,但变量交换已经完成——恭喜你,你现在可以用对方的逆天双攻和自己的路边双抗来打伤害了
由于对方的逆天双攻是吃冒险等级加成的,所以说伤害量受冒险等级加成也不算错


修正原因:逆天交换
影响预估【低】
1. 理论上不会再出现被对方抢先出手导致伤害降低的情况了
2. 虽然高免疫刷法自身伤害大幅降低,但这个倍数加成的冒险等级已有取死之道,经简单测试后被我大砍



3.实装内容
A. 本系加成
同本家一样,使用本系技能会享有1.5倍的威力加成
野生宝可梦因为只会使用本系技能【绝招】,所以固定享有1.5倍加成
影响预估【中】
1. 拥有三倍克制伤害,还有谁可阻挡,爽爽虐菜
2. 没有克制的情况下,1.5倍伤害也可以很痛,但要注意考虑到物特类型的转化
3. 被野怪还手时挨打更痛了
4. 普通系在宝宝时期有所加强,因为低等级普通技能多

B. 技能属性
这还用解释吗,不熟的罚去背属性克制表
影响预估【高】
1. 根据调整过的技能池来优化自己的打击面,达成更好的练级体验
2. 技能池的影响更加重要
3. 需要注意不同属性的物特计算

C. 冒险等级
垃圾设定,我不知道按他原本的设计20级能怎么打
除非你告诉我被打交换面板是设计的一部分
现在血量加成变为冒险等级的平方根倍,除速度外统一增加3*(冒险等级-1),速度有额外的随机加成(测试中)

D. 伤害公式
除了物特的区分外和本家一致,原版和昨天实装时本来也是这个公式,但因为bug导致伤害很抽象
今天的伤害公式调整过后溢出太多了,于是还是用回本家的
伤害=((2×等级+10)/250×攻击防御×威力+2)×克制关系加成


成绩
9
122
168
主题
帖子
积分

进度

一尾狐

资源
尾巴毛 : 124 根
狐火 : 538 团

紫苑


海刺龙 Lv:38
发表于 2025-9-17 22:39:21 | 显示全部楼层
也就是说现在技能属性实装了吗
沙发 2025-9-17 22:39:21 收起回复
随机性 2025-9-17 22:40
回复 举报
是的,ui部分还在修改中,但战斗时的应该已经可以正常显示了
成绩
264
2332
4486
主题
帖子
积分

进度

四尾狐

资源
尾巴毛 : 3439 根
狐火 : 8376 团

荷取芙兰咲夜玛丽


Lv:100
发表于 2025-9-17 22:47:34 | 显示全部楼层
好多没看懂的地方
1.宝可梦属性还是只有第一属性,然后战斗时的属性结算是看宝可梦属性还是技能属性?(宝可梦用本属性的技能有1.5倍加成这点看明白了)
比如说飞行打地面,但是用的电属性技能,这时候会有伤害吗
2.冒险等级现在是全属性*冒险等级吗?(除血量外统一变成5*冒险等级,没看明白
板凳 2025-9-17 22:47:34 收起回复
steve回复sirenyou 2025-9-17 22:56
回复 举报
是呢,不然全体敌人全部固定值那还了得
sirenyou回复steve 2025-9-17 22:55
回复 举报
原本的加100吗
steve回复sirenyou 2025-9-17 22:54
回复 举报
"增加"
sirenyou 2025-9-17 22:53
回复 举报
就是生命按照原本精灵的数值*20
其他的属性统一变成5*20 最大特防 速度什么的都变成100
随机性 2025-9-17 22:49
回复 举报
已修改描述
和原版宝可梦一致,现在是技能属性打对方属性,电打地面为0
成绩
22
1102
1701
主题
帖子
积分

进度

四尾狐

资源
尾巴毛 : 1432 根
狐火 : 5221 团

大妖精玛丽红美铃紫苑

发表于 2025-9-17 22:50:22 | 显示全部楼层
大佬辛苦了
属性与物特相当反直觉啊,居然是和属性挂钩的
剩下的问题多多少少都能感受到,特别是冒险等级的问题,20级的情况下,不管是自己多极品的宝可梦都是路边(曾经以为这个设计是为后面的等级上限突破或者神装加成准备的)
至于刷钱方法么,
生命自会找到出路.jpg

地板 2025-9-17 22:50:22 收起回复
steve 2025-9-17 22:53
回复 举报
目前来看高等级受影响比较小,但是高等级图怪太杂了
成绩
112
1064
3714
主题
帖子
积分

进度

四尾狐

资源
尾巴毛 : 3255 根
狐火 : 2280 团

大妖精(金)荷取咲夜女苑

发表于 2025-9-19 15:15:52 | 显示全部楼层
所以说今天的伤害又变回原来的刮痧了吗
升级又得住院了属于是
5# 2025-9-19 15:15:52 收起回复
龙骧回复随机性 2025-9-19 22:30
回复 举报
话说回来 要不要搞个专门报BUG的帖子。我觉得有必要
随机性回复龙骧 2025-9-19 16:01
回复 举报
因为原版结算miss和免疫直接干脆利落的在伤害上乘0
如果你对以前的战斗记录有印象的话,以前是miss了伤害仍会显示在假血条上,修了这个之后的版本是miss会显示闪避+打出0伤害但命中
然后我昨天在修这个描述显示的时候偷懒用了if(伤害量),然后就会导致免疫也跟着不显示对话
刚才伤害=0则是我新建了个中间变量处理命中的时候其中一处打错了一个字(笑
龙骧回复随机性 2025-9-19 15:53
回复 举报
是在修改什么吗?突然两边谁都打不到谁了
随机性回复龙骧 2025-9-19 15:42
回复 举报
嗯是的,之前就是对面不管等级多少都是按一级的双防导致伤害爆炸
现在比较接近原版的伤害计算,这样至少伤害曲线比较平滑不容易像之前出bug
一难的话打克制是没什么问题
不过现在修完bug后对面伤害是高了点,我暂时下调测试下
龙骧回复随机性 2025-9-19 15:26
回复 举报
我说的刮痧是指和对面打的有来有回必须得找克制怪才能刷了
还有 1 条回复, 点击查看
请思考你是否真的想要回复本帖,▶你真的想要谢谢楼主吗?那就请回复有意义的内容
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Kitsune Jinja |每日参拜

GMT+8, 2026-7-31 15:43 , Processed in 0.045445 second(s), 84 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表