CN108379832A - 一种游戏同步方法和装置 - Google Patents

一种游戏同步方法和装置 Download PDF

Info

Publication number
CN108379832A
CN108379832A CN201810081490.0A CN201810081490A CN108379832A CN 108379832 A CN108379832 A CN 108379832A CN 201810081490 A CN201810081490 A CN 201810081490A CN 108379832 A CN108379832 A CN 108379832A
Authority
CN
China
Prior art keywords
frame
logic frame
current
logic
server
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.)
Granted
Application number
CN201810081490.0A
Other languages
English (en)
Other versions
CN108379832B (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.)
Zhuhai Xishanju Digital Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Xishan Mobile Game Technology Co Ltd
Zhuhai Kingsoft Online Game 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 Zhuhai Xishan Mobile Game Technology Co Ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Xishan Mobile Game Technology Co Ltd
Priority to CN201810081490.0A priority Critical patent/CN108379832B/zh
Publication of CN108379832A publication Critical patent/CN108379832A/zh
Application granted granted Critical
Publication of CN108379832B publication Critical patent/CN108379832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • 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/538Features 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 performing operations on behalf of the game client, e.g. rendering
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种游戏同步方法,包括以下步骤:S100,从服务端获取当前逻辑帧;S200,基于服务端的历史逻辑帧和当前逻辑帧,生成的预测逻辑帧;S300,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧;S400,顺次渲染当前逻辑帧、渐变插入帧和预测逻辑帧;S500,当从服务端获取下一逻辑帧时,根据下一逻辑帧对当前渲染结果进行修正,其中一个和多个插入帧包括不同于当前逻辑帧和预测逻辑帧的渐变插入帧。还提供了一种游戏同步系统。由此,减少服务端每秒逻辑计算的频率,减少系统调用,从而降低服务端压力,提高性能。

Description

一种游戏同步方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种游戏同步方法和装置。
背景技术
在MMORPG(Massively Multiplayer Online,大型多人在线)等网络游戏对在客户端和服务器端之间的游戏数据同步有着较高的要求,如果客户端的逻辑帧和服务器的逻辑帧不一致、或者出现网络延迟,就会造成不同客户端上同一角色的位置差异较大(客户端与服务端的角色存在位置差异,造成不同客户端看到同一个角色的位置差异),带来打不中目标等问题。另外,当客户端的逻辑帧率低于渲染帧率的情况下,会引起角色移动时不够平滑的问题。假如为了保证客户端移动平滑,而提高逻辑帧,服务端也不得不对应地提高逻辑帧的帧率,就会提高服务器的压力。
发明内容
为了解决上述问题重点一个或多个,根据本公开的第一个方面,提供了一种游戏同步方法,包括以下步骤:S100,从服务端获取当前逻辑帧;S200,基于来自服务端的历史逻辑帧和当前逻辑帧,生成的预测逻辑帧;S300,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧;S400,顺次渲染当前逻辑帧、渐变插入帧和预测逻辑帧;S500,当从服务端获取下一逻辑帧时,根据下一逻辑帧对当前渲染结果进行修正,其中一个和多个插入帧中的至少一部分不同于当前逻辑帧和预测逻辑帧。
进一步地,还包括以下步骤:S010,获取服务端的逻辑帧率;S020,获取客户端的逻辑帧率;假如服务端的逻辑帧率为N赫兹,客户端的逻辑帧率为M赫兹,则在当前逻辑帧和预测逻辑帧之间插入的插入帧的数量大于等于(M-N-1)。
进一步地,客户端的逻辑帧率M大于等于服务端的逻辑帧率N的2倍。
进一步地,步骤S500包括以下子步骤:S510,从服务端获取下一逻辑帧;S520,将下一逻辑帧插入待渲染的帧的队列的前列,并清除下一逻辑帧后的待渲染的帧。
进一步地,步骤S200包括以下子步骤:S210,获取历史逻辑帧中的角色历史位置和当前逻辑帧中的角色当前位置;S220,根据角色历史位置和角色当前位置的差值,以及服务端的逻辑帧率或客户端的逻辑帧率,计算出角色当前运动状态;S230,根据角色当前位置以及角色当前运动状态,计算角色预测位置;S240,基于当前逻辑帧生成预测逻辑帧,其中在预测逻辑帧中,角色位于角色预测位置,角色当前运动状态包括角色当前的运动速度和运动方向。
进一步地,步骤S300包括以下子步骤:S310,规划在角色当前位置和角色预测位置之间的预测最小路径;S320,在预测最小路径上等间距地生成一个或多个插入位置点;S330,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧,其中在插入帧中的各渐变插入帧中,角色位于插入位置点。
根据本公开的第二个方面,提供了一种游戏同步系统,包括:第一模块,从服务端获取当前逻辑帧;第二模块,基于服务端的历史逻辑帧和当前逻辑帧,生成的预测逻辑帧;第三模块,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧;第四模块,顺次渲染当前逻辑帧、渐变插入帧和预测逻辑帧;第五模块,当从服务端获取下一逻辑帧时,根据下一逻辑帧对当前渲染结果进行修正,其中一个和多个插入帧中的至少一部分不同于当前逻辑帧和预测逻辑帧。
进一步地,还包括:第六模块,获取服务端的逻辑帧率;第七模块,获取客户端的逻辑帧率;假如服务端的逻辑帧率为N赫兹,客户端的逻辑帧率为M赫兹,则在当前逻辑帧和预测逻辑帧之间插入的插入帧的数量大于等于(M-N-1)。
本发明的有益效果在于:通过预测角色的位置等,降低受限于服务器的帧率、同一个角色在不同客户端和服务端移动和位置不同步或者卡顿的问题。减少服务端每秒逻辑计算的频率,减少系统调用,从而降低服务端压力,提高性能。由于服务端逻辑帧降低,客户端接收到同步数据的频率也降低了,客户端也没有必要以高于服务端逻辑帧的频率,因此同时也减少了客户端压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开的一个或多个实施例的客户端的流程图;
图2是本公开的一个或多个实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
大型多人在线通常采用帧同步或者状态同步来实现作为客户端的玩家主机与作为服务端的游戏服务器(或者创建房间的玩家主机)之间的同步。帧同步常被RTS(即时战略)游戏常采用。在游戏中同步的是玩家的操作指令,操作指令包含当前的帧索引。一般的流程是客户端上传操作到服务器端,服务器收到后并不计算游戏行为,而是转发到所有客户端。其优点在于,但是由于逻辑在客户端,反外挂压力大、无法避免开图挂。而状态同步常被RPG(角色扮演)游戏常采用。状态同步的一般的流程是客户端上传操作到服务器,服务器收到后计算游戏行为的结果,然后以广播的方式下发游戏中各种状态,客户端收到状态后再根据状态显示内容。逻辑计算包括角色移动、技能释放等,服务端每帧同步数据给客户端等。状态同步的优点在于服务器实现逻辑,安全性高,反外挂能力强,但对服务端的运算能力有着很高的要求。
以状态同步的同步方式为例,通常情况下服务端向各客户端广播的逻辑帧的帧率(例如10到20帧)低于客户端实际渲染的渲染帧的帧率(例如30到60帧)。客户端在接到服务端发出的逻辑帧后,在逻辑帧之间进行插值,以得到一个“平滑”的效果。作为插值的插入帧通常是对上一逻辑帧的简单复制,因此依然无法解决当客户端的渲染帧率远高于服务端的逻辑帧率时或者服务端在传输中丢帧时出现的卡顿现象。
参照图1和图2根据本公开的第一个方面的一种游戏同步方法,其包括以下步骤:S100,从服务端获取当前逻辑帧;S200,基于服务端的历史逻辑帧和当前逻辑帧,生成的预测逻辑帧;S300,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧;S400,顺次渲染当前逻辑帧、渐变插入帧和预测逻辑帧;S500,当从服务端获取下一逻辑帧时,根据下一逻辑帧对当前渲染结果进行修正,其中一个和多个插入帧中的至少一部分不同于当前逻辑帧和预测逻辑帧。本方法通过预测逻辑计算(角色的位置等)的结果,生成预测逻辑帧和渐变的插入帧,可以有效地降低受限于服务器的帧率、同一个角色在不同客户端和服务端移动和位置不同步或者卡顿的问题。
在本公开的一个或多个实施例中,还包括以下步骤:S010,获取服务端的逻辑帧率;S020,获取客户端的逻辑帧率;假如服务端的逻辑帧率为N赫兹,客户端的逻辑帧率为M赫兹,则在当前逻辑帧和预测逻辑帧之间插入的插入帧的数量大于等于(M-N-1)。由此可降低在丢帧时发生的卡顿。
在本公开的一个或多个实施例中,客户端的逻辑帧率M可以大于等于服务端的逻辑帧率N的2倍。从而进一步降低服务端的运算开销。
在本公开的一个或多个实施例中,步骤S500可以包括以下子步骤:S510,从服务端获取下一逻辑帧;S520,将下一逻辑帧插入待渲染的帧的队列的前列(例如作为队列的第一帧,即当前渲染帧),并清除下一逻辑帧后的待渲染的帧。从而完成对根据预测得到的当前渲染结果的修正。
在本公开的一个或多个实施例中,步骤S200包括以下子步骤:S210,获取历史逻辑帧中的角色历史位置和当前逻辑帧中的角色当前位置;S220,根据角色历史位置和角色当前位置的差值,以及服务端的逻辑帧率或客户端的逻辑帧率,计算出角色当前运动状态;S230,根据角色当前位置以及角色当前运动状态,计算角色预测位置;S240,基于当前逻辑帧生成预测逻辑帧,其中在预测逻辑帧中,角色位于角色预测位置,角色当前运动状态包括角色当前的运动速度和运动方向。具体而言,例如客户端根据以前保存的一个或多个历史逻辑帧中的角色位置(坐标)和当前逻辑帧中角色的位置(坐标)的差值计算出游戏画面区域内所有角色的当前的运动速度和运动方向等,然后在当前帧的基础上结合角色的运动速度和运动方向,生成包括了在指定时间之后角色预测位置的预测逻辑帧,该预测逻辑帧是在从服务端实际接收到的当前逻辑帧的基础上,更新了对画面显示影响较大的角色运动,以及与角色运动相关的画面视角的滚动等。其中,该指定时间与服务端和客户端的帧率差有关,可由本领域技术人员适宜选择。此外,对预测逻辑帧中的对画面显示影响较大的视觉元素进行预测时,也可以借助大数据分析的方式分析玩家的行为习惯,建立玩家行为习惯决策器,例如,基于当前逻辑帧的动态视觉元素,建立对应的特征向量;利用历史逻辑帧形成训练集,建立用于预测逻辑帧中动态视觉元素的分类模型;将对应当前逻辑帧的特征向量代入分类模型,预测下一逻辑帧中的动态视觉元素的状态。从而根据历史逻辑帧和当前逻辑帧来预测较高概率的下一帧的视觉元素配置。
此外,步骤S300还可以包括以下子步骤:S310,规划在角色当前位置和角色预测位置之间的预测最小路径;S320,在预测最小路径上等间距地生成一个或多个插入位置点;S330,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧,其中在插入帧中的各渐变插入帧中,角色位于插入位置点。一个和多个插入帧不同于当前逻辑帧和预测逻辑帧。由此可以保证客户端显示效果的平滑性,并降低客户端的运算量。
例如,假定服务端的当前逻辑帧的帧率为N赫兹;客户端的渲染帧率为M赫兹;则客户端每帧按照以下规则进行处理Ratio=M/N。在此Pos(x)表示角色(包括玩家可控制的角色和NPC)的当前位置,Dir(x)表示角色的当前方向,且假设角色的运动轨迹上没有不可到达的区域。
1.第i帧:
Pos(i)=沿着Pos(0)到Dest的方向Dir(i)以V/Ratio的速度移动第(i+1)帧;
Pos(i+1)=沿着Pos(i)到Dest的方向Dir(i+1)以V/Ratio的速度移动第(i+2)帧;
Pos(i+2)=沿着Pos(i+1)到Dest的方向Dir(i+2)以V/Ratio的速度移动;
.......
第(i+x)帧,(i+x)=Ratio
Pos(i+x)=沿着Pos(0)到Dest的方向Dir(i+x)以V的速度移动;
2.在0到i+x帧里,通过设置客户端标识禁止中断移动,以保证和服务端最终结果一致;
3.在0到i+x帧里,如果客户端的移动将无视障碍,在第i+x帧,需要处理障碍的影响
4.在0到i+x帧里,如果受到眩晕、定身等限制移动的效果时,需要立即停止移动,保持视觉效果,此时会出现和服务端的位置差;
5.通过位置修正机制,对客户端的位置进行修正。
根据本公开的第二实施例的一种游戏同步系统,其包括:第一模块,从服务端获取当前逻辑帧;第二模块,基于服务端的历史逻辑帧和当前逻辑帧,生成的预测逻辑帧;第三模块,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧;第四模块,顺次渲染当前逻辑帧、渐变插入帧和预测逻辑帧;第五模块,当从服务端获取下一逻辑帧时,根据下一逻辑帧对当前渲染结果进行修正,其中一个和多个插入帧包括不同于当前逻辑帧和预测逻辑帧的渐变插入帧。
在本公开的一个或多个实施例中,还包括:第六模块,获取服务端的逻辑帧率;第七模块,获取客户端的逻辑帧率;假如服务端的逻辑帧率为N赫兹,客户端的逻辑帧率为M赫兹,则在当前逻辑帧和预测逻辑帧之间插入的插入帧的数量大于等于(M-N-1)。本公开的第二实施例的实施方式与第一实施例的运行方法基本相同,故在此不再赘言。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接相合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在二个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在二个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种游戏同步方法,其特征在于包括以下步骤:
S100,从服务端获取当前逻辑帧;
S200,基于来自服务端的历史逻辑帧和当前逻辑帧,生成的预测逻辑帧;
S300,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧;
S400,顺次渲染当前逻辑帧、渐变插入帧和预测逻辑帧;
S500,当从服务端获取下一逻辑帧时,根据下一逻辑帧对当前渲染结果进行修正,
其中一个和多个插入帧中的至少一部分不同于当前逻辑帧和预测逻辑帧。
2.根据权利要求1所述的游戏同步方法,其特征在于还包括以下步骤:
S010,获取服务端的逻辑帧率;
S020,获取客户端的逻辑帧率;
假如服务端的逻辑帧率为N赫兹,客户端的逻辑帧率为M赫兹,则在当前逻辑帧和预测逻辑帧之间插入的插入帧的数量大于等于M-N-1。
3.根据权利要求2所述的游戏同步方法,其特征在于:
客户端的逻辑帧率M大于等于服务端的逻辑帧率N的2倍。
4.根据权利要求1所述的游戏同步方法,其特征在于步骤S500包括以下子步骤:
S510,从服务端获取下一逻辑帧;
S520,将下一逻辑帧插入待渲染的帧的队列的前列,并清除下一逻辑帧后的待渲染的帧。
5.根据权利要求1所述的游戏同步方法,其特征在于步骤S200包括以下子步骤:
S210,获取历史逻辑帧中的角色历史位置和当前逻辑帧中的角色当前位置;
S220,根据角色历史位置和角色当前位置的差值,以及服务端的逻辑帧率或客户端的逻辑帧率,计算出角色当前运动状态;
S230,根据角色当前位置以及角色当前运动状态,计算角色预测位置;
S240,基于当前逻辑帧生成预测逻辑帧,其中在预测逻辑帧中,角色位于角色预测位置,角色当前运动状态包括角色当前的运动速度和运动方向。
6.根据权利要求5所述的游戏同步方法,其特征在于步骤S300包括以下子步骤:
S310,规划在角色当前位置和角色预测位置之间的预测最小路径;
S320,在预测最小路径上等间距地生成一个或多个插入位置点;
S330,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧,其中在插入帧中的各渐变插入帧中,角色位于插入位置点。
7.一种游戏同步系统,其特征在于包括:
第一模块,从服务端获取当前逻辑帧;
第二模块,基于来自服务端的历史逻辑帧和当前逻辑帧,生成的预测逻辑帧;
第三模块,基于当前逻辑帧和预测逻辑帧,生成当前逻辑帧和预测逻辑帧之间的一个或多个插入帧;
第四模块,顺次渲染当前逻辑帧、渐变插入帧和预测逻辑帧;
第五模块,当从服务端获取下一逻辑帧时,根据下一逻辑帧对当前渲染结果进行修正,
其中一个和多个插入帧中的至少一部分不同于当前逻辑帧和预测逻辑帧。
8.根据权利要求7所述的游戏同步系统,其特征在于还包括:
第六模块,获取服务端的逻辑帧率;
第七模块,获取客户端的逻辑帧率;
假如服务端的逻辑帧率为N赫兹,客户端的逻辑帧率为M赫兹,则在当前逻辑帧和预测逻辑帧之间插入的插入帧的数量大于等于M-N-1。
CN201810081490.0A 2018-01-29 2018-01-29 一种游戏同步方法和装置 Active CN108379832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810081490.0A CN108379832B (zh) 2018-01-29 2018-01-29 一种游戏同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810081490.0A CN108379832B (zh) 2018-01-29 2018-01-29 一种游戏同步方法和装置

Publications (2)

Publication Number Publication Date
CN108379832A true CN108379832A (zh) 2018-08-10
CN108379832B CN108379832B (zh) 2021-03-30

Family

ID=63076601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810081490.0A Active CN108379832B (zh) 2018-01-29 2018-01-29 一种游戏同步方法和装置

Country Status (1)

Country Link
CN (1) CN108379832B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144642A (zh) * 2018-08-14 2019-01-04 Oppo广东移动通信有限公司 显示控制方法、装置、电子设备及存储介质
CN109568948A (zh) * 2019-01-16 2019-04-05 网易(杭州)网络有限公司 网络游戏中对象的运动状态同步方法及装置
CN109621413A (zh) * 2018-12-28 2019-04-16 腾讯科技(深圳)有限公司 游戏画面的渲染显示方法、装置、终端及存储介质
CN109847361A (zh) * 2019-02-27 2019-06-07 腾讯科技(深圳)有限公司 运动状态的同步方法和装置、存储介质、电子装置
CN110022363A (zh) * 2019-04-03 2019-07-16 腾讯科技(深圳)有限公司 虚拟对象的运动状态修正方法、装置、设备及存储介质
CN110064205A (zh) * 2019-04-24 2019-07-30 腾讯科技(深圳)有限公司 用于游戏的数据处理方法、设备和介质
CN110290143A (zh) * 2019-07-01 2019-09-27 新华智云科技有限公司 视频在线编辑方法、装置、电子设备及存储介质
CN110300327A (zh) * 2019-04-18 2019-10-01 深圳市腾讯网域计算机网络有限公司 一种游戏客户端性能分析方法、装置、终端及存储介质
CN110898425A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 信息同步方法和装置、存储介质及电子装置
CN111167116A (zh) * 2019-09-29 2020-05-19 腾讯科技(深圳)有限公司 一种平滑显示的方法、终端和计算机存储介质
CN111265854A (zh) * 2020-01-17 2020-06-12 腾讯科技(深圳)有限公司 一种帧同步方法、装置、设备及介质
CN111589107A (zh) * 2020-05-14 2020-08-28 北京代码乾坤科技有限公司 虚拟模型的行为预测方法和装置
CN111744177A (zh) * 2020-07-28 2020-10-09 腾讯科技(深圳)有限公司 游戏数据处理方法和装置、存储介质和电子设备
CN112153374A (zh) * 2020-09-25 2020-12-29 腾讯科技(深圳)有限公司 视频帧图像的测试方法、装置、设备、计算机存储介质
CN112237737A (zh) * 2020-08-25 2021-01-19 英华达(上海)科技有限公司 降低云游戏延迟的方法、系统、设备及存储介质
CN112839241A (zh) * 2020-12-31 2021-05-25 贵阳动视云科技有限公司 一种云游戏图像丢帧补偿方法及装置
CN112999652A (zh) * 2021-04-28 2021-06-22 苏州仙峰网络科技股份有限公司 一种高效网络同步方法、装置及系统
CN113018848A (zh) * 2021-03-09 2021-06-25 腾讯科技(深圳)有限公司 一种游戏画面的显示方法、相关装置、设备以及存储介质
WO2021164533A1 (zh) * 2020-02-21 2021-08-26 华为技术有限公司 渲染方法和装置
CN114490671A (zh) * 2022-03-31 2022-05-13 北京华建云鼎科技股份公司 一种客户端同屏的数据同步系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4153193B2 (ja) * 2001-11-02 2008-09-17 株式会社タムラ製作所 信号生成装置および画像システム
CN106612452A (zh) * 2015-10-22 2017-05-03 深圳市中兴微电子技术有限公司 机顶盒音视频同步的方法及装置
CN107222510A (zh) * 2017-07-21 2017-09-29 腾讯科技(深圳)有限公司 一种游戏同步方法、系统及相关设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4153193B2 (ja) * 2001-11-02 2008-09-17 株式会社タムラ製作所 信号生成装置および画像システム
CN106612452A (zh) * 2015-10-22 2017-05-03 深圳市中兴微电子技术有限公司 机顶盒音视频同步的方法及装置
CN107222510A (zh) * 2017-07-21 2017-09-29 腾讯科技(深圳)有限公司 一种游戏同步方法、系统及相关设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D_GUO: "网络游戏网络同步方案的选择", 《HTTPS://BLOG.CSDN.NET/D_GUCO/ARTICLE/DETAILS/53207076?FROM=SINGLEMESSAGE》 *
ESRRHS: "捕鱼游戏帧同步方案", 《HTTPS://BLOG.CSDN.NET/ESRRHS/ARTICLE/DETAILS/76512977?FROM=SINGLEMESSAGE》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144642A (zh) * 2018-08-14 2019-01-04 Oppo广东移动通信有限公司 显示控制方法、装置、电子设备及存储介质
CN109621413A (zh) * 2018-12-28 2019-04-16 腾讯科技(深圳)有限公司 游戏画面的渲染显示方法、装置、终端及存储介质
CN109568948B (zh) * 2019-01-16 2022-05-20 网易(杭州)网络有限公司 网络游戏中对象的运动状态同步方法及装置
CN109568948A (zh) * 2019-01-16 2019-04-05 网易(杭州)网络有限公司 网络游戏中对象的运动状态同步方法及装置
CN109847361A (zh) * 2019-02-27 2019-06-07 腾讯科技(深圳)有限公司 运动状态的同步方法和装置、存储介质、电子装置
CN109847361B (zh) * 2019-02-27 2020-11-10 腾讯科技(深圳)有限公司 运动状态的同步方法和装置、存储介质、电子装置
CN110022363A (zh) * 2019-04-03 2019-07-16 腾讯科技(深圳)有限公司 虚拟对象的运动状态修正方法、装置、设备及存储介质
CN110022363B (zh) * 2019-04-03 2021-10-29 腾讯科技(深圳)有限公司 虚拟对象的运动状态修正方法、装置、设备及存储介质
CN110300327A (zh) * 2019-04-18 2019-10-01 深圳市腾讯网域计算机网络有限公司 一种游戏客户端性能分析方法、装置、终端及存储介质
CN110300327B (zh) * 2019-04-18 2021-06-15 深圳市腾讯网域计算机网络有限公司 一种游戏客户端性能分析方法、装置、终端及存储介质
CN110064205B (zh) * 2019-04-24 2023-02-17 腾讯科技(深圳)有限公司 用于游戏的数据处理方法、设备和介质
CN110064205A (zh) * 2019-04-24 2019-07-30 腾讯科技(深圳)有限公司 用于游戏的数据处理方法、设备和介质
CN110290143A (zh) * 2019-07-01 2019-09-27 新华智云科技有限公司 视频在线编辑方法、装置、电子设备及存储介质
CN110290143B (zh) * 2019-07-01 2021-12-03 新华智云科技有限公司 视频在线编辑方法、装置、电子设备及存储介质
CN111167116A (zh) * 2019-09-29 2020-05-19 腾讯科技(深圳)有限公司 一种平滑显示的方法、终端和计算机存储介质
CN110898425A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 信息同步方法和装置、存储介质及电子装置
CN111265854A (zh) * 2020-01-17 2020-06-12 腾讯科技(深圳)有限公司 一种帧同步方法、装置、设备及介质
WO2021164533A1 (zh) * 2020-02-21 2021-08-26 华为技术有限公司 渲染方法和装置
CN111589107A (zh) * 2020-05-14 2020-08-28 北京代码乾坤科技有限公司 虚拟模型的行为预测方法和装置
CN111744177B (zh) * 2020-07-28 2021-06-25 腾讯科技(深圳)有限公司 游戏数据处理方法和装置、存储介质和电子设备
CN111744177A (zh) * 2020-07-28 2020-10-09 腾讯科技(深圳)有限公司 游戏数据处理方法和装置、存储介质和电子设备
CN112237737A (zh) * 2020-08-25 2021-01-19 英华达(上海)科技有限公司 降低云游戏延迟的方法、系统、设备及存储介质
CN112237737B (zh) * 2020-08-25 2022-08-19 英华达(上海)科技有限公司 降低云游戏延迟的方法、系统、设备及存储介质
CN112153374A (zh) * 2020-09-25 2020-12-29 腾讯科技(深圳)有限公司 视频帧图像的测试方法、装置、设备、计算机存储介质
CN112839241A (zh) * 2020-12-31 2021-05-25 贵阳动视云科技有限公司 一种云游戏图像丢帧补偿方法及装置
CN113018848A (zh) * 2021-03-09 2021-06-25 腾讯科技(深圳)有限公司 一种游戏画面的显示方法、相关装置、设备以及存储介质
CN112999652A (zh) * 2021-04-28 2021-06-22 苏州仙峰网络科技股份有限公司 一种高效网络同步方法、装置及系统
CN114490671A (zh) * 2022-03-31 2022-05-13 北京华建云鼎科技股份公司 一种客户端同屏的数据同步系统
CN114490671B (zh) * 2022-03-31 2022-07-29 北京华建云鼎科技股份公司 一种客户端同屏的数据同步系统

Also Published As

Publication number Publication date
CN108379832B (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN108379832A (zh) 一种游戏同步方法和装置
CN109847361B (zh) 运动状态的同步方法和装置、存储介质、电子装置
JP7259033B2 (ja) 機械学習によって推進されるリソース配分
CN105518743B (zh) 深度图像的处理
CN111659120B (zh) 虚拟角色位置同步方法、装置、介质及电子设备
WO2017077783A1 (ja) プレイヤの移動履歴に基づいてノンプレイヤキャラクタの経路探索を行うゲームシステム等
CN106780674B (zh) 镜头移动方法和装置
US11235241B2 (en) Route navigation system within a game application environment
CN111494953B (zh) 游戏角色移动同步方法、装置、设备及存储介质
WO2019022841A1 (en) CONTROLLING ENTITY BEHAVIOR IN FUNNEL SECTIONS OF COMPUTER REPRESENTED ENVIRONMENT
KR102245905B1 (ko) 객체 이동 방법 및 장치, 저장 매체 및 전자 장치
US20210170230A1 (en) Systems and methods for training players in a sports contest using artificial intelligence
CN108289246A (zh) 数据处理方法、装置、存储介质和电子装置
US11093023B2 (en) System, method and apparatus of simulating physics in a virtual environment
CN107213636A (zh) 镜头移动方法、装置、存储介质和处理器
US8339392B2 (en) Intelligent demand loading of regions for virtual universes
CN110716766A (zh) 游戏场景加载方法、装置、计算机可读介质及电子设备
CN113018845B (zh) 一种操作指令执行方法、客户端、服务端及存储介质
CN108428209A (zh) 高维数据可视化方法、装置及系统
Chen et al. A path-assisted dead reckoning algorithm for distributed virtual environments
CN109692476B (zh) 游戏交互方法、装置、电子设备及存储介质
CN110075525B (zh) 游戏中虚拟物体的控制方法及装置、电子设备
CN111760273A (zh) 游戏碎块处理方法、装置及设备
CN108415749B (zh) 显示处理方法、介质、装置和计算设备
CN108234656A (zh) 数据交互方法及系统

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Patentee after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Patentee after: Zhuhai Xishanju Digital Technology Co.,Ltd.

Address before: 519000 building 3, Jinshan Software Park, 325 Qiandao Ring Road, Xiangzhou District, Zhuhai City, Guangdong Province

Patentee before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

Patentee before: ZHUHAI SEASUN MOBILE GAME TECHNOLOGY Co.,Ltd.