-
-
http://gad.qq.com/wenda/activity/10016?sessionUserType=BFT.PARAMS.236740.TASKID&ADUIN=1397601311&ADSESSION=1505959700&ADTAG=CLIENT.QQ.5533_.0&ADPUBNO=26719
-
请教帧同步问题
您好!跟您请教几个问题:1.帧同步预判玩家输入缓解延时的实现思路是什么?2.photon提供的定点数库和物理引擎的确定性靠谱吗?3.udp丢包补发用tcp补发还是udp补发好些?
2腾讯客户端专家 邓涛回答了该问题 54分钟前-------------------------------------------------------------------------------------------1.帧同步预判玩家输入缓解延时的实现思路是什么?看下这个问题的回答,跟你的类似http://gad.qq.com/wenda/detail/10752-------------------------------------------------------------------------------------------2.photon提供的定点数库和物理引擎的确定性靠谱吗?抱歉,我没测试过它的定点数和物理引擎,但是有不少商业游戏在用,可靠性应该有一定的保证。-------------------------------------------------------------------------------------------3.udp丢包补发用tcp补发还是udp补发好些?用什么补发其实都可以工程实现上,换一个连接发稍微麻烦一点偷偷告诉你,王者是用udp补发的收起回复>> -
+++++Roll+++++++++++++++提出了问题 3小时前
怎么解决封号问题,你们一般都是判定什么依据,学习下
过来偷师
0腾讯客户端专家 邓涛回答了该问题 2小时前对于是否外挂的验证,帧同步其实有个比较完美的方法,把逻辑内核做到服务器,输入数据服务器自己有,重算一遍,以它的结果为准就好。 当然,前提是一致性的问题要解决。对于没有完美方案的情形,我们是怎么做的呢?投票。大家的结果报上来,胜负分两边,少数服从多数。胜负两边一样呢?看信用度,(你要是经常跟大多数人不一样,我会怀疑你喜欢用外挂哦)实在分不来,那就只能作废了。1v1的问题已经在上面回答了。收起回复>> -
关于“服务器”转发帧的问题
帧同步有个帧收集的过程,需要“服务器”转发。 这个帧转发主要是收集客户端什么样的信息让服务器转发 服务器那边转发的帧怎么客户端才保持同步? 如果中间客户端断线重连回来怎么样才能通过服务器转发过来的帧保持同步,如果单客户端网络出现卡顿会不会影响到其它客户端. 有没...
-
断线重连丢掉的udp数据包怎么处理?
断线重连是通过tcp将丢掉的数据包重新发给客户端吗?
1腾讯客户端专家 邓涛回答了该问题 2小时前其实用什么无所谓,关键是要确保数据正确发到客户端,至于如何保证,最后再说,我们先讨论发什么。为什么要讨论发生,是因为帧同步和状态同步发的内容在某个语义层面上是不一致的。简单说:状态同步发的是服务器当前的结果数据。帧同步发的是客户端掉线以后到服务器当前帧的过程数据。如果保证数据正确发送到客户端呢?1.TCP2.可靠性UDPUDP的可靠性,可以建立在传输语义层面,实现出来的模型原理跟TCP差不多。也可以建立在业务语义层面,比如帧同步,每个过帧输入包是带帧序号的,少了一个业务层是知道的,请求重发。当然,还有一些技巧来降低udp在业务语义层的丢包概率,原理上是一个数据包多发几次,那么这个包丢失的概率就低了。收起回复>> -
帧同步如何保障一致性
想了解下有什么机制来验证一致性。毕竟浮点,随机数,物理系统等等都有可能造成不一致
0腾讯客户端专家 邓涛回答了该问题 1小时前我们真做了一个通用框架来帮助开发同学检测和分析不一致性--------------------------------------------------------------------------------------------原理上大致如下:1.定义个逻辑帧状态的切片(FrameStateSnapshot),帧切片里面是游戏对象的状态以及本帧发生的事件。2.每个逻辑帧跑完,生成本帧的切片3.将帧切片序列化成一个二进制串4.可选:将二进制串生成MD55.可选:将MD5码和帧序号发送给服务器,服务器可以通过这个MD5码判定每个客户端的帧切片是不是一致6.将帧切片的二进制串保存到本地文件(也可以带MD5)7.打完一场之后,生成了一个状态录制文件比较各个客户端所录制的这些数据,可以知道哪帧不一致,这个帧里面哪个数据不一致了。--------------------------------------------------------------------------------------------收起回复>> -
EvilGenius提出了问题 2小时前
帧同步中玩家断线重连怎么处理
玩家断线重连之后应该怎么处理,或者说玩家中途加入游戏,应该怎么处理,之前所有指令全部发送给该客户端吗
0腾讯客户端专家 邓涛回答了该问题 47分钟前1.断线重连(假定没crash)客户端告诉服务器我当前跑到第n帧了,服务器把第n帧到最后一帧这个区间的数据发给客户端2.断线重连(crash或者上下文清理掉了)服务器下发初始数据 第0帧到当前帧的数据3.中途加入如果不是第二种情形的话,而是你本来不在里面,想加入一个已经开始的游戏,这个做起来比较困难,虽然有办法可以做,建议你把帧同步的问题全部搞定之后再来考虑这个问题。收起回复>> -
关于帧同步的移动
请问比如前端控制向上移动: 从移动开始到结束这段时间里的所以帧里都要像服务器广播上移动的指令吗? 还是只发送开始移动和停止移动2个指令呢?
0gavindong回答了该问题 2小时前两种做法都没问题,不过在弱网的适应性上有些差异每帧都同步的话,可能导致弱网下走走停停只同步启动和结束的话,可能导致停下时位置走得过远的问题常见的做法以第二种居多,但还是结合你们的网络要求、协议设计、帧缓存策略甚至是玩法需求等因素一起考虑比较好,先实现一种之后结合具体的问题优化吧 -
unity帧同步中动画的问题
unity5中的动画系统应该是不能用在帧同步逻辑帧上面的,现在的做法是逻辑帧切换逻辑对象的状态,比如移动,攻击,待机,这类迅速切换不需要等待的动画好处理,但比如动画中需要等待动画完成再去执行逻辑,比如变形动画,在变形动画结束之后才可以攻击,移动之类的,这个在帧同步中怎么去...
0gavindong回答了该问题 2小时前 -
网络同步
手游版火影忍者是 如何同步的啊? udp 直接发送? 还是服务器转发?
13腾讯客户端专家 邓涛回答了该问题 6小时前1.火影用的帧同步2.用的udp,跟王者类似 (udp带冗余)3.帧同步有个帧收集的过程,需要“服务器”转发,理论上可以像星际那样,其中一台机器做服务器,但是现在的网游都是以服务器转发的 ,一方面服务器更好收集过程信息,另一方面,也更稳健,万一做主机的客户端网络不好或者崩溃了呢
帧同步相关
最新推荐文章于 2024-09-13 09:23:56 发布