恰好昨天说到APEX,不少小伙伴也评论说这个游戏现在外挂同样满天飞了~而AKA晚上看直播,也刚好看到主播被外挂气到换游戏。那么就说下为什么FPS游戏在外挂问题上如此难治理,回答内容涉及一些专业名词也许有误,欢迎专业人士指正。
FPS游戏玩的人多这是一句废话,但也是最重要的原因。毕竟游戏玩的人多,外挂才好卖。那么有的人可能要问了,DOTA,LOL等MOBA游戏同样玩的人很多,为何就不像射击游戏那样泛滥?这是因为这两类游戏与服务器的数据交互方式不同所造成的。
外挂的工作机制先说个曾经最常见的MMORPG类型游戏,比如我们熟知的WOW。在这类游戏中,你的角色的一举一动(例如:跑步,攻击,放技能)都是由你向服务器发送了一个请求,服务器再返回给你的客户端一个命令,你的角色才会执行这个操作。
这一点在游戏出现延迟的时候,最容易理解。例如上图中这个角色,我按了快捷键释放技能,角色在客户端做出了放技能的动作,但是由于服务器延迟了,所以我的角色就只能一直搓啊搓,就是不把技能扔出来。
而现在外挂想把我的技能释放时间从3s修改到瞬发,那么就要向服务器发送一个“不合理”的请求,服务器收到请求发现不合理啊~ 于是就先拿小本本把你记上,回头分析一下再找你算账。
而在FPS游戏中却不是这样,FPS游戏的运算量非常的大,你的视角每次移动,哪怕只动了0.1毫米,也要向服务器发送一次请求。而实际游戏中,人物移动,视角转动的次数数不胜数,如果每一个动作都向服务器请求的话,那么数据量太大,服务器就会算不过来,然后造成延迟。
所以,FPS游戏中,我们的动作都是在你的电脑本地先算好了,再把算好的结果给服务器发过去。
我们还是拿游戏延迟的时候来举例,APEX中如果出现高延迟,就不会像WOW里那样,角色有跑步的动作,但是却没有移动。而是像图中这样移动了一段举例,然后突然瞬移回原地,图中你移动的这段距离就是本地运算完成的,而瞬移回来是服务器还没收到你移动的结果,于是把你拎了回来。
既然FPS游戏是把本地运算后的结果交给服务器,那么本地运算的过程,外挂是可以对其进行修改的。FPS游戏中常见的锁头挂,外挂最终递交给服务器的只是一个爆头击杀的结果,这个结果对服务器来说,是合理的。而不是像WOW里那样3s的施法时间强行瞬发这样“不合理”。
最后举个例子来说明这两种情况:
RPG游戏的外挂就像上课老师点名回答问题,你要立刻回答正确的答案,否则就罚站。
FPS游戏的外挂则像老师布置作业下午交,你可以去抄别人的,然后交给老师。
最后说回MOBA最后回答一开的问题,LOL,DOTA这些游戏人也很多,为何没有那么严重的外挂情况?主要原因就是和WOW的情况相同,MOBA游戏同样每个动作都要请求服务器来完成。
另外是AKA我个人看法,MOBA的战况比较复杂,不像FPS游戏只要实现将子弹打到敌人头上这个结果就OK了;而MOBA里,技能放给谁?放到哪?什么时候放?这里头讲究就太多了,所以MOBA常见的外挂仅仅是全图而已。
沙发