[评论]冒险岛无敌外挂成因分析

一般网游中是玩家和怪的身体是没有碰触判定的,玩家可以任意传过怪的身体.冒险岛因为其体裁特殊,不得不使用碰触来对玩家造成伤害.(如果是用”攻击事件”来对玩家造成伤害,那怪物本身就无法对玩家的跳跃行为造成阻碍.)

在网游中,服务器主要处理数据和数据库之间的传输,不可能做到对如此多的玩家和同等数量间的怪做服务器端的碰触判定.(比如群体玩家和群体怪的碰触,玩家被弹出后的碰触等连锁反应的计算量是巨大的,同时怪还有体形差异,更造成了计算的复杂性.)因此,冒险岛解决这一问题的办法就是将碰触判定由本机决定.服务器发送怪的坐标和ID,本机通过玩家所在坐标和所处状态(是否处于闪动无敌状态)进行判定,并将结果告诉服务器(人物弹出,掉血),服务器再返回确认的受伤害的数据(血槽减少).这就是为什么玩家在卡机时仍然会受到伤害,但血槽不掉的原因.卡机时本机仍然在对已收到的怪进行碰触判定.

无敌外挂的原理就是避免本机进行碰触判定.比如让玩家一直处于闪动无敌状态.(这竟然是一个本机状态).盛大的补丁也只能是避免这样的程序运行,却解决不了根本的问题:冒险岛本身的设计缺陷.

大家别看了我写的去做外挂啊 我是希望想设计冒险岛等类似的游戏的企划能想到这一点.有好游戏企划的游戏是不会有外挂的.