[发明专利]一种基于时间戳的客户端与服务器端场景同步方法有效
申请号: | 201910053497.6 | 申请日: | 2019-01-21 |
公开(公告)号: | CN109660559B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 陶志为 | 申请(专利权)人: | 竞技世界(北京)网络技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 北京冠和权律师事务所 11399 | 代理人: | 朱健;张国香 |
地址: | 100085 北京市怀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 时间 客户端 服务器端 场景 同步 方法 | ||
1.一种基于时间戳的客户端与服务器端场景同步的方法,其特征在于包括以下步骤:
玩家登陆客户端,与服务器建立网络连接;
客户端通过选择进入游戏场景,向服务器端发送消息告知服务器端,客户端有新玩家进入游戏场景;
服务器端接收到客户端进入场景的通知后,给客户端一个应答消息,所述应答消息中包含当前服务器场景的时间戳;
客户端即以这个时间戳作为与服务器同步的一个时间;
服务器端按照预定时间间隔,通过配置或算法得出场景中元素新的状态;
客户端按照和服务器端相同的时间间隔通过相同的配置或算法得到场景中元素新的状态;客户端和服务器端采用同一配置文件用于表示游戏场景中某一元素路径的动态变化;
客户端和服务器端采用的配置文件中包括但不限于以下数据:
序号,用于按照预定时间间隔逐条记录数据;
角度偏移度数及方向,正数为顺时针,负值逆时针;
速度的倍率,在基础速度下的倍率系数;
预定时间内,每帧角度变化值;
预定时间内,每帧速度变化值。
2.根据权利要求1所述的基于时间戳的客户端与服务器端场景同步的方法,其特征在于,每个序号之间的时间间隔可根据需要进行设定。
3.根据权利要求2所述的基于时间戳的客户端与服务器端场景同步的方法,其特征在于,
所述玩家登陆客户端,与服务器建立网络连接;
客户端通过选择进入游戏场景,向服务器端发送消息告知服务器端,客户端有新玩家进入游戏场景;
服务器端接收到客户端进入场景的通知后,给客户端一个应答消息,所述应答消息中包含当前服务器场景的时间戳;
客户端即以这个时间戳作为与服务器同步的一个时间,具体包括:
S201:玩家通过设备登录客户端;
S202:同时服务器已经加载路径配置,初始化时间为t0;
S203:与服务器建立连接;
S204:服务器返回当前时间t1;
S205:客户端收到服务器发来的时间t1,并保存到本地。
4.根据权利要求3所述的基于时间戳的客户端与服务器端场景同步的方法,其特征在于,
服务器端在创建游戏元素时,包括但不限于以下数据:
bt:服务器创建元素的时间戳;
et:服务器元素创建后,存在场景中的时间;
x:元素的创建时相对于场景坐标系的横坐标;
y:元素的创建时相对于场景坐标系的纵坐标;
rotate:元素的创建时相对于场景坐标系的角度值。
5.根据权利要求4所述的基于时间戳的客户端与服务器端场景同步的方法,其特征在于,
bt大于当前时间t1,用于表示在未来的一个时间bt将会创建该元素。
6.根据权利要求5所述的基于时间戳的客户端与服务器端场景同步的方法,其特征在于,
当时间t1递增到bt时,客户端和服务器端同时分别在坐标点(x,y),角度rotate位置处各自创建一条鱼,完成元素的创建同步。
7.根据权利要求6所述的基于时间戳的客户端与服务器端场景同步的方法,其特征在于,
元素创建完成后,客户端与服务器端根据同样的配置和帧率,计算每帧移动的距离。
8.根据权利要求7所述的基于时间戳的客户端与服务器端场景同步的方法,其特征在于,
在一段时间△t后,将客户端侧的时间差值记作△t1,服务器端侧的时间差值记作△t2;
比较客户端与服务器端的时间戳,当△t1与△t2的差值绝对值小于或等于预定阈值时,根据当前时间戳t2计算客户端场景数据;当△t1与△t2的差值绝对值大于预定阈值时,服务器端重新发送当前时间t2,客户端根据新接收的t2计算客户端场景数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于竞技世界(北京)网络技术有限公司,未经竞技世界(北京)网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910053497.6/1.html,转载请声明来源钻瓜专利网。