找回密码
 点一下
查看: 4496|回复: 22

关于1.1.0和1.1.1中对战两个bug的分析

[复制链接]
发表于 2010-9-29 14:12:03 | 显示全部楼层 |阅读模式
大家都知道:1.1.0里有个bug,雷兽打大型建筑的时候厉害过头了,因为它的溅射范围变成以目标单位外缘为基础,向外延伸固定额外半径的圆环。这样建筑本身的半径就相当于这个圆环的内径,内径和外径的差是固定的,这样内径越大,外径也就越大,溅射范围也就变得越大。 打越大的建筑物,它的溅射范围也就越夸张。


Screenshot2010-09-29 14_18_58.jpg

这个问题其实应该是伤害AOE效果KaiserBladesDamage的flag勾错所致。在1.1.0版本中,设计师为了提高雷兽帝王之刃的执行效率,将以往的搜索指定区域内单位+逐一伤害的效果改成了一个单一AOE伤害效果。于是显然要做一些较大改动。但在修改过程中。显然是照抄了原本搜索区域效果的一些参数。

原有的区域搜索效果中有一个flag叫Extend By Unit Radius, 即以单位半径为基础进行外延搜索。那为什么以前没有问题呢?

这里的关键其实在于。其实前后两个效果搜索的基准并不一样。1.1.0版之前,搜索基准是源单位,也是以雷兽自己的位置为偏移基础的。雷兽自己的体积是固定的,所以溅射范围自然也就是固定的。但是改成AOE效果后,势必要以主目标为计算基准来进行溅射。所以照抄原有的区域搜索效果就会出现问题。 主目标越大,溅射范围就越大。

所以其实应该把这个flag给去掉,换成Offset By Unit Radiu,进行绝对偏移,才是正常的溅射效果。1.1.1已经修正了这个问题。





那么1.1.1为什么又出来一个新问题:凤凰战机重力牵引光束在目标死亡后还会继续引导,直到引导完毕或者你强制结束。

Screenshot2010-09-29 14_13_09.jpg


其实这个原因在于,1.1.1修正了以前一个问题,这个问题是当凤凰战机拥有的能量正好为50点(发动牵引光束技能所需的能量)时,牵引光束会在使用后立刻取消。


这两个问题有什么关联呢。其实在于一个验证器。

Caster has energy and Not Dead

字面意思是,施法者还有能量而且未死。


为什么以前版本的牵引光束会需要这么个验证器呢?这应该和以前的重力牵引光束的设计思路有关,显然这个技能以前必然是设计成在引导过程中还会不断消耗能量,直到能量空掉后就会强制结束。现在的牵引光束引导中不再消耗能量。因此施法者还有能量这个验证器其实是不需要的。这个验证器的存在导致了最初的问题:当凤凰战机的能量正好为50时,用掉这50点能量刚好能施展牵引光束,但是接下来它的能量就用完了,正好不满足施法者还有能量这个验证器,于是引导强制结束。

而1.1.1里,直接删除了这个验证器,修复了这个问题。但是为什么会出来一个新的问题呢?


其实,说穿了是这个验证器一开始的名字就起得不好。这个验证器本身是一个联合验证器,是由两个验证器组成的。一个是施法者还有能量,另一个是未死。两者之间是和关系,必须都符合,这个技能才能继续引导。问题在于,一般人看这个验证器的名字,都会认为这个验证器是说,施法者必须活着,而且必须有能量吧?

但实际上不是,组成这个验证器本身的两个子验证器的实际作用其实是:“施法者还有能量,目标还活着”……也就是说,这个验证器同时要求目标还活着,如果目标死亡就中断施法。

很显然,设计者在修复这个技能的bug的时候着了这个验证器的名字的道。以为这个验证器是用来判断施法者自己有能量而且还活着的。于是他就想了:有能量这个验证器没用,活着这个验证器更没用,引导技能在施法者死后当然就自动中断了,没必要在这里浪费一个验证器。直接把整个联合验证器删了得了,方便快捷,只需要按一下删除和确定。


于是问题就出现了。所以大家以后要吸取教训,千万不要把验证器起些乱七八糟的名字,自己都看不懂,等以后要维护和升级你的地图的时候就会出现各种杯具了。
发表于 2010-9-29 14:17:14 | 显示全部楼层
所以BLZ也不是神啊~
回复

使用道具 举报

发表于 2010-9-29 14:24:58 | 显示全部楼层
太偷懒了。。。。。。。。。。。。。。。。。。。。。还不如头目呢。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2010-9-29 14:27:59 | 显示全部楼层
引用第1楼Cq3k于2010-09-29 14:17发表的  :
所以BLZ也不是神啊~
所以头目才是神啊
回复

使用道具 举报

发表于 2010-9-29 14:30:14 | 显示全部楼层
排除万难进来觉得楼上说的对
回复

使用道具 举报

发表于 2010-9-29 14:31:41 | 显示全部楼层
做SC2这波人感觉水平和责任心都不行啊
回复

使用道具 举报

发表于 2010-9-29 14:41:47 | 显示全部楼层
最近很辛苦的说啊~
回复

使用道具 举报

发表于 2010-9-29 14:51:03 | 显示全部楼层
如果没有系统的规划,今后的地图要多出多少Bug啊...

看到暴雪给每一个单位添加了一个Splash Damage的Damage Effect,或是每个单位都有的定制死亡,可见规划的重要性。以前我是没注意,应该是没有Splash Damage的吧,若是如此,随便改点什么说不定就让人痛不欲生...
回复

使用道具 举报

发表于 2010-9-29 17:36:57 | 显示全部楼层
头目好厉害。
头目万岁。
回复

使用道具 举报

发表于 2010-9-30 16:21:57 | 显示全部楼层
頭目厲害!

始終遊戲設計是愈來愈複雜, 所以一不小心很容易出錯....
回复

使用道具 举报

发表于 2010-10-3 23:50:17 | 显示全部楼层
开发“游戏”和开发“引擎”的应该不是同一波人,换句话说,游戏内容(本质上是数据)很可能不是由编辑器和游戏核心开发团队写的。
这很符合分工协作的原则,同时可以降低工作对员工技能的要求,员工只需要有一点编程基础,并“熟悉”编辑器就行了。
就好比自己用 Visual Studio 开发出来的程序有 BUG,不能怪微软的 Visual Studio 有问题。
回复

使用道具 举报

 楼主| 发表于 2010-10-4 00:23:51 | 显示全部楼层
正是如此。就像sc2的战役都是关卡制作人员用编辑器做出来的。

而他们和编辑器的制作人员并不是同一拨。





不过这两个bug并非引擎制作和数据团队之间没沟通好的问题。因为给你的验证器起名字依然还是编辑器使用者做的事情。这里应该是做这个验证器的人和后来改的人不是同一人或者忘了以前起这个名字的用意什么的而导致的。反正其实都只是常见问题而已。

不过BLZ现在倒是确实需要尽快把SC2的PTR服务器开起来,好在上线大补丁之前多个公测期。
回复

使用道具 举报

发表于 2010-10-4 00:53:09 | 显示全部楼层
头目有时间可以开个记者招待会么,我等有很多关于SC2的问题想问,但不知道该问谁。
搜索吧,用SC2炒作的太多,不能相信。
找资料吧,关于编辑器的太少,关于SC2运行机制的就更少了。

先问一个,SC2对于反作弊和保护地图方面做到什么地步了?
我只知道地图会加入类似“密钥”的东西…………………………

我是不是很白?
回复

使用道具 举报

 楼主| 发表于 2010-10-4 01:02:31 | 显示全部楼层
由于SC2的地图是必须在BN上联机的。

所以BLZ采用的地图加密方式是云存储,简单地如果你的地图被你勾上了加密,那么别人就没法把你的地图下到他的电脑里,在BN上玩的时候它下载到的也以云碎片。

当然,再厉害的加密也能破解的,不过这个加密比war3的完全没有总好多了。
回复

使用道具 举报

发表于 2010-10-4 09:43:24 | 显示全部楼层
好棒……
目前看起来毫无破绽。
回复

使用道具 举报

发表于 2010-10-4 10:14:11 | 显示全部楼层
破绽当然有。只不过现在还没人能利用破绽。
回复

使用道具 举报

发表于 2010-10-4 13:55:00 | 显示全部楼层
云还原?
不过估计中国的话
云也没有用
不支持局域网联机估计在中国火不起来
支持了就无所谓云端了……
回复

使用道具 举报

发表于 2010-10-4 14:00:46 | 显示全部楼层
好棒,目前没有人可以利用破绽。
回复

使用道具 举报

发表于 2010-10-4 15:42:58 | 显示全部楼层
头目,有关雷兽的攻击位置偏移我有疑问,在1.1.0更新之前,我仿造雷兽的攻击设置了范围判定+伤害的模式,用来造成以发射单位为圆心的小角度扇形杀伤范围。来完成攻击远方目标的时候对近距离直线范围内的目标造成穿透杀伤效果。

雷兽攻击修正之后,我模仿新的雷兽攻击模式修改了单位的攻击范围,希望达到同样的攻击一条线上无论远近的目标都进行对等的直线穿透杀伤。这里用Extend By Unit Radius还是用Offset By Unit Radiu能达到我所需要的效果?
回复

使用道具 举报

发表于 2010-10-4 20:08:10 | 显示全部楼层
说起来直线伤害不是有雷诺的电磁炮狙击枪这个例子么?

其实也就是连续绘制多个圆形。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-23 13:13 , Processed in 0.255416 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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