CN109381858B - 一种网络游戏中位置同步方法 - Google Patents

一种网络游戏中位置同步方法 Download PDF

Info

Publication number
CN109381858B
CN109381858B CN201811230734.3A CN201811230734A CN109381858B CN 109381858 B CN109381858 B CN 109381858B CN 201811230734 A CN201811230734 A CN 201811230734A CN 109381858 B CN109381858 B CN 109381858B
Authority
CN
China
Prior art keywords
client
server
motion parameters
motion
coordinates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811230734.3A
Other languages
English (en)
Other versions
CN109381858A (zh
Inventor
田松珉
张文江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jjworld Beijing Network Technology Co ltd
Original Assignee
Jjworld Beijing Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jjworld Beijing Network Technology Co ltd filed Critical Jjworld Beijing Network Technology Co ltd
Priority to CN201811230734.3A priority Critical patent/CN109381858B/zh
Publication of CN109381858A publication Critical patent/CN109381858A/zh
Application granted granted Critical
Publication of CN109381858B publication Critical patent/CN109381858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种网络游戏中位置同步方法,适用于多人同时交互、实时性较强的网络游戏,提供了一种多客户端屏幕展现基本一致的游戏角色位置同步方法,所述方法包括如下步骤:服务端定时、同时向所有客户端同步游戏角色运动参数,此运动参数与游戏设计的物理规则无关;客户端通过服务端同步的运动参数,预判角色目标坐标,通过坐标以百分比渐变方式趋向目标坐标运动。通过分化复杂的游戏物理运动计算与客户端的运动轨迹展示计算,将将计算交由服务器统一处理,通过定时同步少量运动参数,客户端可以做运动轨迹的模拟展现;且客户端计算压力小。

Description

一种网络游戏中位置同步方法
技术领域
本发明属于网络游戏技术领域,具体涉及一种网络游戏中位置同步方法。
背景技术
在多人同时互动的网络游戏中,玩家控制的游戏角色可以以一定物理规则控制运动,在多客户端中实时展现游戏角色的位置是常见的用户需求。不仅要求当前玩家所控制的客户端游戏角色控制运动的实时性强,还要求保证在同一时刻,其它客户端中所展现的位置信息要基本一致,而不能出现某一客户端屏幕展现不同于其它客户端屏幕展现的情况。
为解决上述多客户端游戏角色位置同步问题,现有技术中采用如下方式:客户端1向服务器发送运动控制请求、例如如方向改变、使用加速技能或者跳跃等);服务器接收来自客户端1的运动控制请求,存储修改客户端1控制角色的运动参数,并根据最新的运动参数进行轨迹计算,生成客户端1控制角色的最新坐标数据;服务器转发客户端1的运动参数给其它所有的客户端;其它所有客户端接收来自服务器的客户端1的运动参数,通过与服务器相同的运动轨迹计算规则,计算客户端1角色的运动轨迹,并刷新显示。
在交互性比较强的游戏中,例如同时存在客户端1、客户端2、客户端3等等,都将频繁发起运动控制请求,产生的网络传输数据量较大,同时,由客户端来计算复杂的运动规则,计算压力将成为客户端性能的瓶颈。此外,由于网络传输时间的不确定性,很可能导致客户端的展现与服务器运行结果不一致,或者多客户端之间的展示不一致。
发明内容
为克服上述现有技术的不足,本发明提供了一种网络游戏中服务器端与客户端的位置信息交互方法,其中服务器端除帧刷新定时器外还设置有定时同步定时器,用于维护运动参数的定时同步更新;其特征在于,包括:
步骤200,游戏开始;
步骤201,服务器端向客户端同步运动参数;
步骤202,客户端判断是否是首次从服务器端接收同步运动参数;如果判断结果为是,则执行步骤203;如果判断为否,则执行步骤204;
步骤203,客户端根据接收到的同步运动参数,初始化角色的初始坐标;继续执行步骤204;
步骤204,客户端向服务器端发送运动控制请求;
步骤205,客户端判断从上次接收到服务器端发送的同步运动参数后是否已经过时间间隔T;如果未经过时间间隔T,则执行步骤206;如果已经过时间间隔T,则执行步骤207;
步骤206,客户端判断是否仍有运动控制请求需要发送;如果判断结果为否,则返回执行步骤205;如果判断结果为是,则执行步骤207;
步骤207,客户端向服务器端发送运动控制请求;
步骤208,服务器端向客户端同步运动参数;
步骤209,判断游戏是否结束;如果结果为否,则转而执行步骤204;如果判断结果为是,则执行步骤210;
步骤210,结束。
优选地,服务器端将所有客户端的运动参数同步给所有客户端。
优选地,运动参数与游戏的物理模型、运动规则无关,运动参数包括但不限于:
角色当前坐标x,坐标y;
角色当前前行方向θ,所述前行方向θ为以角色中心作为远点,前行方向为射线,与y轴正方向形成的夹角;
角色当前前行速度s,所述前行速度s为角色在两次定时同步之间,实际移动距离除以定时同步时间间隔的值。
优选地,所述运动控制请求中包含客户端当前的运动参数。
优选地,服务器端在接收到客户端发送的运动控制请求后,存储并更新该客户端角色的运动参数;并根据服务器端的帧刷新定时器的定时周期计算对应角色的新坐标。
优选地,在服务器端两次同步运动参数之间,客户端仅可改变一次运动参数,并在改变运动控制参数之后,向服务器端发送运动控制请求。
本发明还提供一种网络游戏中客户端位置坐标更新方法,其特征在于,客户端具有帧刷新定时器,并包含以下步骤:
步骤301,客户端接收来自服务器端的同步运动参数;
步骤302,如果客户端首次接收到服务器端同步的运动参数,则根据服务器端同步的运动参数中的(xi,yi)初始化自身角色坐标(x0,y0);如果客户端非首次与客户端进行同步,则跳过步骤302,执行步骤303;
步骤303,客户端执行帧刷新;根据服务器端发送的同步运动参数计算预测坐标(xi+1,yi+1),客户端使用预测坐标(xi+1,yi+1)作为当前角色的屏幕显示坐标;
步骤304,客户端执行第n次帧刷新,计算目标坐标,从而更新角色当前显示坐标;
步骤305,接收到服务器端发送的同步运动参数,返回执行步骤303;
重复上述流程,直至游戏结束。
优选地,客户端的帧刷新定时器的帧刷新间隔小于服务器端的定时同步定时器的定时同步间隔。
优选地,服务器端根据帧刷新定时器的帧刷新间隔刷新两帧之间的数据差异;
上一帧角色坐标信息表示为(xi-1,yi-1),以及当前帧的角色坐标信息可表示为(xi,yi),其中i为整数;
通过计算公式
Figure BDA0001837090850000041
计算出两次同步时对应的坐标点之间的直线距离d;
通过反正切公式
Figure BDA0001837090850000042
计算出角色前行方向θ;
根据速度计算公式
Figure BDA0001837090850000043
计算得出两次同步间隔之间的平均速度s;
使用来自服务器端的s、θ、服务器坐标(xi,yi),以及客户端帧刷新间隔dt,使用如下公式计算预测坐标(xi+1,yi+1):
xi+1=xi+s×dt×sinθ
yi+1=yi+s×dt×cosθ。
优选地,通过如下步骤计算目标坐标(xi+1’,yi+1’),从而对预测坐标进行修正:
α=β×dt
xi+1'=xi+α×(xi+1-xi)
yi+1'=yi+α×(yi+1-yi)
其中,α及β均为修正系数;客户端使用坐标(xi+1’,yi+1’)作为当前角色的屏幕显示坐标。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1示出了根据本发明的一个实施例的网络游戏中服务器端与客户端的位置信息交互示意图;
图2示出了根据本发明的一个实施例的网络游戏中服务器端与客户端的位置信息交互流程图;
图3示出了根据本发明的一个实施例的一种客户端位置坐标更新流程图;
图4示出了根据本发明的一个实施例的一种客户端位置坐标更新示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的网络游戏中位置同步方法其具体实施方式、特征及其功效,详细说明如后。在下述说明中,不同的“一实施例”或“实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
根据本发明的一个具体实施方式,如图1所示,提供了一种网络游戏中服务器端与客户端的位置信息交互流程图;其中服务器端除帧刷新定时器外还设置有定时同步定时器(未示出),用于维护运动参数的定时同步更新。
根据本发明的一个优选实施方式,同步定时器每间隔时间T即向所有客户端定时同步游戏角色的运动参数;
根据本发明的一个优选实施方式,所述时间T由服务器端设置,例如可为200ms。
根据本发明的一个优选实施方式,所述时间T由服务器端设置,例如可为100ms。
根据本发明的一个优选实施方式,帧刷新定时器时间间隔由服务器端设置,例如可为50ms。
根据本发明的一个优选实施方式,运动参数与游戏的物理模型、运动规则无关,运动参数包括但不限于:
角色当前坐标x,坐标y;
角色当前前行方向θ,所述前行方向θ为以角色中心作为远点,前行方向为射线,与y轴正方向形成的夹角;
角色当前前行速度s,所述前行速度s为角色在两次定时同步之间,实际移动距离除以定时同步时间间隔的值,可表示为平均速度。
在步骤101中,服务器端向客户端同步运动参数1;
根据本发明的一个优选实施方式,所述客户端为一个或多个(未示出);
根据本发明的一个优选实施方式,服务器端向所有客户端同步所有客户端的运动参数;
根据本发明的一个优选实施方式,步骤101中是服务器端首次向客户端同步运动参数,因此客户端可根据接收到的同步运动参数,初始化角色的初始坐标。
在步骤102中,客户端向服务器端发送运动控制请求1;
根据本发明的一个优选实施方式,所述运动控制请求中包含客户端当前的运动参数;
根据本发明的一个优选实施方式,服务器端在接收到客户端发送的运动控制请求后,存储并更新该客户端角色的运动参数;并根据服务器端的帧刷新定时器的定时周期计算对应角色的新坐标。
根据本发明的一个优选实施方式,帧刷新定时器时间间隔由服务器端设置,例如可为50ms。
在步骤103中,客户端向服务器端发送运动控制请求2;
根据本发明的一个优选实施方式,在服务器端两次同步运动参数之间,客户端可以多次改变运动参数,并在改变运动参数之后,重新向服务器端发送新的运动控制请求;
根据本发明的一个优选实施方式,在服务器端两次同步运动参数之间,客户端仅可改变一次运动参数,并在改变运动控制参数之后,向服务器端发送运动控制请求;
根据本发明的一个优选实施方式,如在客户端向服务器端发送运动控制请求后,客户端的运动参数再次发生改变,则不再向服务器端发送新的运动控制请求,直到接收服务器端再次同步运动参数之后;
在步骤104中,服务器端向客户端同步运动参数2;
根据本发明的一个优选实施方式,如客户端在此次服务器端同步运动参数之前,多次向服务器端发送运动控制请求,则服务器端将综合多次运动控制请求中所带有的客户端运动参数,确定最终角色坐标信息等参数信息,同步给所有客户端。
在步骤105中,客户端向服务器端发送运动控制请求3;
在步骤106中,服务器端向客户端同步运动参数3;
根据本发明的一个优选实施方式,服务器端将所有客户端的运动参数同步给所有客户端。
如图2所示,提供了一种网络游戏中服务器端与客户端的位置信息交互方法流程图;其中服务器端除帧刷新定时器外还设置有定时同步定时器(未示出),用于维护运动参数的定时同步更新。
根据本发明的一个优选实施方式,同步定时器每间隔时间T即向所有客户端定时同步游戏角色的运动参数;
根据本发明的一个优选实施方式,所述时间T由服务器端设置,例如可为200ms。
根据本发明的一个优选实施方式,所述时间T由服务器端设置,例如可为100ms。
根据本发明的一个优选实施方式,帧刷新定时器时间间隔由服务器端设置,例如可为50ms。
根据本发明的一个优选实施方式,运动参数与游戏的物理模型、运动规则无关,运动参数包括但不限于:
角色当前坐标x,坐标y;
角色当前前行方向θ,所述前行方向θ为以角色中心作为远点,前行方向为射线,与y轴正方向形成的夹角;
角色当前前行速度s,所述前行速度s为角色在两次定时同步之间,实际移动距离除以定时同步时间间隔的值,可表示为平均速度。
步骤200,游戏开始;
步骤201,服务器端向客户端同步运动参数;
根据本发明的一个优选实施方式,所述客户端为一个或多个(未示出);
根据本发明的一个优选实施方式,服务器端向所有客户端同步所有客户端的运动参数;
步骤202,客户端判断是否是首次从服务器端接收同步运动参数;如果判断结果为是,则执行步骤203;如果判断为否,则执行步骤204;
步骤203,客户端根据接收到的同步运动参数,初始化角色的初始坐标;继续执行步骤204;
步骤204,客户端向服务器端发送运动控制请求;
根据本发明的一个优选实施方式,所述运动控制请求中包含客户端当前的运动参数;
根据本发明的一个优选实施方式,服务器端在接收到客户端发送的运动控制请求后,存储并更新该客户端角色的运动参数;并根据服务器端的帧刷新定时器的定时周期计算对应角色的新坐标。
根据本发明的一个优选实施方式,帧刷新定时器时间间隔由服务器端设置,例如可为50ms。
步骤205,客户端判断从上次接收到服务器端发送的同步运动参数后是否已经过时间间隔T;如果未经过时间间隔T,则执行步骤206;如果已经过时间间隔T,则执行步骤207;
步骤206,客户端判断是否仍有运动控制请求需要发送;如果判断结果为否,则返回执行步骤205;如果判断结果为是,则执行步骤207;
步骤207,客户端向服务器端发送运动控制请求;
根据本发明的一个优选实施方式,在服务器端两次同步运动参数之间,客户端可以多次改变运动参数,并在改变运动参数之后,重新向服务器端发送新的运动控制请求;
根据本发明的一个优选实施方式,在服务器端两次同步运动参数之间,客户端仅可改变一次运动参数,并在改变运动控制参数之后,向服务器端发送运动控制请求;
根据本发明的一个优选实施方式,如在客户端向服务器端发送运动控制请求后,客户端的运动参数再次发生改变,则不再向服务器端发送新的运动控制请求,直到接收服务器端再次同步运动参数之后;
步骤208,服务器端向客户端同步运动参数;
步骤209,判断游戏是否结束;如果结果为否,则转而执行步骤204;如果判断结果为是,则执行步骤210;
步骤210,结束。
根据本发明的一个具体实施方式,如图3所示,提供了一种客户端位置坐标更新方法,包含以下步骤:
根据本发明的一个优选实施方式,客户端具有帧刷新定时器(未示出);客户端的帧刷新定时器的帧刷新间隔小于服务器端的定时同步定时器的定时同步间隔;
根据本发明的一个优选实施方式,所述客户端的帧刷新定时器的帧刷新间隔为16毫秒;
根据本发明的一个优选实施方式,所述客户端的帧刷新定时器的帧刷新间隔为50毫秒;
根据本发明的一个优选实施方式,所述服务器端的定时同步定时器的定时同步间隔为200毫秒;
步骤301、客户端接收来自服务器端的同步运动参数;
根据本发明的一个优选实施方式,服务器端根据帧刷新定时器的帧刷新间隔刷新两帧之间的数据差异;
根据本发明的一个优选实施方式,上一帧角色坐标信息可表示为(xi-1,yi-1),以及当前帧的角色坐标信息可表示为(xi,yi),其中i为整数;
通过计算公式
Figure BDA0001837090850000091
计算出两次同步时对应的坐标点之间的直线距离d;
通过反正切公式
Figure BDA0001837090850000092
计算出角色前行方向θ;
根据速度计算公式
Figure BDA0001837090850000093
计算得出两次同步间隔之间的平均速度s;
根据本发明的一个优选实施方式,服务器端同步给客户端的运动参数包括以下数据中的一种或多种:角色坐标信息(xi,yi),两次同步时对应的坐标点之间的直线距离d,角色前行方向θ,两次同步间隔之间的平均速度s。
步骤302,如果客户端首次接收到服务器端同步的运动参数,则根据服务器端同步的运动参数中的(xi,yi)初始化自身角色坐标(x0,y0);如果客户端非首次与客户端进行同步,则跳过步骤302,执行步骤303;
步骤303,客户端执行帧刷新;根据服务器端发送的同步运动参数计算预测坐标(xi+1,yi+1),客户端使用预测坐标(xi+1,yi+1)作为当前角色的屏幕显示坐标;
根据本发明的一个优选实施方式,使用来自服务器端的s、θ、服务器坐标(xi,yi),以及客户端帧刷新间隔dt,使用如下公式计算预测坐标(xi+1,yi+1):
xi+1=xi+s×dt×sinθ
yi+1=yi+s×dt×cosθ
根据本发明的一个优选实施方式,本次计算得出的预测坐标,将在下次帧刷新时作为服务器坐标(xi,yi)使用。
根据本发明的一个优选实施方式,由于客户端的帧刷新定时器的帧刷新间隔小于服务器端的定时同步定时器的定时同步间隔,因此在客户端再次接收到服务器端发送的同步运动参数之前,客户端还将执行多次帧刷新(例如,n次),因此,可采用如图4所示的步骤,进一步计算目标坐标;
参考图4的示意图,通过如下步骤计算目标坐标(xi+1’,yi+1’),从而对预测坐标进行修正:
α=β×dt
xi+1'=xi+α×(xi+1-xi)
yi+1'=yi+α×(yi+1-yi)
其中,α及β均为修正系数,可具体情况取值,根据本发明的一个优选实施方式,β=15,即α=0.24。
客户端使用坐标(xi+1’,yi+1’)作为当前角色的屏幕显示坐标。
根据本发明的一个优选实施方式,本次计算得出的目标坐标(xi+1’,yi+1’),将在下次帧刷新时作为当前坐标(xi,yi)使用;在再次接收到服务器端发送的同步参数之前,预测坐标(xi+1,yi+1)保持不变。
在步骤304中,客户端执行第n次帧刷新,根据:
α=β×dt
xi+1'=xi+α×(xi+1-xi)
yi+1'=yi+α×(yi+1-yi);
计算目标坐标,从而更新角色当前显示坐标。
在步骤305中,接收到服务器端发送的同步运动参数,返回执行步骤303;
重复上述流程,直至游戏结束。
需要说明的是,上述方法仅以一个客户端为例进行了示例性说明,对于多客户端游戏场景,在每个客户端中都可实施本发明提供的网络游戏位置同步方法,在此不再一一赘述。
上述仅以二维游戏场景为例进行了示意性说明,对于三维游戏场景,仅需增加一维坐标,将坐标可扩展到(x,y,z),实现本发明的思想并未背离本发明的保护范围。
通过上述的描述,本发明的位置同步方法绕过了游戏复杂的物理模型和运动规则,通过简单的匀速运动预判可能的运行轨迹,在多客户端、交互频繁、实时性较高但对角色坐标容许一定误差的网络游戏中,是非常适用的。复杂的物理模拟和运动轨迹计算由高配置的服务器端承担,减少了客户端的计算压力;适量的同步参数以及适当频率的网络同步,可以缓和网络同步峰值压力;客户端的百分比运动也可以平滑游戏角色的运动轨迹展现。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (7)

1.一种网络游戏中服务器端与客户端的位置信息交互方法,其中服务器端除帧刷新定时器外还设置有定时同步定时器,用于维护运动参数的定时同步更新;其特征在于,包括:
步骤200,游戏开始;
步骤201,服务器端向客户端同步运动参数;
步骤202,客户端判断是否是首次从服务器端接收同步运动参数;如果判断结果为是,则执行步骤203;如果判断为否,则执行步骤204;
步骤203,客户端根据接收到的同步运动参数,初始化角色的初始坐标;继续执行步骤204;
步骤204,客户端向服务器端发送运动控制请求;
步骤205,客户端判断从上次接收到服务器端发送的同步运动参数后是否已经过时间间隔T;如果未经过时间间隔T,则执行步骤206;如果已经过时间间隔T,则执行步骤207;
步骤206,客户端判断是否仍有运动控制请求需要发送;如果判断结果为否,则返回执行步骤205;如果判断结果为是,则执行步骤207;
步骤207,客户端向服务器端发送运动控制请求;
步骤208,服务器端向客户端同步运动参数;
步骤209,判断游戏是否结束;如果结果为否,则转而执行步骤204;如果判断结果为是,则执行步骤210;
步骤210,结束;
其中,步骤201至步骤204具体包括:
步骤101,服务器端向所有客户端同步所有客户端第一运动参数,客户端根据接收到的第一运动参数,初始化角色的初始坐标;
步骤102,客户端向服务器端发送第一运动控制请求,服务器端在接收到客户端发送的第一运动控制请求后,存储并更新该客户端角色的运动参数;并根据服务器端的帧刷新定时器的定时周期计算对应角色的新坐标;
步骤103,客户端向服务器端发送第二运动控制请求,在服务器端两次同步运动参数之间,客户端可以一次或多次改变运动参数,并在改变运动参数之后,重新向服务器端发送新的第二运动控制请求,如在客户端向服务器端发送第二运动控制请求后,客户端的运动参数再次发生改变,则不再向服务器端发送新的运动控制请求,直到接收服务器端再次同步运动参数之后;
步骤104,服务器端向客户端同步第二运动参数,如客户端在此次服务器端同步第二运动参数之前,多次向服务器端发送运动控制请求,则服务器端将综合多次运动控制请求中所带有的客户端运动参数,确定最终角色坐标信息参数信息,同步给所有客户端。
2.根据权利要求1所述的网络游戏中服务器端与客户端的位置信息交互方法,其特征在于:
运动参数与游戏的物理模型、运动规则无关,运动参数包括但不限于:
角色当前坐标x,坐标y;
角色当前前行方向
Figure 788204DEST_PATH_IMAGE002
,所述前行方向
Figure 377449DEST_PATH_IMAGE002
为以角色中心作为远点,前行方向为射线,与y轴 正方向形成的夹角;
角色当前前行速度s,所述前行速度s为角色在两次定时同步之间,实际移动距离除以定时同步时间间隔的值。
3.根据权利要求1-2任一所述的网络游戏中服务器端与客户端的位置信息交互方法,其特征在于:
所述运动控制请求中包含客户端当前的运动参数。
4.一种网络游戏中客户端位置坐标更新方法,其特征在于,客户端具有帧刷新定时器,并包含以下步骤:
步骤301,客户端接收来自服务器端的同步运动参数;
步骤302,如果客户端首次接收到服务器端同步的运动参数,则根据服务器端同步的运 动参数中的
Figure DEST_PATH_IMAGE003
初始化自身角色坐标
Figure 360448DEST_PATH_IMAGE004
;如果客户端非首次与客户端进行 同步,则跳过步骤302,执行步骤303;
步骤303,客户端执行帧刷新;根据服务器端发送的同步运动参数计算预测坐标
Figure DEST_PATH_IMAGE005
,客户端使用预测坐标
Figure 958920DEST_PATH_IMAGE006
作为当前角色的屏幕显示坐标;
步骤304,客户端执行第n次帧刷新,计算目标坐标,从而更新角色当前显示坐标,其中n为正整数;
步骤305,接收到服务器端发送的同步运动参数,返回执行步骤303;
重复上述流程,直至游戏结束;
其中,步骤301至步骤303具体包括:
步骤101,服务器端向所有客户端同步所有客户端运动参数1,客户端根据接收到的运动参数1,初始化角色的初始坐标;
步骤102,客户端向服务器端发送运动控制请求1,服务器端在接收到客户端发送的运动控制请求1后,存储并更新该客户端角色的运动参数;并根据服务器端的帧刷新定时器的定时周期计算对应角色的新坐标;
步骤103,客户端向服务器端发送运动控制请求2,在服务器端两次同步运动参数之间,客户端可以一次或多次改变运动参数,并在改变运动参数之后,重新向服务器端发送新的运动控制请求2,如在客户端向服务器端发送运动控制请求2后,客户端的运动参数再次发生改变,则不再向服务器端发送新的运动控制请求,直到接收服务器端再次同步运动参数之后;
步骤104,服务器端向客户端同步运动参数2,如客户端在此次服务器端同步运动参数之前,多次向服务器端发送运动控制请求,则服务器端将综合多次运动控制请求中所带有的客户端运动参数,确定最终角色坐标信息参数信息,同步给所有客户端。
5.根据权利要求4所述的网络游戏中客户端位置坐标更新方法,其特征在于:
客户端的帧刷新定时器的帧刷新间隔小于服务器端的定时同步定时器的定时同步间隔。
6.根据权利要求4或5所述的网络游戏中客户端位置坐标更新方法,其特征在于:
服务器端根据帧刷新定时器的帧刷新间隔刷新两帧之间的数据差异;
上一帧角色坐标信息表示为
Figure DEST_PATH_IMAGE007
,以及当前帧的角色坐标信息可表示为
Figure 383079DEST_PATH_IMAGE008
,其中i为整数;
通过计算公式
Figure DEST_PATH_IMAGE009
计算出两次同步时对应的坐标点之间的直 线距离d;
通过反正切公式
Figure 408804DEST_PATH_IMAGE010
计算出角色前行方向
Figure 82362DEST_PATH_IMAGE002
根据速度计算公式
Figure DEST_PATH_IMAGE011
,计算得出两次同步间隔之间的平均速度s;
使用来自服务器端的s、
Figure 481595DEST_PATH_IMAGE002
、服务器坐标
Figure 681632DEST_PATH_IMAGE012
,以及客户端帧刷新间隔dt,使用如下 公式计算预测坐标
Figure DEST_PATH_IMAGE013
Figure 753624DEST_PATH_IMAGE014
7.根据权利要求6所述的网络游戏中客户端位置坐标更新方法,其特征在于:
通过如下步骤计算目标坐标
Figure DEST_PATH_IMAGE015
,从而对预测坐标进行修正:
Figure 711216DEST_PATH_IMAGE016
其中,
Figure DEST_PATH_IMAGE017
Figure 385911DEST_PATH_IMAGE018
均为修正系数;在进行帧刷新时,客户端使用坐标
Figure 581400DEST_PATH_IMAGE015
作为当 前角色的屏幕显示坐标。
CN201811230734.3A 2018-10-22 2018-10-22 一种网络游戏中位置同步方法 Active CN109381858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811230734.3A CN109381858B (zh) 2018-10-22 2018-10-22 一种网络游戏中位置同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811230734.3A CN109381858B (zh) 2018-10-22 2018-10-22 一种网络游戏中位置同步方法

Publications (2)

Publication Number Publication Date
CN109381858A CN109381858A (zh) 2019-02-26
CN109381858B true CN109381858B (zh) 2021-10-15

Family

ID=65427640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811230734.3A Active CN109381858B (zh) 2018-10-22 2018-10-22 一种网络游戏中位置同步方法

Country Status (1)

Country Link
CN (1) CN109381858B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112755528A (zh) * 2019-11-01 2021-05-07 阿里巴巴集团控股有限公司 游戏中角色的移动同步方法及装置、电子设备和存储介质
CN111265863B (zh) * 2020-01-17 2022-05-24 腾讯科技(深圳)有限公司 一种目标对象的位置纠正方法、装置、设备及介质
CN111459626B (zh) * 2020-03-11 2021-06-01 完美世界(北京)软件科技发展有限公司 一种用于实现不分线无缝游戏世界的方法和装置
CN112402947B (zh) * 2020-11-20 2022-08-26 上海莉莉丝网络科技有限公司 游戏对象控制系统、方法及计算机可读存储介质
CN115025495B (zh) * 2022-06-02 2023-07-07 北京新唐思创教育科技有限公司 角色模型的同步方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009969A (zh) * 2013-09-17 2014-08-27 宁波公众信息产业有限公司 一种网络游戏系统的通讯方法
CN104954349A (zh) * 2014-03-31 2015-09-30 北京畅游天下网络技术有限公司 一种2d游戏中客户端的同步方法、装置和系统
CN106302679A (zh) * 2016-08-08 2017-01-04 腾讯科技(深圳)有限公司 一种虚拟对象移动同步方法、客户端及服务器
CN106385408A (zh) * 2016-09-01 2017-02-08 网易(杭州)网络有限公司 运动状态变化的指示、处理方法及装置
CN108540454A (zh) * 2018-03-16 2018-09-14 武汉微派网络科技有限公司 碰撞同步方法、客户端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009969A (zh) * 2013-09-17 2014-08-27 宁波公众信息产业有限公司 一种网络游戏系统的通讯方法
CN104954349A (zh) * 2014-03-31 2015-09-30 北京畅游天下网络技术有限公司 一种2d游戏中客户端的同步方法、装置和系统
CN106302679A (zh) * 2016-08-08 2017-01-04 腾讯科技(深圳)有限公司 一种虚拟对象移动同步方法、客户端及服务器
CN106385408A (zh) * 2016-09-01 2017-02-08 网易(杭州)网络有限公司 运动状态变化的指示、处理方法及装置
CN108540454A (zh) * 2018-03-16 2018-09-14 武汉微派网络科技有限公司 碰撞同步方法、客户端及存储介质

Also Published As

Publication number Publication date
CN109381858A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN109381858B (zh) 一种网络游戏中位置同步方法
CN111167116B (zh) 一种平滑显示的方法、终端和计算机存储介质
CN109847361B (zh) 运动状态的同步方法和装置、存储介质、电子装置
CN107168532B (zh) 一种基于增强现实的虚拟同步显示方法及系统
CN106302679B (zh) 一种虚拟对象移动同步方法、客户端及服务器
WO2018201935A1 (zh) 多化身位置同步系统、方法、装置及电子设备和存储介质
WO2021143324A1 (zh) 一种目标对象的位置纠正方法、装置、设备及介质
CN106385408B (zh) 运动状态变化的指示、处理方法及装置
CN104954349B (zh) 一种2d游戏中客户端的同步方法、装置和系统
CN110935172B (zh) 虚拟对象处理方法、装置、系统及其存储介质
CN111494953B (zh) 游戏角色移动同步方法、装置、设备及存储介质
CN106780674B (zh) 镜头移动方法和装置
US10937220B2 (en) Animation streaming for media interaction
JP2003006127A (ja) 分散処理システム、分散処理方法、およびその方法を利用可能なクライアント端末
CN109966741B (zh) 位置更新方法、装置、设备及存储介质
CN112511256A (zh) 在线游戏中动态延迟优化的稳健同步方法
CN112206511A (zh) 游戏中的动作同步方法、装置、电子设备及存储介质
CN109660559B (zh) 一种基于时间戳的客户端与服务器端场景同步方法
Shi et al. Dead reckoning using play patterns in a simple 2D multiplayer online game
CN111729312A (zh) 位置同步方法、装置及设备
US10471347B2 (en) Information processing system, information processing apparatus, storage medium storing information processing program, and information processing method
EP3406312B1 (en) Information processing system, information processing apparatus, information processing program, and information processing method
CN113018845B (zh) 一种操作指令执行方法、客户端、服务端及存储介质
US11167211B2 (en) Spectating simulation
JP5821745B2 (ja) シミュレーション方法、シミュレーション装置およびシミュレーションプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant