我对“准确、敏捷”的一点看法
准确和敏捷?呵呵~~~有趣的话题
最近看到有人在讨论,我也来说说我的看法
(本文大部分内容曾经回复在 http://comment1.17173.com/gamenewsmir3/news_comment.asp?newsid=6892&newstitle=装备分析―武器的准确&nauthor=俗人骗子
里面,大家有兴趣去看看)
在上面的讨论里面,有朋友认为正确敏捷没用,有朋友认为这是对伤害力有用,还有朋友直接就认为这个命中率有关……
但是我不这么认为。
在此我先举两个例子
举例一:
A――法师准确5带全攻装备10-40(很容易达到吧)
B――战士,随便多少级不带防御装备(远远低于法师攻击吧)
A砍B,看看Miss出现的几率
举例二:
神舰的怪物――触角神魔,准确22敏捷20
战士的准确没有超过20一样可以伤血
――――――――――――――――
上面的两个例子应该就可以说明敏捷和准确并不是互相加减就可以得到命中成功率的!对伤害值的影响也并不能得到很好的证明
接下来不得不提到程序编写对游戏运行的影响。下面一段是我对此的分析:
“关于俗人骗子在《装备分析》一文中将的装备分开计算的说法我很不认同,在这里比较赞同“我是IP”朋友的观点――传奇3这样的大型程序运算公式不能太复杂
特别是这种在线游戏,为了达到一定的流畅度,考虑到一般性的网关延迟以后,攻击、跑动、捡取……等玩家所有的动作都必须在游戏的正常刷新率间隔时间以内。
如果攻击判定和伤害计算运算过于复杂,占用CPU时间较多,造成服务器端时间延迟,不仅在玩家方面表现出来的“卡”,更因为数据的服务器端与客户端不同步造成人为的“幻影”,甚至在加密方式不完善甚至被破解以后,诸如WPE之类的封包替换软件直接就可以“制造”出不可思议的非正常数据(人为的超级变态装备、超强的攻击……)。这对于一个在线程序来说绝对是不可容忍的低级失误!
(这里假设性联想:为什么前一段时间沸沸扬扬的变态装备几乎都出在人气沸腾的几个服务器和匆忙开放网络不畅的几个新区?这绝对不应该是偶然)
基于这种程序编写思路,装备的总体效果基本可以判断为累加后再计算
这一点用计算机的+-*/原理就可以知道,不多废话
而且其中的函数值,与其分别读取数据库中的单个物品固定参数,还不如随机函数来的效率高
要知道,传奇3这种程序内部实际上是进行的单精度浮点运算然后编译成整数数值进行服务器与客户端的传输
这里就要说到了游戏设计思路方面了。
为了尽可能的增加游戏的多样性和区别,游戏设计者在其中加入了诸如“准确、敏捷、魔法躲避几率、幸运值”等游戏元素,而这些里面的“魔法躲避几率、幸运值”已经可以肯定是最后输出前才进行运算的绝对参数;“敏捷、准确”这些参与运算但是不能直接应用为参数的东西则应该成为整个运算公式里面的一环。
大家应该注意到游戏里面没有“命中率”这种东西出现。至少是官方没有这种正式说法
到底有没有?我说应该是有!
为什么?怎么表现?来看我说点其他的:
街机和家用游戏机上面的格斗游戏大家没玩过没看过的应该极少吧
这些游戏里面的攻击判定是怎么样的?
2D格斗游戏就很直接――上段、中段、下段攻击对应相应的防御
这种攻击判定思路在网络游戏里面的典型代表就是《千年》。只不过其中加入了上、中、下攻击技能值和对方对应防御技能值互相加减的运算
3D格斗游戏实际上到目前还是基本沿用了2D格斗游戏的思路,也不多说。很显然,传奇3不是采用这种思路进行攻击判定的游戏
我们来说说射击类游戏:
射击类的游戏其攻击判定根据什么?
根据的就是根据单元投影面积!
现在可以回到传奇3了
大家在打栗子树的时候有什么感觉?鼠标是不是还没有点到树身上就可以看到名字了?
对了!点到名字的这时候就是出于攻击判定有效状态!
原因很简单:栗子树的敏捷、准确、防御、攻击……全部为0――除了魔法躲避,应该是100%,和触龙神以及守卫NPC一样。这样就能够很好解释为什么打树时候魔法无效却不出现Miss、而物理攻击绝对和角色攻击上限、下限范围完全吻合!
这个例子证明了什么?
我的大胆猜测:
所谓准确,其实也就是自己攻击范围。
不是多少格那种范围,而是在你鼠标周围能让你达到攻击判定状态的范围!(应该以像素为单位)
所谓敏捷,应该是把自己角色的投影面积向内减少的范围!
这样的假定:
被攻击目标的攻击判定范围=自己本身应有攻击判定范围+自己敏捷-攻击者准确!
这么解释:
这个数字应该是角色一个固定原始攻击判定范围为基数,向内收缩(向外扩张)多少格来最终确定自己的被攻击判定的范围
当然,攻击判定范围也不是这样无限制的削减或者增加下去,比如说敏捷200的守卫为什么那么容易点到?
最低攻击判定范围
就这么一句,可以解释了吧!不明白这句话的人请不要参与讨论,我的观点和你差异太大。请自便!
再来看看游戏设计者和程序员的初衷:
和伤害有关系的计算放到服务器上面进行运算并且进行校验以保证数据一致性;
和攻击判定有关的运算在客户机上面本地运算并直接运用,不需要校验。
这样在网络状态不适很理想的情况下也可以最大限度的保证由喜关键数据的唯一和公正性。
同时这也可以解释在本机网络状况不好的情况下经常出现点不到对方的情况出现――对方的人物数值包(包括对方敏捷)在网络传输中丢失,本机无法计算除应该有的攻击判定范围!
――――――――――――――――――――
写到这里,我对“准确、敏捷”作用假设的原始思路以及相关作证都应该出来了。这其中应该感谢文章开头提到的那篇文章的回复里面“我是IP”、“俗人骗子”、“阿呆”等朋友的精彩讨论。没有他们的讨论,我上面的这些也不可能从脑海中的一点点朦胧片断汇集出来。谢谢几位了,希望你们也能加入我的讨论,欢迎!
――――――――――――――――――――――
本文只是一篇对游戏内容方面的探讨,欢迎大家能来就此问题抱着研究、完善的思想来展开友好的讨论。
有口头以及行为暴力倾向的朋友请到光荣6来找我。最近在玩小号“555F1的仓库”。
有真人PK倾向的请来武汉以后联系我,节约点长途话费,祝安。
最近看到有人在讨论,我也来说说我的看法
(本文大部分内容曾经回复在 http://comment1.17173.com/gamenewsmir3/news_comment.asp?newsid=6892&newstitle=装备分析―武器的准确&nauthor=俗人骗子
里面,大家有兴趣去看看)
在上面的讨论里面,有朋友认为正确敏捷没用,有朋友认为这是对伤害力有用,还有朋友直接就认为这个命中率有关……
但是我不这么认为。
在此我先举两个例子
举例一:
A――法师准确5带全攻装备10-40(很容易达到吧)
B――战士,随便多少级不带防御装备(远远低于法师攻击吧)
A砍B,看看Miss出现的几率
举例二:
神舰的怪物――触角神魔,准确22敏捷20
战士的准确没有超过20一样可以伤血
――――――――――――――――
上面的两个例子应该就可以说明敏捷和准确并不是互相加减就可以得到命中成功率的!对伤害值的影响也并不能得到很好的证明
接下来不得不提到程序编写对游戏运行的影响。下面一段是我对此的分析:
“关于俗人骗子在《装备分析》一文中将的装备分开计算的说法我很不认同,在这里比较赞同“我是IP”朋友的观点――传奇3这样的大型程序运算公式不能太复杂
特别是这种在线游戏,为了达到一定的流畅度,考虑到一般性的网关延迟以后,攻击、跑动、捡取……等玩家所有的动作都必须在游戏的正常刷新率间隔时间以内。
如果攻击判定和伤害计算运算过于复杂,占用CPU时间较多,造成服务器端时间延迟,不仅在玩家方面表现出来的“卡”,更因为数据的服务器端与客户端不同步造成人为的“幻影”,甚至在加密方式不完善甚至被破解以后,诸如WPE之类的封包替换软件直接就可以“制造”出不可思议的非正常数据(人为的超级变态装备、超强的攻击……)。这对于一个在线程序来说绝对是不可容忍的低级失误!
(这里假设性联想:为什么前一段时间沸沸扬扬的变态装备几乎都出在人气沸腾的几个服务器和匆忙开放网络不畅的几个新区?这绝对不应该是偶然)
基于这种程序编写思路,装备的总体效果基本可以判断为累加后再计算
这一点用计算机的+-*/原理就可以知道,不多废话
而且其中的函数值,与其分别读取数据库中的单个物品固定参数,还不如随机函数来的效率高
要知道,传奇3这种程序内部实际上是进行的单精度浮点运算然后编译成整数数值进行服务器与客户端的传输
这里就要说到了游戏设计思路方面了。
为了尽可能的增加游戏的多样性和区别,游戏设计者在其中加入了诸如“准确、敏捷、魔法躲避几率、幸运值”等游戏元素,而这些里面的“魔法躲避几率、幸运值”已经可以肯定是最后输出前才进行运算的绝对参数;“敏捷、准确”这些参与运算但是不能直接应用为参数的东西则应该成为整个运算公式里面的一环。
大家应该注意到游戏里面没有“命中率”这种东西出现。至少是官方没有这种正式说法
到底有没有?我说应该是有!
为什么?怎么表现?来看我说点其他的:
街机和家用游戏机上面的格斗游戏大家没玩过没看过的应该极少吧
这些游戏里面的攻击判定是怎么样的?
2D格斗游戏就很直接――上段、中段、下段攻击对应相应的防御
这种攻击判定思路在网络游戏里面的典型代表就是《千年》。只不过其中加入了上、中、下攻击技能值和对方对应防御技能值互相加减的运算
3D格斗游戏实际上到目前还是基本沿用了2D格斗游戏的思路,也不多说。很显然,传奇3不是采用这种思路进行攻击判定的游戏
我们来说说射击类游戏:
射击类的游戏其攻击判定根据什么?
根据的就是根据单元投影面积!
现在可以回到传奇3了
大家在打栗子树的时候有什么感觉?鼠标是不是还没有点到树身上就可以看到名字了?
对了!点到名字的这时候就是出于攻击判定有效状态!
原因很简单:栗子树的敏捷、准确、防御、攻击……全部为0――除了魔法躲避,应该是100%,和触龙神以及守卫NPC一样。这样就能够很好解释为什么打树时候魔法无效却不出现Miss、而物理攻击绝对和角色攻击上限、下限范围完全吻合!
这个例子证明了什么?
我的大胆猜测:
所谓准确,其实也就是自己攻击范围。
不是多少格那种范围,而是在你鼠标周围能让你达到攻击判定状态的范围!(应该以像素为单位)
所谓敏捷,应该是把自己角色的投影面积向内减少的范围!
这样的假定:
被攻击目标的攻击判定范围=自己本身应有攻击判定范围+自己敏捷-攻击者准确!
这么解释:
这个数字应该是角色一个固定原始攻击判定范围为基数,向内收缩(向外扩张)多少格来最终确定自己的被攻击判定的范围
当然,攻击判定范围也不是这样无限制的削减或者增加下去,比如说敏捷200的守卫为什么那么容易点到?
最低攻击判定范围
就这么一句,可以解释了吧!不明白这句话的人请不要参与讨论,我的观点和你差异太大。请自便!
再来看看游戏设计者和程序员的初衷:
和伤害有关系的计算放到服务器上面进行运算并且进行校验以保证数据一致性;
和攻击判定有关的运算在客户机上面本地运算并直接运用,不需要校验。
这样在网络状态不适很理想的情况下也可以最大限度的保证由喜关键数据的唯一和公正性。
同时这也可以解释在本机网络状况不好的情况下经常出现点不到对方的情况出现――对方的人物数值包(包括对方敏捷)在网络传输中丢失,本机无法计算除应该有的攻击判定范围!
――――――――――――――――――――
写到这里,我对“准确、敏捷”作用假设的原始思路以及相关作证都应该出来了。这其中应该感谢文章开头提到的那篇文章的回复里面“我是IP”、“俗人骗子”、“阿呆”等朋友的精彩讨论。没有他们的讨论,我上面的这些也不可能从脑海中的一点点朦胧片断汇集出来。谢谢几位了,希望你们也能加入我的讨论,欢迎!
――――――――――――――――――――――
本文只是一篇对游戏内容方面的探讨,欢迎大家能来就此问题抱着研究、完善的思想来展开友好的讨论。
有口头以及行为暴力倾向的朋友请到光荣6来找我。最近在玩小号“555F1的仓库”。
有真人PK倾向的请来武汉以后联系我,节约点长途话费,祝安。





