无尽龙族

 找回密码
 注册
查看: 4825|回复: 0
打印 上一主题 下一主题

龙族错屏详解及攻击距离的判定 [复制链接]

跳转到指定楼层
1
admin 发表于 2023-6-15 23:56:01 |只看该作者 |倒序浏览
部分玩家对于错屏及攻击距离并不理解, 并经常提出相关的疑问, 所以我们写了本贴, 主要介绍了龙族错屏的原理及何为有效攻击距离, 便于一些玩家理解;

相关知识:
 1秒 = 1000毫秒, 毫秒的简称为ms;
 相对于1天、1小时或1分钟, 一秒是一个很短的单位, 但相对于刹那、瞬间, 1秒却又是很长的单位;
 例如一个手指1秒可以按10多下键盘, 100km/h的汽车1秒可以行驶27.7米, 1秒跳绳可以跳8个…
相关图片:
相关图片.png
------------------------------------------------------------------------
错屏的概念:
错屏是早期网络游戏的通病, 现在的网络游戏则是从策划层面减少了需极短时间精确判定的功能, 例如低移动速度、较包容的判定机制(例如WOW火球可以拐弯追踪), 并引入一些同步机制, 已大大降少错屏, 但通常也未完全杜绝;
英雄联盟、DOTA类游戏虽画面极为同步, 但其机制是建立在少量人数对战(如10人)的, 无法适用于大型多人网络游戏;
龙族做为早期的网络游戏作品, 错屏从机制上就已是顽疾, 并且已经成游戏玩法的一部分, 平时错屏较为常见;

错屏是指同视野下双方屏幕显示不一致, 例如玩家A自己看自己在坐标A, 但玩家B看玩家A却在坐标B;
而错屏的主要原因是因为网络延迟的缘故, 因双方时间片段不同, 双方屏幕显示也有不同;
而不同的玩家在不同的地域, 数据需经过网线及路由器、交换机才可达到服务器, 此过程中必定有一些延迟;


错屏演示视频:
错屏演示.gif


截图:
错屏演示.png
此视频仅为简单的从A点走向B点, 从图中可明显看出, 左侧客户端的人物比右侧客户端人物更加靠左, 位置不一致, 此为错屏;


错屏原理详解, 假设每0.1秒(100ms)移动一个坐标, 见下方表格:
时间轴(分钟:秒.毫秒)当前状态玩家A客户端(假设数据和服务器的单向延迟30ms)玩家B客户端(假设数据和服务器的单向延迟70ms)
0:0.000玩家A鼠标点击角色左侧, 角色开始将向左奔跑显示玩家A开始向左跑显示玩家A还在原地站立
0:0.030玩家A移动指令到达服务端, 服务端将移动指令下发至玩家B显示玩家A已向左跑了30毫秒显示玩家A还在原地站立
0:0.100玩家B客户端收到服务端下达的让玩家A向左奔跑的指令, 此时已经错屏显示玩家A已向左跑了100毫秒,已移动1坐标显示玩家A开始向左跑
0:0.200已经错屏, 显示玩家A的位置相差1坐标显示玩家A已向左移动2个坐标显示玩家A已向左移动1个坐标

结论:
由以上表格来看, 只要有网络延迟的存在, 错屏就是无可避免的;
因龙族对于角色灵活度要求较高, 所以客户端是先行执行自身角色的移动指令, 并在同时将移动指令上报至服务器, 服务器再将该移动指令下发至同视野内的其他人, 其他人接到指令后, 该角色才开始移动;
此过程他人屏幕中你角色的移动将至少慢2个网络延迟(你到服务器的延迟, 以及服务器到他人的延迟);
而龙族对于位置判定需十分精确(如究极全中仅半个身位), 且龙族的角色移动速度较快, 所以错屏从感观上体验更为强烈;

我们曾尝试在玩家A移动角色时, 等待服务端返回移动指令后再开始移动, 这样错屏延迟将从70ms + 30ms = 100ms, 变为70ms - 30ms = 40ms, 错屏距离将有效缩短;
但更新后发现高延迟地区的玩家因角色移动迟钝几乎无法游戏(2021-10-21更新), 后来取消了该调整(2021-10-22更新);

而有一些游戏内逻辑问题导致的错屏, 例如小救其他人时, 自己看自己移动, 但别人看自己不移动, 由此造成的错屏我们已修复许多;
综上所见, 其实一格坐标左右的错屏十分常见且普遍, 而当双方其中一人网络环境较差, 延迟较高时, 可能将出现更远距离的错屏;
当然, 更差的网络环境或更高的延迟, 对于操作的影响也是极大的, 例如点对方攻击响应慢、喝水响应慢、跟任何人都有较大错屏、难以闪躲技能等, 只会更吃亏, 而不是更占便宜;

------------------------------------------------------------------------
关于攻击距离:
攻击距离是为鼠标左键点击对方时进行判断, 如攻击距离满足, 则攻击对方;
这时候先执行举刀动作(攻击前摇), 再执行落刀动画(攻击后摇);

如以下视频:
攻击者视角.gif
被攻击者视角.gif

因举刀(攻击前摇)也有一定延迟(普通攻击指令往返服务端的网络延迟), 所以即便以举刀来看对方也跑出了一段距离, 跟实际鼠标攻击的位置并不相符, 但举刀(攻击前摇)时距离攻击位置相对接近;
而落刀时对方已经跑出极远, 以落刀来衡量攻击距离明显不太合理;
而当错屏也同时存在时, 将会感觉攻击距离更加远;

总结:
因龙族人物移动较快, 跑动中即便很短的时间也可以移动很远;
所以要正确理解攻击距离何为合理, 因举刀(攻击前摇)延迟及错屏等因素, 当你在移动时, 对方举刀距离超出攻击距离1格左右是十分合理的区间, 而且更加不应以落刀来做为衡量攻击距离的依据;


以上内容均可自行测试验证
您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|无尽龙族

GMT+8, 2024-12-15 11:44

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部