假设无其它干扰,1v1 对拼,如何确定这个技能丢出去是对着目标丢的?这是一个技能预判的问题,能否从逆向的角度谈谈
1
no1xsyzy 2019-06-24 14:58:18 +08:00
不明白,请给出情景详细说明
|
4
samRoll 2019-06-24 15:55:54 +08:00
A 在第 n 秒朝α角扔出 C 技能,B 在 n+1 秒收到 “ A 在第 n 秒朝α角扔出 C 技能”, 已知 C 技能速度,时间 求出 A 技能当前位置? 检测是否碰撞?
|
5
wafm 2019-06-24 16:00:17 +08:00
MOBA 一般只能通过技能长度和时间进行估算,打分 通过分值进行判断
|
6
rizon 2019-06-24 16:12:33 +08:00
在过去最传统的方式下。客户端会负责计算命中,技能是有体积的,只要检查体积碰撞就可以了。
但是在外挂牛 x 的今天,为了防止外挂,现在服务端会承担更多的计算而不是信任客户端,而且就算是客户端的计算也不会采用那么粗暴的方式了,太容易被修改了。 以前韩国做游戏没有这方面经验,做出来的例如 DNF 这类游戏,简直就是外挂的暖巢,大量计算放在客户端,导致客户端想咋玩就咋玩,后面腾讯虽然也参与进来做大量的修补擦屁股工作,但是也是很惨就是了~~ |
7
x86 2019-06-24 16:16:15 +08:00
我也挺好奇早期 LOL 的 L#脚本?按着空格打团,自动走砍走位多技能是怎么设计的
|
8
gaius 2019-06-24 16:17:04 +08:00
jue 本?
|
9
dabaibai 2019-06-24 16:18:18 +08:00
王者荣耀可以做 gua.. 帧同步的弊端
dota2 无法用挂. 状态同步的好处. |
11
dabaibai 2019-06-24 16:50:44 +08:00
|
12
dabaibai 2019-06-24 16:52:51 +08:00
@rizon 我做了 10 年游戏后端, 确实国内很少用帧同步, 小公司做帧同步会被外挂弄死.大公司直接封号不管你充多少钱.
除非是射击类游戏,格斗类我会用帧同步,其他基本都不会 |
13
tcfenix 2019-06-24 16:59:41 +08:00
王者荣耀的确是帧同步做的,如果你修改客户端的话的确可以做到让你放出本来不该放出的技能
但是问题是在其他 9 个人的客户端上是怎么显示的呢?记住帧同步游戏只是转发指令包啊 这个时候其实你已经跟其他 9 个人不在同一条世界线上面了 最后投票游戏结果,除非你能让 10 个人的游戏 6 个人开同一个挂,不然怎么投票赢下来? |
14
wujl100 2019-06-24 17:29:39 +08:00
对人技能:
一种情况是,A 需要选中 B,在满足“技能冷却完毕”且“ AB 间距离<技能范围”时,可以点击火球按钮。这种情况下,A 释放了技能后,会创建一个火球对象,火球会始终以 B 为目标移动,并且做碰撞判断,当火球与 B 发生碰撞时,B 掉血。B 如果跑得足够快,B 可以永远带着那个火球放风筝,不过通常角色是不会比特效对象跑得快的。 对地技能: 另一种情况是,A 朝释放朝着某个方向的技能,冲击波、光束炮。同样的,冲击波也好,光束炮也好,都会创建对象,他们会有一个技能范围和持续时间,在这个时间内,有角色碰撞了,就会掉血。 总结就是,人物对象与技能对象的碰撞检测返回了 true 就掉血。 |
15
co3site 2019-06-24 17:31:28 +08:00 via Android
上 CE 看看,不同方向都是有不同参数的
|