游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2228|回复: 5

[求助] 关于DNF这类在线ACT的机制上的一个小疑问,求有相关经验的大神分析或者直接解答

[复制链接]

1

主题

17

帖子

189

积分

注册会员

Rank: 2

积分
189
发表于 2018-5-10 23:16:18 | 显示全部楼层 |阅读模式
我是一名普通的在读大学生,有一天突然发现一个问题

这类游戏,什么CLS(封印者),DNF(地下城与勇士)之类的,通常在关卡设计中,都会有来自非友方对象的即死攻击
比如说以前哥布林王国的吃人蒸汽车,机关爆炸之类,封印者里女王开眼各种全屏秒杀演出之类的
即死方式也各有不同
大伤害,多段大伤害,带有即死效果的攻击判定,甚至是直死

我今天的问题就来自于持续伤害的作用上面
因为我发现,在多段大伤害作用,或者某些持续伤害作用的时候(每一段之间通常隔个零点一秒?),如果发动带有无敌或者减伤效果的技能,似乎有可能导致伤害的卷回,或者某些异常现象?
比如说,DNF坐乌龟金团,在用持续性百分比伤害自杀的时候,触发了精灵骑士的复活被动,血量恢复到三分之一,人物进入无敌状态,但是由于持续性百分比伤害无视无敌,角色继续比例扣血,直到独角兽跑到角色身边的演出完成后,角色的血量突然恢复到三分之一处
再比如CLS吃多段大伤害即死(30000血上限吃五下20000伤害),在几次大伤害之间开出了无敌(主要是在致死的那一下伤害发生之前放出了减少受到伤害的技能),但是角色依旧死亡/受到的上一次伤害突然恢复... ...这一种现象我好像也见过

有没有有相关从业经验的大佬指点一下
是否有这种会导致已产生的伤害卷回的代码设计,如果有,出现这种代码设计的目的是什么,如果没有这种机制会有什么问题?
如果没有,这类型的问题具体的情况又是怎么样的呢?

0

主题

37

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2018-5-11 10:05:54 | 显示全部楼层
个人觉得是和服务器同步,延迟补偿以及帧修正有关,不一定对。以下是一点分析:
玩家按下技能的同时,无敌这个指令就发出去了,在客户端上的表现就是无敌的特效出来了。
但是这个指令打包发送到服务器再返回是需要大约100ms左右甚至更久的延迟的。在这个过程中,玩家的血量还是受到服务器的同步的,也就是这段时间内,服务器还不知道你开出了无敌,所以依然按照20000点每次在跳伤害计算你的血量。
等到服务器接到你的无敌指令,他发现你的无敌开在这个伤害之前,服务器就把你的血量重新计算修正了,作为你网络延迟的补偿。
这种设计思路一般应用于网络游戏,因为都是考虑到玩家的平均延迟的,在单机游戏里面基本上就没有这种机制的存在。

1

主题

17

帖子

189

积分

注册会员

Rank: 2

积分
189
 楼主| 发表于 2018-5-11 15:57:52 | 显示全部楼层
达歌 发表于 2018-5-11 10:05
个人觉得是和服务器同步,延迟补偿以及帧修正有关,不一定对。以下是一点分析:
玩家按下技能的同时,无敌 ...

应该就是这个了,谢谢... ...
有时候我的反应比较慢,反而容易出现这种现象吧

0

主题

37

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2018-5-13 21:24:05 | 显示全部楼层
jkgf2016 发表于 2018-5-11 15:57
应该就是这个了,谢谢... ...
有时候我的反应比较慢,反而容易出现这种现象吧 ...

客气,个人分析而已,详细的技术原理还是找正规的技术人员询问比较好

0

主题

37

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2018-5-13 21:26:37 | 显示全部楼层
jkgf2016 发表于 2018-5-11 15:57
应该就是这个了,谢谢... ...
有时候我的反应比较慢,反而容易出现这种现象吧 ...

恩,但是一般延迟补偿都会有一个上限,超过这个世界上限的就会被服务器判定为无效操作

7

主题

448

帖子

781

积分

高级会员

Rank: 4

积分
781
发表于 2019-1-15 22:38:25 | 显示全部楼层
不错 不错 学习 学习 不知DNF是多少人的团队完成的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-3-29 16:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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