CN113521743A - 游戏同步方法、装置、终端、服务器和存储介质 - Google Patents
游戏同步方法、装置、终端、服务器和存储介质 Download PDFInfo
- Publication number
- CN113521743A CN113521743A CN202011350085.8A CN202011350085A CN113521743A CN 113521743 A CN113521743 A CN 113521743A CN 202011350085 A CN202011350085 A CN 202011350085A CN 113521743 A CN113521743 A CN 113521743A
- Authority
- CN
- China
- Prior art keywords
- game
- clients
- scene
- synchronized
- data
- 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.)
- Pending
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种游戏同步方法、装置、终端、服务器和存储介质;本发明实施例可以构建初始游戏场景,初始游戏场景由逻辑数据和视觉表现对象构成;从服务器获取其他客户端的操作指令和视觉表现对象;根据其他客户端的操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;基于同步后逻辑数据,在初始游戏场景中实例化其他客户端的视觉表现对象,得到同步后场景表现数据;根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏场景与其他客户端同步。在本发明实施例中,通过同步游戏场景中需要实例化的视觉表现对象,可以提高渲染效果的一致性、降低游戏同步的耗时。由此,本方案可以提升游戏同步方法的效率。
Description
技术领域
本发明涉及计算机领域,具体涉及一种游戏同步方法、装置、终端、服务器和存储介质。
背景技术
在多人网络游戏中,服务器需要对游戏客户端所产生的游戏数据进行处理与广播,使得多个客户端之间实现游戏数据的交互,而多人网络游戏对交互的实时性和一致性要求非常高,任何玩家的操作指令都要及时地同步到所有玩家的游戏客户端中,且所有玩家收到的信息必须一致。
为了应对玩家因为游戏掉线或其他原因需要中途加入游戏的情况,服务器往往需要重新对该玩家的游戏客户端进行数据同步,使得该玩家可以正常地与其他玩家交互。
然而,目前针对上述情况的游戏同步方法效率低下。
发明内容
本发明实施例提供一种游戏同步方法、装置、终端、服务器和存储介质,可以提升游戏同步方法的效率。
本发明实施例提供一种游戏同步方法,应用于客户端,包括:
构建初始游戏场景,所述初始游戏场景至少由逻辑数据和视觉表现对象构成;
从服务器获取其他客户端的操作指令和视觉表现对象;
根据所述其他客户端的操作指令对所述初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;
基于所述同步后逻辑数据,在所述初始游戏场景中实例化所述其他客户端的视觉表现对象,得到同步后场景表现数据;
根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面,使得所述游戏画面中的游戏场景与所述其他客户端同步。
本发明实施例提供一种游戏同步方法,应用于服务器,包括:
当获取到目标客户端的游戏加入消息时,根据预设频率向其他客户端发送表现上报指令,所述表现上报指令用于通知所述其他客户端上报所述其他客户端的视觉表现对象;
获取所述其他客户端的视觉表现对象和操作指令;
根据所述预设频率将所述其他客户端的操作指令和视觉表现对象发送给所述目标客户端,以便所述目标客户端与所述其他客户端的游戏同步。
本发明实施例还提供一种游戏同步装置,应用于客户端,包括:
初始单元,用于构建初始游戏场景,所述初始游戏场景至少由逻辑数据和视觉表现对象构成;
服务器获取单元,用于从服务器获取其他客户端的操作指令和视觉表现对象;
逻辑单元,用于根据所述其他客户端的操作指令对所述初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;
表现单元,用于基于所述同步后逻辑数据,在所述初始游戏场景中实例化所述其他客户端的视觉表现对象,得到同步后场景表现数据;
画面单元,用于根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面,使得所述游戏画面中的游戏场景与所述其他客户端同步。
在一些实施例中,所述画面单元在用于根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面之后,还用于:
获取用户针对所述游戏场景的操作指令;
将所述用户针对所述游戏场景的操作指令上报给服务器。
在一些实施例中,游戏同步装置还包括:
确定单元,用于当从服务器获取到表现上报指令时,确定所述游戏场景中出现的视觉表现对象;
上报单元,用于将所述游戏场景中出现的视觉表现对象上报给服务器。
在一些实施例中,游戏同步装置还包括:
场景更新单元,用于当从服务器获取到所述其他客户端的操作指令时,根据所述其他客户端的操作指令更新所述游戏场景,得到更新后游戏场景;
更新画面单元,用于根据所述更新后游戏场景渲染游戏画面,使得所述游戏画面中的游戏场景与所述其他客户端同步。
在一些实施例中,所述画面单元,还用于:
从服务器再次获取所述其他客户端的操作指令和视觉表现对象;
根据所述再次获取的其他客户端的操作指令对所述同步后逻辑数据进行更新,得到更新后逻辑数据;
基于所述更新后逻辑数据和所述再次获取的其他客户端的视觉表现对象对所述同步后场景表现数据进行更新,得到更新后场景表现数据;
所述画面单元,还用于:
根据所述更新后逻辑数据和所述更新后场景表现数据再次渲染所述游戏画面,使得所述游戏画面中的游戏场景与所述其他客户端同步。
在一些实施例中,所述初始单元之前,还用于:
显示游戏加载界面;
所述画面单元,还用于:
取消显示所述游戏加载界面;
显示所述游戏画面。
在一些实施例中,所述服务器获取单元,用于:
从服务器获取所述其他客户端的操作指令和对象更替信息,所述对象更替信息包括多个候选对象被所述其他客户端创建或消除的信息;
根据所述对象更替信息确定所述其他客户端的视觉表现对象,所述视觉表现对象为未被所述其他客户端消除的候选对象。
在一些实施例中,所述表现单元,还用于:
依次在所述对象更替信息的多个候选对象中确定一个目标候选对象;
基于所述同步后逻辑数据,在所述初始游戏场景中实例化所述目标候选对象,得到所述目标候选对象的同步后场景表现数据;
根据所述同步后逻辑数据和所述目标候选对象的同步后场景表现数据渲染游戏画面;
返回并执行步骤依次在所述对象更替信息的多个候选对象中确定一个目标候选对象,直至处理完所述对象更替信息中所有候选对象,使得所述游戏画面中的游戏场景与所述其他客户端同步。
本发明实施例还提供一种游戏同步装置,应用于服务器,包括:
加入单元,用于当获取到目标客户端的游戏加入消息时,根据预设频率向其他客户端发送表现上报指令,所述表现上报指令用于通知所述其他客户端上报所述其他客户端的视觉表现对象;
客户端获取单元,用于获取所述其他客户端的视觉表现对象和操作指令;
发送单元,用于根据所述预设频率将所述其他客户端的操作指令和视觉表现对象发送给所述目标客户端,以便所述目标客户端与所述其他客户端的游戏同步。
在一些实施例中,所述发送单元,还用于:
当获取到所述目标客户端的操作指令时,拒绝根据所述预设频率向所述其他客户端发送表现上报指令;
获取客户端的操作指令,所述客户端包括所述目标客户端和所述其他客户端;
根据所述预设频率向客户端发送所述操作指令。
本发明实施例还提供一种终端、服务器,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本发明实施例所提供的任一种游戏同步方法中的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种游戏同步方法中的步骤。
本发明实施例可以构建初始游戏场景,初始游戏场景至少由逻辑数据和视觉表现对象构成;从服务器获取其他客户端的操作指令和视觉表现对象;根据其他客户端的操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;基于同步后逻辑数据,在初始游戏场景中实例化其他客户端的视觉表现对象,得到同步后场景表现数据;根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
在本发明中,通过将游戏同步的逻辑层和表现层分开,除了对游戏的逻辑数据进行同步,还会通过其他客户端的视觉表现对象来实现游戏场景的表现同步,可以提高渲染效果的一致性、降低游戏同步的耗时。由此,本方案可以提升游戏同步方法的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的游戏同步方法的场景示意图;
图1b是本发明实施例提供的游戏同步方法的流程示意图;
图2是本发明实施例提供的游戏同步方法的流程示意图;
图3a是本发明实施例提供的游戏同步方法应用在多人横版格斗游戏场景中的示意图;
图3b是本发明实施例提供的游戏同步方法的加载页面示意图;
图3c是本发明实施例提供的游戏同步方法的交互示意图;
图4是本发明实施例提供的游戏同步装置的结构示意图;
图5是本发明实施例提供的游戏同步装置的结构示意图;
图6是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种游戏同步方法、装置、终端、服务器和存储介质。
其中,该游戏同步装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在一些实施例中,该游戏同步装置还可以集成在多个电子设备中,比如,游戏同步装置可以集成在多个服务器中,由多个服务器来实现本发明的游戏同步方法。
在一些实施例中,服务器也可以以终端的形式来实现。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一些实施例中,提出了一种游戏同步系统可以包括服务器和多个终端,每个终端都可以与服务器进行网络通信。
其中,服务器可以搭载应用于服务器的游戏同步装置,终端可以搭载应用于客户端的游戏同步装置,终端之间可以通过服务器进行数据交互,从而实现终端之间的游戏同步。
例如,参考图1a,该游戏同步系统包括搭载了游戏同步装置的服务器、终端1、终端2和终端3;终端1、终端2和终端3均可以与服务器进行网络通信。
以下将以终端1为目标客户端,终端2和终端3为其他客户端为例进行游戏同步系统的介绍:
目标终端可以建初始游戏场景,该初始游戏场景至少由逻辑数据和视觉表现对象构成;从服务器获取其他客户端的操作指令和视觉表现对象;然后根据其他客户端的操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;在基于同步后逻辑数据,在初始游戏场景中实例化其他客户端的视觉表现对象,得到同步后场景表现数据;最后根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
服务器可以获取到目标客户端的游戏加入消息,当服务器获取到目标客户端的游戏加入消息时,服务器可以根据预设频率向其他客户端发送表现上报指令,表现上报指令可以用于通知其他客户端上报其他客户端游戏场景中出现的视觉表现对象;然后获取其他客户端的视觉表现对象和操作指令;最后根据预设频率将其他客户端的操作指令和视觉表现对象发送给目标客户端,以便目标客户端与其他客户端的游戏同步。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
云计算技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云游戏(Cloud gaming)又可称为游戏点播(Gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
本方案可以用于云游戏的游戏同步,也可以用于传统游戏的游戏同步。
在介绍本方案之前,在此将先对游戏同步做出介绍:
网络游戏中,多个客户端之间通信是以同步多方状态为主要目标的,为了实现该目标,目前提出了帧同步(Lockstep,又称为锁步同步)与状态同步(StateSynchronization)两个技术方向。
对于状态同步,当某一客户端发送玩家的操作指令到服务器后,服务器可根据玩家的操作指令计算该玩家的操作结果,然后将操作结果广播给所有的客户端,客户端根据服务器计算的操作结果显示游戏画面。
而在帧同步中,服务器仅仅是对操作指令的转发,无需在内部对操作结果进行计算,服务器仅需按照一个固定的频率将操作数据广播给所有客户端,由客户端来计算操作结果,由于每个操作指令到达所有客户端的时间(帧)都是一样的,所以每个客户端计算得到的指令结果也一样。
对于多人网络游戏中玩家掉线断线重连、中途进入游戏或重启后游戏恢复等情况,客户端需要获取从游戏开始到当前所有玩家的操作指令,并快速地计算完所有的操作指令,然后继续正常的游戏。
快速追帧技术能够以极快的速度,把服务器下发的大量游戏数据处理完成,使得重连或中途进入游戏的玩家与游戏中其他玩家的游戏状态一致。
比如,在帧同步中可以采用固定的帧率倍速追帧,例如,通过提高渲染的算力消耗,来将一帧一帧播放的游戏内容,以极高的速度播放。
比如,在状态同步中,可以由服务器将最近一次计算得到的操作结果发送给客户端
此外,在具有“房间”概念的多人对战网络游戏中,游戏流程可分为匹配(Matchmaking)和对战(Gameplay)两个阶段。匹配是指将在线玩家中满足一定条件或要求的玩家分配在同一房间,客户端(玩家)连接到指定的房间服务器,并通过房间服务提供的接口来同步玩家操作、游戏状态等数据以支持同一房间内玩家对战和互动。因此,对于具有“房间”概念的多人对战网络游戏,可以利用房间服务器将最近一次计算得到的游戏状态等数据发送给客户端来实现该客户端的快速追帧。
在本实施例中,提供了一种游戏同步方法,能够实现云游戏和传统游戏的快速追帧,如图1b所示,该游戏同步方法的具体流程可以如下:
101、构建初始游戏场景,初始游戏场景至少由逻辑数据和视觉表现对象构成。
在本方案中,将游戏划分为逻辑层和渲染层,即,将游戏数据(数据帧)分为逻辑数据(逻辑帧)和渲染数据(表现帧)。
其中,逻辑帧用于定义、存储和计算游戏场景中游戏对象的游戏逻辑,例如变换游戏对象的坐标、旋转游戏对象、修改逻辑对象的战斗属性,等等。
游戏在逻辑层的计算过程是连续的,即当计算完一个逻辑帧后才会计算下一个逻辑帧,若改变了逻辑帧的运算顺序,则有可能导致运算结果的不同。
其中,表现帧是用于根据逻辑数据,对游戏场景中的游戏对象进行渲染表现的数据,例如,通过缓存帧、平滑帧、预测、插值等渲染方案优化渲染的表现效果。
当客户端重新进入游戏场景或者进入正在多人游戏中的游戏场景时,客户端需要预先读取游戏数据来构建初始的游戏场景,然后基于服务器下发的数据来对初始的游戏场景进行快速追帧。
在一些实施例中,在步骤101之前,还可以显示游戏加载界面,直至完成了快速追帧,再显示游戏画面,以此来实现用户无感知的游戏追帧。
其中,游戏场景至少是由逻辑数据和视觉表现对象构成的,不同客户端中所运行游戏场景的逻辑数据和视觉表现对象可能相同也可能不相同,当多个客户端进行多人游戏时,为了保证游戏内容的一致性,需要对这些客户端进行同步,至少使得不同客户端中所运行游戏场景的逻辑数据和相同。
同步的多个客户端中所运行游戏场景的视觉表现对象可以相同,也可能不相同,例如,同步的多个客户端可能设置了不同的画面分辨率、抗锯齿、材质质量等视觉表现对象。
因此,在实现了游戏同步(即步骤105)之后,还可以取消显示游戏加载界面,并显示游戏画面。
其中,游戏场景可以由多个游戏模型(游戏元件)的实例构成,该游戏模型可以为人物模型、动物模型、粒子特效模型,等等。
102、从服务器获取其他客户端的操作指令和视觉表现对象。
当客户端重新进入游戏场景或者进入正在多人游戏中的游戏场景时,还可以向服务器发送游戏加入消息,以通知服务器采集用于追帧的数据,比如,其他客户端的操作指令和视觉表现对象。
其中,操作指令可以是玩家操作游戏场景中游戏对象的命令,比如,操作指令可以是玩家操作游戏角色在游戏场景中移动、攻击、防御的命令,等等。
其中,视觉表现对象为其他客户端在游戏场景中渲染的具有视觉表现的游戏对象,例如,游戏场景中的树木、游戏角色以及游戏角色所释放技能的技能效果,等等。
在一些实施例中,可以以标识的形式表征视觉表现对象,即步骤102可以是从服务器获取其他客户端的操作指令和视觉表现对象的标识。
该标识可以为数字编号、文字名称、符号名称等。
在一些实施例中,由于客户端可以在游戏场景中同时渲染多个视觉表现对象,以及,可以在游戏中对同一个视觉表现对象进行多次创建、消除等,步骤102可以包括如下步骤:
从服务器获取其他客户端的操作指令和对象更替信息,对象更替信息可以包括多个候选对象被其他客户端创建或消除的信息;
根据对象更替信息确定视觉表现对象,视觉表现对象为未被其他客户端消除的候选对象。
其中,对象更替信息中可以记录每个候选对象的创建或消除,候选对象是指客户端在游戏场景中渲染过或取消渲染过的游戏对象。
由于同一个视觉表现对象可以被多次创建、消除,为了降低多次创建、消除所消耗的渲染资源,提高追帧效率,在本实施例中,可以对对象更替信息进行统计,在候选对象中筛选出最终会被渲染表现出来的视觉表现对象,使得在追帧时,只对视觉表现对象进行表现,而非表现所有的候选对象。
因此,无需在追帧时,渲染游戏场景中曾出现过却被消除的候选对象,大大降低了表现帧追帧所消耗的渲染资源,提高了追帧效率。
103、根据其他客户端的操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据。
比如,根据其他客户端的玩家的操作指令“角色X前进了5米”,对初始游戏场景中的逻辑数据“角色X的位置为(0,0)”进行修改,得到同步后逻辑数据“角色X的位置为(0,5)”。
在本实施例中,将会在步骤103进行逻辑帧的追帧,在步骤104进行表现帧的追帧。其中,逻辑与渲染(表现)的分离,可以使得逻辑帧追帧的频率与表现帧追帧的频率不同。
由于逻辑帧的追帧所消耗的计算资源远远低于表现帧,因此,在本实施例中,可以采用倍速追帧的方式进行逻辑帧的追帧,大大提高了追帧效率。
例如,将每一秒处理一个逻辑帧修改为每一秒处理50个逻辑帧,等等。
在本实施例中,每当接收到逻辑帧,就可以将逻辑帧保存在缓存中。在追帧时,依次对缓存中存储的逻辑帧进行处理,直至缓存中不存在逻辑帧,从而实现逻辑帧的追帧。
104、基于同步后逻辑数据,在初始游戏场景中实例化其他客户端的视觉表现对象,得到同步后场景表现数据。
比如,基于同步后逻辑数据“角色X的位置为(0,5)”,在初始游戏场景中实例化其他客户端的视觉表现对象“角色X”,得到同步后场景表现数据“在(0,5)显示的游戏角色X”。
其中,实例化其他客户端的视觉表现对象是指在游戏场景中置入该其他客户端的视觉表现对象的游戏模型,该其他客户端的视觉表现对象的游戏模型可以具有设置好的参数。
在一些实施例中,除了可以在初始游戏场景中只实例化视觉表现对象,还可以将对象更替信息中所有的候选对象实例化,来实现一帧一帧渲染游戏画面的效果,而非仅渲染最后一帧游戏的画面,故步骤104还可以包括如下步骤:
依次在对象更替信息的多个候选对象中确定一个目标候选对象;
基于同步后逻辑数据,在初始游戏场景中实例化目标候选对象,得到目标候选对象的同步后场景表现数据;
根据同步后逻辑数据和目标候选对象的同步后场景表现数据渲染游戏画面;
返回并执行步骤依次在对象更替信息的多个候选对象中确定一个目标候选对象,直至处理完对象更替信息中所有候选对象,使得游戏画面中的游戏场景与其他客户端同步。
105、根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
步骤105完成表征了游戏追帧完成。
在一些实施例中,由于开始追帧到追帧完成之间存在一段时间差,因此,客户端还可以在开始追帧到追帧完成之间继续获取其他客户端的操作指令和视觉表现对象来追帧,直至客户端与其他客户端的游戏状态相同,即步骤105之前,还可以包括如下步骤:
从服务器再次获取其他客户端的操作指令和视觉表现对象;
根据再次获取的其他客户端的操作指令对同步后逻辑数据进行更新,得到更新后逻辑数据;
基于更新后逻辑数据和再次获取的其他客户端的视觉表现对象对同步后场景表现数据进行更新,得到更新后场景表现数据;
根据同步后逻辑数据和同步后场景表现数据渲染游戏画面之后,还包括:
根据更新后逻辑数据和更新后场景表现数据再次渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
在一些实施例中,在游戏追帧完成之后,可以进行正常的游戏同步,故在步骤105之后还可以包括如下步骤:
获取用户针对游戏场景的操作指令;
将用户针对游戏场景的操作指令上报给服务器。
在一些实施例中,在游戏追帧完成之后,若出现了其他客户端掉线重连或中途进入游戏等情况,客户端还可以记录其游戏场景中出现的视觉表现对象,并将视觉表现对象通过服务器发送给掉线重连或中途进入游戏的其他客户端,以便该其他客户端追帧,在步骤105之后还可以包括如下步骤:
当从服务器获取到表现上报指令时,确定游戏场景中出现的视觉表现对象;
将视觉表现对象上报给服务器。
在一些实施例中,在游戏追帧完成之后,可以进行正常的游戏同步,故在步骤105之后还可以包括如下步骤:
当从服务器获取到其他客户端的操作指令时,根据其他客户端的操作指令更新游戏场景,得到更新后游戏场景;
根据更新后游戏场景渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
由上可知,本发明实施例可以构建初始游戏场景,初始游戏场景至少由逻辑数据和视觉表现对象构成;从服务器获取其他客户端的操作指令和视觉表现对象;根据其他客户端的操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;基于同步后逻辑数据,在初始游戏场景中实例化其他客户端的视觉表现对象,得到同步后场景表现数据;根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
由此,在本发明中,通过将游戏同步的逻辑层和表现层分开,除了对游戏的逻辑数据进行同步,还会通过其他客户端的视觉表现对象来实现游戏场景的表现同步,可以提高渲染效果的一致性、降低游戏同步的耗时。由此,本方案可以提升游戏同步方法的效率。
上述实施例所描述的方法应用于客户端,以下将以应用于服务器的游戏同步方法为例,对本发明实施例的方法进行详细说明。
如图2所示,一种游戏同步方法具体流程如下:
201、当获取到目标客户端的游戏加入消息时,根据预设频率向其他客户端发送表现上报指令,表现上报指令用于通知其他客户端上报其他客户端的视觉表现对象。
当获取到目标客户端的游戏加入消息时,可以确认目标客户端出现了掉线重连或中途进入游戏场景的情况。因此,服务器可以根据一个固定的频率向向其他客户端发送表现上报指令,从而通知其他客户端上报其游戏场景所表现的视觉表现对象。
202、获取其他客户端的视觉表现对象和操作指令。
203、根据预设频率将其他客户端的操作指令和视觉表现对象发送给目标客户端,以便目标客户端与其他客户端的游戏同步。
在一些实施例中,在游戏追帧完成之后,可以进行正常的游戏同步,停止继续通知其他客户端上报视觉表现对象,故在步骤203之后,游戏同步方法还可以包括如下流程:
当获取到目标客户端的操作指令时,拒绝根据预设频率向其他客户端发送表现上报指令;
获取客户端的操作指令,客户端可以包括目标客户端和其他客户端;
根据预设频率向客户端发送操作指令。
由上可知,本方案可以提升游戏同步方法的效率。
本发明实施例提供的游戏同步方案可以应用在各种游戏类型的游戏场景中。
比如,以基于云游戏的格斗类多人对战游戏为例,本方案可以支撑对于渲染追赶还原要求较高的横版格斗游戏,特别是对于没有后台全校验运行、无法很好拿到状态片的游戏,以及希望不局限于游戏房间的游戏、有更多丰富玩法的设计的游戏,本方案都可以起到快速追帧的效果。
比如,参考图3a,在本实施例中,将以无房间的多人在线横版格斗游戏为例,介绍游戏终端掉线后快速重回或游戏的追帧方案:
首先,当玩家登录该多人在线横版格斗游戏时,可以建立该玩家客户端与游戏服务器的TCP(Transmission Control Protocol,一种网络通信方式)连接,并确定玩家是需要开启新游戏还是重连掉线前运行的游戏;若玩家需要开启新游戏,则按照正常的游戏同步流程来实现多玩家的战斗,该正常的游戏同步流程可以采用UDP(User DatagramProtocol,一种网络通信方式)连接进行帧同步;若玩家需要重连掉线前运行的游戏,则玩家客户端可以从服务器获取帧数据,以及加载本地游戏的游戏数据,如战斗资源,从而实现快速追帧,追帧完成后,该玩家客户端即按照正常的游戏同步流程来实现多玩家的战斗。
玩家中途加入游戏对局时,游戏客户端可以在加载(Loading)游戏数据时,显示游戏加载界面,该游戏加载界面可以是预设的二维图片、动画、文字介绍等等,比如,游戏加载界面可以是预设的游戏CG(Computer Graphics)动画。
例如,参考图3b,当玩家中途加入游戏对局时,除了在加载游戏数据时显示游戏加载界面,游戏客户端还可以通过本方案进行快速追帧,该快速追帧的过程中,游戏场景的渲染表现可以被如图3c所示的游戏加载界面掩盖。除了正常的加载游戏数据以外,还可以有额外较短的时间进行一次快速的游戏追帧,该游戏追帧可以采用本方案提供的游戏同步方法。在追帧过程中,可以继续显示游戏加载界面,使得追帧时游戏场景的渲染表现被该游戏加载界面遮盖,直至追帧完成,使得玩家无法感知此次追帧过程。
在本方案中,可以使用基于倍速的追帧方案,做到更快地追帧,实现在几秒的时间内追上其他客户端几十分钟的游戏过程,此外,本方案可以使得渲染效果与其他客户端一致,来满足横版格斗游戏对于不同客户端上渲染效果一致性的需求。
首先本方案可以将游戏的逻辑层和表现层分离,使得数据帧被分为逻辑帧和表现帧。
由于逻辑帧的计算开销相对小,本方案的追帧过程中可以采用倍速追帧的方案来追逻辑帧,即在非常短的时间内执行多个数据帧的逻辑操作,从而提高游戏同步的效率。
而由于表现帧的计算开销相对大,且难以实现画面表现的无缝还原,因此,参考图3c,本方案特别针对渲染表现的追帧处理进行了以下改进:
(1)首先,在目标客户端重新中途加入战斗后,可以向服务器发送游戏加入消息,使得服务器通知其他客户端除了上报用于帧同步的操作指令以外,还需要记录并上报游戏场景的每一帧中出现的视觉表现对象ID。
服务器可以按照一个固定的预设频率,将得到的操作指令和视觉表现对象ID发送给目标客户端。
目标客户端在恢复逻辑帧过程中,可以根据每一帧中视觉表现对象ID确定追帧结束时最后一帧游戏场景中会出现的视觉表现对象,并对这些视觉表现对象进行实例化处理,实现游戏渲染。因此,本方案大大降低了追帧过程中实例化对象的数量,在保证了渲染表现一致性的情况下,大大降低游戏同步的耗时,因此,提升了游戏同步方法的效率。
(2)目标客户端从开始追帧到追帧完成会花费一段时间,在该段时间内,其他客户端产生的操作指令和场景中视觉表现对象ID的变更信息,也会持续地由服务器搜集并发送给目标客户端,目标客户端可以将其保存在缓存中,直至追帧过程中该缓存内不再剩余操作指令和场景中视觉表现对象ID。
(3)追帧结束后,目标客户端可以向服务器上报玩家的操作指令,此时,其它客户端就不再需要向服务器上报视觉表现对象ID,目标客户端、其他客户端进入了常规的游戏对战。
因此,采用本方案可以制作开放式帧同步的玩法,采用本发明实施例提供的方案能够更好地提高渲染效果的一致性、降低游戏同步的耗时。由此,本方案可以提升游戏同步方法的效率。
为了更好地实施以上方法,本发明实施例还提供一种游戏同步装置,该游戏同步装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以游戏同步装置具体集成在终端为例,对本发明实施例的方法进行详细说明。
例如,如图4所示,该游戏同步装置可以包括初始单元401、服务器获取单元402、逻辑单元403、表现单元404以及画面单元405,如下:
(一)初始单元401:
初始单元401可以用于构建初始游戏场景,初始游戏场景至少由逻辑数据和视觉表现对象构成。
在一些实施例中,初始单元401还可以在构建初始游戏场景之前用于显示游戏加载界面。
(二)服务器获取单元402:
服务器获取单元402可以用于从服务器获取其他客户端的操作指令和视觉表现对象。
在一些实施例中,服务器获取单元402可以用于:
从服务器获取其他客户端的操作指令和对象更替信息,对象更替信息可以包括多个候选对象被其他客户端创建或消除的信息;
根据对象更替信息确定视觉表现对象,视觉表现对象为未被其他客户端消除的候选对象。
(三)逻辑单元403:
逻辑单元403可以用于根据操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据。
(四)表现单元404:
表现单元404可以用于基于同步后逻辑数据,在初始游戏场景中实例化视觉表现对象,得到同步后场景表现数据。
在一些实施例中,表现单元404还可以用于:
依次在对象更替信息的多个候选对象中确定一个目标候选对象;
基于同步后逻辑数据,在初始游戏场景中实例化目标候选对象,得到目标候选对象的同步后场景表现数据;
根据同步后逻辑数据和目标候选对象的同步后场景表现数据渲染游戏画面;
返回并执行步骤依次在对象更替信息的多个候选对象中确定一个目标候选对象,直至处理完对象更替信息中所有候选对象,使得游戏画面中的游戏场景与其他客户端同步。
(五)画面单元405:
画面单元405可以用于根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
在一些实施例中,在可以用于根据同步后逻辑数据和同步后场景表现数据渲染游戏画面之后,画面单元405还可以用于:
获取用户针对游戏场景的操作指令;
将用户针对游戏场景的操作指令上报给服务器。
在一些实施例中,游戏同步装置还可以包括:
确定单元,可以用于当从服务器获取到表现上报指令时,确定游戏场景中出现的视觉表现对象;
上报单元,可以用于将视觉表现对象上报给服务器。
在一些实施例中,游戏同步装置还可以包括:
场景更新单元,可以用于当从服务器获取到其他客户端的操作指令时,根据操作指令更新游戏场景,得到更新后游戏场景;
更新画面单元,可以用于根据更新后游戏场景渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
在一些实施例中,画面单元405,还可以用于:
从服务器获取其他客户端再次发送的操作指令和视觉表现对象;
根据再次发送的操作指令对同步后逻辑数据进行更新,得到更新后逻辑数据;
基于更新后逻辑数据对同步后场景表现数据进行更新,得到更新后场景表现数据;
画面单元405,还可以用于:
根据更新后逻辑数据和更新后场景表现数据再次渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
在一些实施例中,画面单元405,还可以用于:
取消显示游戏加载界面;
显示游戏画面。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的游戏同步装置由初始单元构建初始游戏场景,初始游戏场景至少由逻辑数据和视觉表现对象构成;由服务器获取单元从服务器获取其他客户端的操作指令和视觉表现对象;由逻辑单元根据操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;由表现单元基于同步后逻辑数据,在初始游戏场景中实例化视觉表现对象,得到同步后场景表现数据;由画面单元根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
由此,本发明实施例可以提升游戏同步方法的效率。
比如,在本实施例中,将以游戏同步装置具体集成在服务器为例,对本发明实施例的方法进行详细说明。
例如,如图5所示,该游戏同步装置可以包括加入单元501、客户端获取单元502以及发送单元503,如下:
(一)加入单元501:
加入单元501可以用于当获取到目标客户端的游戏加入消息时,根据预设频率向其他客户端发送表现上报指令,表现上报指令可以用于通知其他客户端上报视觉表现对象;
(二)客户端获取单元502:
客户端获取单元502可以用于获取其他客户端的视觉表现对象和操作指令;
(三)发送单元503:
发送单元503可以用于根据预设频率将操作指令和视觉表现对象发送给目标客户端,以便目标客户端与其他客户端的游戏同步。
在一些实施例中,该游戏同步装置还可以用于:
当获取到目标客户端的操作指令时,拒绝根据预设频率向其他客户端发送表现上报指令;
获取客户端的操作指令,客户端可以包括目标客户端和其他客户端;
根据预设频率向客户端发送操作指令。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的游戏同步装置当获取到目标客户端的游戏加入消息时,由加入单元根据预设频率向其他客户端发送表现上报指令,表现上报指令可以用于通知其他客户端上报视觉表现对象;由客户端获取单元获取其他客户端的视觉表现对象和操作指令;由发送单元根据预设频率将操作指令和视觉表现对象发送给目标客户端,以便目标客户端与其他客户端的游戏同步。
由此,本发明实施例可以提升游戏同步方法的效率。
本发明实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。
在一些实施例中,该游戏同步装置还可以集成在多个电子设备中,比如,游戏同步装置可以集成在多个服务器中,由多个服务器来实现本发明的游戏同步方法。
在本实施例中,将以本实施例的电子设备是终端、服务器为例进行详细描述,比如,如图6所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603、输入模块604以及通信模块605等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。在一些实施例中,处理器601可包括一个或多个处理核心;在一些实施例中,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
电子设备还包括给各个部件供电的电源603,在一些实施例中,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入模块604,该输入模块604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该电子设备还可包括通信模块605,在一些实施例中通信模块605可以包括无线模块,电子设备可以通过该通信模块605的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块605可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。
具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能。
例如,在一些实施例中,电子设备可以为终端,该终端中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
构建初始游戏场景,初始游戏场景至少由逻辑数据和视觉表现对象构成;
从服务器获取其他客户端的操作指令和视觉表现对象;
根据操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;
基于同步后逻辑数据,在初始游戏场景中实例化视觉表现对象,得到同步后场景表现数据;
根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
例如,在一些实施例中,电子设备可以为服务器,该服务器中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
当获取到目标客户端的游戏加入消息时,根据预设频率向其他客户端发送表现上报指令,表现上报指令可以用于通知其他客户端上报视觉表现对象;
获取其他客户端的视觉表现对象和操作指令;
根据预设频率将操作指令和视觉表现对象发送给目标客户端,以便目标客户端与其他客户端的游戏同步。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本方案可以提升游戏同步方法的效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种游戏同步方法中的步骤。
例如,在一些实施例中,该指令可以执行如下步骤:
构建初始游戏场景,初始游戏场景至少由逻辑数据和视觉表现对象构成;
从服务器获取其他客户端的操作指令和视觉表现对象;
根据操作指令对初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;
基于同步后逻辑数据,在初始游戏场景中实例化视觉表现对象,得到同步后场景表现数据;
根据同步后逻辑数据和同步后场景表现数据渲染游戏画面,使得游戏画面中的游戏场景与其他客户端同步。
例如,在一些实施例中,该指令可以执行如下步骤:
当获取到目标客户端的游戏加入消息时,根据预设频率向其他客户端发送表现上报指令,表现上报指令可以用于通知其他客户端上报视觉表现对象;
获取其他客户端的视觉表现对象和操作指令;
根据预设频率将操作指令和视觉表现对象发送给目标客户端,以便目标客户端与其他客户端的游戏同步。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中提供的游戏同步方面或者游戏加载、游戏追帧方面的各种可选实现方式中提供的方法。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种游戏同步方法中的步骤,因此,可以实现本发明实施例所提供的任一种游戏同步方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种游戏同步方法、装置、终端、服务器和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种游戏同步方法,其特征在于,应用于客户端,包括:
构建初始游戏场景,所述初始游戏场景至少由逻辑数据和视觉表现对象构成;
从服务器获取其他客户端的操作指令和视觉表现对象;
根据所述其他客户端的操作指令对所述初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;
基于所述同步后逻辑数据,在所述初始游戏场景中实例化所述其他客户端的视觉表现对象,得到同步后场景表现数据;
根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面,使得所述游戏画面中的游戏场景与所述其他客户端同步。
2.如权利要求1所述的游戏同步方法,其特征在于,所述根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面之后,还包括:
获取用户针对所述游戏场景的操作指令;
将所述用户针对所述游戏场景的操作指令上报给服务器。
3.如权利要求2所述的游戏同步方法,其特征在于,还包括:
当从服务器获取到表现上报指令时,确定所述游戏场景中出现的视觉表现对象;
将所述游戏场景中出现的视觉表现对象上报给服务器。
4.如权利要求2所述的游戏同步方法,其特征在于,还包括:
当从服务器获取到所述其他客户端的操作指令时,根据所述其他客户端的操作指令更新所述游戏场景,得到更新后游戏场景;
根据所述更新后游戏场景渲染游戏画面,使得所述游戏画面中的游戏场景与所述其他客户端同步。
5.如权利要求1所述的游戏同步方法,其特征在于,所述根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面之前,还包括:
从服务器再次获取所述其他客户端的操作指令和视觉表现对象;
根据所述再次获取的其他客户端的操作指令对所述同步后逻辑数据进行更新,得到更新后逻辑数据;
基于所述更新后逻辑数据和所述再次获取的其他客户端的视觉表现对象对所述同步后场景表现数据进行更新,得到更新后场景表现数据;
所述根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面之后,还包括:
根据所述更新后逻辑数据和所述更新后场景表现数据再次渲染所述游戏画面,使得所述游戏画面中的游戏场景与所述其他客户端同步。
6.如权利要求1所述的游戏同步方法,其特征在于,所述构建初始游戏场景之前,还包括:
显示游戏加载界面;
所述根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面之后,还包括:
取消显示所述游戏加载界面;
显示所述游戏画面。
7.如权利要求1所述的游戏同步方法,其特征在于,所述从服务器获取所述其他客户端的操作指令和视觉表现对象,包括:
从服务器获取所述其他客户端的操作指令和对象更替信息,所述对象更替信息包括多个候选对象被所述其他客户端创建或消除的信息;
根据所述对象更替信息确定所述其他客户端的视觉表现对象,所述视觉表现对象为未被所述其他客户端消除的候选对象。
8.如权利要求7所述的游戏同步方法,其特征在于,所述基于所述同步后逻辑数据,在所述初始游戏场景中实例化所述其他客户端的视觉表现对象,得到同步后场景表现数据,还包括:
依次在所述对象更替信息的多个候选对象中确定一个目标候选对象;
基于所述同步后逻辑数据,在所述初始游戏场景中实例化所述目标候选对象,得到所述目标候选对象的同步后场景表现数据;
根据所述同步后逻辑数据和所述目标候选对象的同步后场景表现数据渲染游戏画面;
返回并执行步骤依次在所述对象更替信息的多个候选对象中确定一个目标候选对象,直至处理完所述对象更替信息中所有候选对象,使得所述游戏画面中的游戏场景与所述其他客户端同步。
9.一种游戏同步方法,其特征在于,应用于服务器,包括:
当获取到目标客户端的游戏加入消息时,根据预设频率向其他客户端发送表现上报指令,所述表现上报指令用于通知所述其他客户端上报所述其他客户端的视觉表现对象;
获取所述其他客户端的视觉表现对象和操作指令;
根据所述预设频率将所述其他客户端的操作指令和视觉表现对象发送给所述目标客户端,以便所述目标客户端与所述其他客户端的游戏同步。
10.如权利要求9所述的游戏同步方法,其特征在于,所述根据预设频率将所述其他客户端的操作指令和视觉表现对象发送给所述目标客户端之后,还包括:
当获取到所述目标客户端的操作指令时,拒绝根据所述预设频率向所述其他客户端发送表现上报指令;
获取客户端的操作指令,所述客户端包括所述目标客户端和所述其他客户端;
根据所述预设频率向客户端发送所述操作指令。
11.一种游戏同步装置,其特征在于,应用于客户端,包括:
初始单元,用于构建初始游戏场景,所述初始游戏场景至少由逻辑数据和视觉表现对象构成;
服务器获取单元,用于从服务器获取其他客户端的操作指令和视觉表现对象;
逻辑单元,用于根据所述其他客户端的操作指令对所述初始游戏场景的逻辑数据进行同步处理,得到同步后逻辑数据;
表现单元,用于基于所述同步后逻辑数据,在所述初始游戏场景中实例化所述其他客户端的视觉表现对象,得到同步后场景表现数据;
画面单元,用于根据所述同步后逻辑数据和所述同步后场景表现数据渲染游戏画面,使得所述游戏画面中的游戏场景与所述其他客户端同步。
12.一种游戏同步装置,其特征在于,应用于服务器,包括:
加入单元,用于当获取到目标客户端的游戏加入消息时,根据预设频率向其他客户端发送表现上报指令,所述表现上报指令用于通知所述其他客户端上报所述其他客户端的视觉表现对象;
客户端获取单元,用于获取所述其他客户端的视觉表现对象和操作指令;
发送单元,用于根据所述预设频率将所述其他客户端的操作指令和视觉表现对象发送给所述目标客户端,以便所述目标客户端与所述其他客户端的游戏同步。
13.一种终端,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~8任一项所述的游戏同步方法中的步骤。
14.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求9~10任一项所述的游戏同步方法中的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~10任一项所述的游戏同步方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350085.8A CN113521743A (zh) | 2020-11-26 | 2020-11-26 | 游戏同步方法、装置、终端、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350085.8A CN113521743A (zh) | 2020-11-26 | 2020-11-26 | 游戏同步方法、装置、终端、服务器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113521743A true CN113521743A (zh) | 2021-10-22 |
Family
ID=78124194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011350085.8A Pending CN113521743A (zh) | 2020-11-26 | 2020-11-26 | 游戏同步方法、装置、终端、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113521743A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797513A (zh) * | 2023-02-01 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及程序产品 |
WO2023173816A1 (zh) * | 2022-03-15 | 2023-09-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备、存储介质和程序产品 |
WO2023246250A1 (zh) * | 2022-06-24 | 2023-12-28 | 腾讯科技(深圳)有限公司 | 虚拟场景的同步方法、虚拟场景的显示方法、装置及设备 |
-
2020
- 2020-11-26 CN CN202011350085.8A patent/CN113521743A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023173816A1 (zh) * | 2022-03-15 | 2023-09-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备、存储介质和程序产品 |
WO2023246250A1 (zh) * | 2022-06-24 | 2023-12-28 | 腾讯科技(深圳)有限公司 | 虚拟场景的同步方法、虚拟场景的显示方法、装置及设备 |
CN115797513A (zh) * | 2023-02-01 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及程序产品 |
WO2024159843A1 (zh) * | 2023-02-01 | 2024-08-08 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6310073B2 (ja) | 描画システム、制御方法、及び記憶媒体 | |
CN108619720B (zh) | 动画的播放方法和装置、存储介质、电子装置 | |
CN113521743A (zh) | 游戏同步方法、装置、终端、服务器和存储介质 | |
CN102968549B (zh) | 基于智能移动终端设备的多人在线交互方法与系统 | |
JP5987060B2 (ja) | ゲームシステム、ゲーム装置、制御方法、プログラム及び記録媒体 | |
JP6232423B2 (ja) | 情報処理装置、描画装置、方法及びプログラム | |
US9751011B2 (en) | Systems and methods for a unified game experience in a multiplayer game | |
US11666830B2 (en) | Local game execution for spectating and spectator game play | |
CN113209632B (zh) | 一种云游戏的处理方法、装置、设备及存储介质 | |
JP6379107B2 (ja) | 情報処理装置並びにその制御方法、及びプログラム | |
JP2016526929A (ja) | 情報処理装置、制御方法及びプログラム | |
WO2022267701A1 (zh) | 虚拟对象的控制方法、装置、设备、系统及可读存储介质 | |
CN113350782A (zh) | 处理网络游戏异常的方法、装置、存储介质及计算机设备 | |
CN113398582B (zh) | 游戏的战斗画面展示方法、装置、计算机设备及存储介质 | |
US20240004529A1 (en) | Metaverse event sequencing | |
CN113244609A (zh) | 多画面的显示方法和装置、存储介质及电子设备 | |
WO2024124670A1 (zh) | 视频播放方法、装置、计算机设备及计算机可读存储介质 | |
WO2019213879A1 (zh) | 输出内容处理方法、输出方法、电子设备及存储介质 | |
CN116109737A (zh) | 动画生成方法、装置、计算机设备及计算机可读存储介质 | |
CN115888101A (zh) | 虚拟角色的状态切换方法、装置、存储介质及电子设备 | |
CN113132808B (zh) | 视频生成方法、装置及计算机可读存储介质 | |
WO2023246250A1 (zh) | 虚拟场景的同步方法、虚拟场景的显示方法、装置及设备 | |
CN113546413A (zh) | 播放开场镜头的方法、装置、计算机可读存储介质及计算机设备 | |
CN118436996A (zh) | 云游戏挂机方法、装置、设备及存储介质 | |
CN115686416A (zh) | 一种画面展示方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40053502 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |