CN116637369A - 游戏处理方法、装置及电子设备 - Google Patents
游戏处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116637369A CN116637369A CN202310639351.6A CN202310639351A CN116637369A CN 116637369 A CN116637369 A CN 116637369A CN 202310639351 A CN202310639351 A CN 202310639351A CN 116637369 A CN116637369 A CN 116637369A
- Authority
- CN
- China
- Prior art keywords
- scene
- character
- virtual
- game
- image
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 224
- 230000008859 change Effects 0.000 claims abstract description 216
- 230000008569 process Effects 0.000 claims abstract description 197
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000003993 interaction Effects 0.000 claims description 68
- 230000001360 synchronised effect Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 description 23
- 230000009183 running Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 7
- 239000008280 blood Substances 0.000 description 6
- 210000004369 blood Anatomy 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 210000005155 neural progenitor cell Anatomy 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000011112 process operation Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036544 posture Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009184 walking Effects 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 1
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/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
- 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/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
-
- 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/55—Controlling game characters or game objects based on the game progress
-
- 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/30—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 characterized by output arrangements for receiving control signals generated by the game device
- A63F2300/308—Details of the user interface
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种游戏处理方法、装置、电子设备及计算机可读存储介质,该方法包括:构建游戏场景对应的场景镜像,每个场景镜像分别通过不同的游戏进程运行;在每个场景镜像中分配虚拟角色;根据第一虚拟角色的角色元数据在场景镜像中除第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建第一虚拟角色对应的第一角色镜像;响应于第一虚拟角色在第一场景镜像中发生状态变更,通过第一场景镜像对应的游戏进程对应的变更数据,并基于变更数据控制第二场景镜像中的第一角色镜像进行对应的状态变更。本方案能够提高一个游戏场景中所能够承载的虚拟角色数量,从而使得游戏中能够处理更多的数据。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种游戏处理方法、装置、电子设备及计算机可读存储介质。
背景技术
多人在线类游戏是常见的一种虚拟游戏,例如多人对战游戏、多人角色扮演游戏等。在多人游戏中,一个游戏场景可能包含多个用户所操作的多个虚拟角色,当每个虚拟角色在游戏中进行游戏任务时,所对应的游戏数据可能会发生变更。例如,虚拟角色A攻击虚拟角色B,则虚拟角色A在游戏场景中的位置可能会发生变化。当一个游戏场景中的某个虚拟角色在游戏中的游戏数据发生了变化,则需要将这一变化同步给操作该游戏场景中的其他虚拟角色的用户。
在实际应用中,由于游戏场景是基于后台服务器进行运行的,因此一个游戏场景中进行的数据处理是通过后台服务器进行的,而目前服务器的计算能力具有上限,因此一个游戏场景中所能够进行的数据处理也具有上限,也即,一个游戏场景中所能够承载的虚拟角色数量具有上限。
然而,游戏场景中的虚拟角色数量越多,游戏的可玩性也越高,对用户的吸引力也越大。在面对大量的用户需要在同一个游戏场景中进行游戏时,游戏中将会进行大量的数据处理,可能会导致游戏出现卡顿或者游戏无法进行。使得游戏中的数据处理能力极低,而游戏中高效的数据处理不论是对于用户还是对于游戏开发平台均具有举重轻重的作用。
发明内容
本申请提供了一种游戏处理方法、装置、电子设备及计算机可读存储介质,能够提高一个游戏场景中所能够承载的虚拟角色数量,从而使得游戏中能够处理更多的数据。具体方案如下:
第一方面,本申请实施例提供了一种游戏处理方法,所述方法包括:
构建游戏场景对应的场景镜像,每个所述场景镜像分别通过不同的游戏进程运行;
在每个所述场景镜像中分配虚拟角色;
根据第一虚拟角色的角色元数据,在所述场景镜像中除所述第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建所述第一虚拟角色对应的第一角色镜像;
响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
第二方面,本申请实施例提供了一种游戏处理装置,所述装置包括:
构建单元,用于构建游戏场景对应的场景镜像,每个所述场景镜像分别通过不同的游戏进程运行;
分配单元,用于在每个所述场景镜像中分配虚拟角色;
创建单元,用于根据第一虚拟角色的角色元数据,在所述场景镜像中除所述第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建所述第一虚拟角色对应的第一角色镜像;
同步单元,用于响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
第三方面,本申请还提供了一种电子设备,包括:
处理器;以及
存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如第一方面所述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,存储有数据处理程序,该程序被处理器运行,执行如第一方面所述的方法。
与现有技术相比,本申请具有以下优点:
本申请提供的游戏处理方法,构建游戏场景对应的场景镜像,每个所述场景镜像分别通过不同的游戏进程运行;在每个场景镜像中分配虚拟角色;根据第一虚拟角色的角色元数据,在所述场景镜像中除所述第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建所述第一虚拟角色对应的第一角色镜像;响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
可见,本申请中通过不同的游戏进程运行同一游戏场景的各场景镜像,在每个场景镜像中分配该游戏场景中的虚拟角色,并在没有分配到该虚拟角色的场景镜像中创建该虚拟角色的角色镜像,这样,一个虚拟角色在某一个场景镜像中为实体,在其他场景镜像中为角色镜像,因此一个场景镜像中所显示的部分“虚拟角色”为实体,部分“虚拟角色”为实体对应的镜像,这样,一个虚拟角色在游戏场景中发生的状态变更由所在场景镜像对应的游戏进程来进行数据计算,因此,一个游戏场景中的数据计算被分摊在了运行该游戏场景对应的多个场景镜像的多个游戏进程中,由于多个游戏进程分摊了同一个游戏场景中的计算量,因此,本申请提供的游戏处理方法中一个游戏场景可以承载更多的数据计算压力,进而有效提高一个游戏场景中所能够容纳的虚拟角色数量。
并且,本申请中根据一个场景镜像中虚拟角色实体发生的状态变更来控制其他场景镜像中角色镜像同步这一状态变更,可以使得同一游戏场景的多个场景镜像中同一角色发生的变更保持实时一致,保证了用户在终端设备上的游戏体验。因此,本申请提供的游戏处理方法在不影响用户游戏观感的情况下,能够提高一个游戏场景中所能够承载的虚拟角色数量,从而使得游戏中能够处理更多的数据,提高了数据交互的效率。
附图说明
图1是本申请实施例提供的游戏处理方法的场景架构图;
图2是本申请实施例提供的游戏处理方法中同一游戏场景的客户端界面图;
图3是本申请实施例提供的游戏处理方法的流程图;
图4是本申请实施例提供的第一游戏进程和第二游戏进程交互示例图;
图5是本申请实施例提供的游戏处理装置的一例的结构框图;
图6是本申请实施例提供的电子设备的一例的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
需要说明的是,本申请的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本申请的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在基于虚拟环境的应用程序中,如多人对战类游戏、多人角色扮演类游戏等游戏类应用程序中,游戏场景中一个虚拟角色对应的游戏数据发生变化,则需要将该虚拟角色发生变化后的游戏数据同步给游戏场景中的其他虚拟角色。当游戏场景中有n个虚拟角色时,游戏场景中所产生的消息数量可能有n*n条,基于背景技术中的描述可知,一个游戏场景中所能够进行的数据处理具有上限。以目前服务器的计算能力,一个游戏场景中最多可容纳150人进行游戏。当面临大量用户需要同时进行游戏的需求时,相关技术中显然无法实现,导致游戏中所能够承载的数据计算量较低,而游戏中是否能够进行大量的数据计算不论是对于用户还是对于游戏开发平台均具有举重轻重的作用。
基于上述原因,为了提高一个游戏场景中所能够承载的虚拟角色数量,从而使得游戏中能够处理更多的数据,本申请第一实施例提供了一种游戏处理方法,该方法应用于电子设备,该电子设备可以是台式电脑、笔记本电脑、手机、平板电脑、服务器、终端设备等,也可以是其他能够执行游戏处理方法的电子设备,本申请实施例不具体限定。
在介绍本申请实施例提供的游戏处理方法之前,以下先结合图1和图2介绍本申请实施例提供的游戏处理方法的场景架构以及本申请实施例提供的游戏处理方法中同一游戏场景的客户端界面。
如图1所示,是本申请实施例提供的游戏处理方法的场景架构,包括多个终端101,至少一个服务器102,终端101和服务器102之间通过网络连接。终端101包括但不限于台式电脑、笔记本电脑、手机、平板电脑、服务器等,服务器102可以是为客户端提供计算、存储等功能的服务器等设备,网络可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等,服务器102中可以为游戏中所产生的数据或者日志提供数据存储。当场景架构中包括多个终端、多个服务器、多个网络时,不同的终端和不同的服务器可以通过不同的网络相互连接。
其中,终端101是具有计算硬件的任何设备,该计算硬件能够支持和执行与游戏对应的软件应用产品。游戏软件应用产品可以是多人在线战术竞技游戏(MultiplayerOnline Battle Arena Games,简称MOBA)、多人在线角色扮演游戏(Multiplayer OnlineRole-Playing Game,简称MMORPG)应用程序中的任意一种。上述游戏的类型可以包括但不限于以下至少之一:二维(Two Dimension,二维)游戏应用、三维(Three Dimension,三维)游戏应用、虚拟现实(Virtual Reality,VR)游戏应用、增强现实(Augmented Reality,AR)游戏应用、混合现实(Mixed Reality,MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。
将多个终端101中的一个终端称为第一终端,第一终端可以是某一用户使用的终端,该用户使用第一终端操作位于虚拟游戏场景中的虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、跑步、跳跃、驾驶、拾取、射击、攻击、投掷、移动、疾跑、防御中的至少一种。另外,终端可以具有用于感测和获得用户通过在一个或者多个触控显示屏的多个点执行的触摸或者滑动操作的输入的一个或者多个多触敏屏幕,终端还可以与键盘和/或鼠标和/或游戏手柄等相连接,使得用户能够通过键盘和/或鼠标和/或游戏手柄进行界面操作。另外,不同的终端之间也可以使用自身的蓝牙网络或者热点网络连接到其他终端或者连接到服务器等。
服务器102中可以包括第一游戏进程、第二游戏进程、第三游戏进程、……第n游戏进程,其中各游戏进程可以在一个物理机上,也可以在不同的物理机上。当各游戏进程在同一个物理机上时,游戏进程的数量最多不超过该物理机对应的CPU内核数量。当各游戏进程属于不同的物理机时,游戏进程的数量不作限制。其中,各游戏进程之间通过网络相互连接,通过远程过程调用协议进行通信(Remote Procedure Call,简称RPC)。
RPC一种进程间通信方式,允许像调用本地服务一样调用远程服务。RPC将角色数据变化的调用方式进行了统一,规范为每次数据变化都是一个函数调用,可以通过封装的协议来同步更新角色实体和角色镜像。例如,游戏进程1中调用函数A来改变角色B的能量值,则在游戏进程1调用函数A时,游戏进程1可以通过RPC告诉游戏进程2角色B对应的角色镜像也调用函数A来改变角色B对应的角色镜像的能量值,这样,各用户在各游戏进程所运行的场景中所看到的“角色B”的变化是相同的。
如图2所示,是本申请实施例提供的游戏处理方法中同一游戏场景的客户端界面。图2包括显示同一游戏场景的第一客户端、……第n客户端,其中,第一客户端到第n客户端中显示的是针对该游戏场景的不同场景镜像。在第一客户端显示的第一场景镜像中,第一客户端的持有用户操作的第一虚拟角色201为第一虚拟角色实体,第一场景镜像中显示的“第二虚拟角色”为第二虚拟角色对应的第二角色镜像202;在第n客户端显示的第n场景镜像中,第n客户端的持有用户操作的第二虚拟角色204为第二虚拟角色实体,第n场景镜像中显示的“第一虚拟角色”为第一虚拟角色对应的第一角色镜像203。其中,角色镜像和虚拟角色实体的信息保持同步,由图2可以看出,第一客户端和第n客户端页面的展示信息完全一致。
下面,结合图3,对本申请实施例提供的游戏处理方法进行详细说明,图3为本申请实施例提供的游戏处理方法的流程图。
如图3所示,本申请提供的游戏处理方法包括以下步骤301~步骤304。
步骤301:构建游戏场景对应的场景镜像,每个场景镜像分别通过不同的游戏进程运行。
其中,游戏场景是指虚拟游戏中用户操作的虚拟角色、非玩家角色(non-playercharacter,简称NPC)等游戏对象所处的游戏环境,NPC是指游戏中不受玩家操纵的游戏角色,能够引领用户进行游戏、并与用户操作的虚拟角色进行互动。游戏场景是由游戏开发人员构建设计的虚拟场景,而非真实场景。虚拟角色指现实中不存在的角色,可以是电视剧、电影、漫画、游戏中的至少一个创作性作品中虚构的角色,虚拟角色可以包括但不限于虚拟人物、虚拟动物等。
游戏场景对应的场景镜像是指与该游戏场景完全相同的一个副本。镜像(Mirroring)是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。镜像是一种文件存储形式,可以把许多文件做成一个镜像文件,与GHOST(General Hardware Oriented System Transfer,中文名称:通用硬件导向系统转移)等程序放在一个磁盘里,该镜像文件用GHOST等软件打开后,又可以恢复成许多文件。步骤301中可以针对一个游戏场景构建多个场景镜像,一个游戏场景对应的多个场景镜像完全相同。
在一种可选的实施方式中,步骤S301中可以通过游戏场景的场景信息构建游戏场景对应的场景镜像。
游戏场景中通常包括多个场景元素,场景元素是指构成该游戏场景所需的各个元素。例如可以包括但不限于以下至少一种:山、川、湖、海、花、草、树、森林、房屋、天空等。本步骤中的场景信息可以理解为游戏场景中所包含的多个场景元素对应的信息,也即,游戏开发人员在构建设计游戏场景时所生成的场景元数据。
需要说明的是,构建场景镜像所需要的场景信息是指游戏场景在初始显示时包含的场景元素的信息,在虚拟游戏中,还存在一些在游戏进行过程中的某一时刻出现在游戏场景中的场景元素,该类场景元素并非在创建游戏场景时就创建在游戏场景内,因此,步骤301中具体可以根据游戏场景中初始包含的场景元素的信息构建游戏场景的场景镜像。
在实际应用中,一个虚拟游戏中将会面临不同的游戏场景,若在一个大游戏进程内将虚拟游戏中的所有游戏场景加载完成将会耗费巨大的成本,因此,通常情况下,一个游戏场景对应一个游戏进程,在加载某一个游戏场景时加载对应的游戏进程即可。这样,可以降低一个游戏进程所占用的内存和CPU(Central Processing Unit,中央处理器)处理数据的压力。通常情况下,游戏服务器是单线程架构,因此一个游戏场景对应的进程为单进程单线程架构。以下对进程和线程进行解释:进程是指一个在内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程可以有多个线程;线程是进程中的一个执行任务(控制单元),负责当前进程中程序的执行。
步骤301中针对一个游戏场景构建的多个场景镜像运行在多个游戏进程上,每一个场景镜像通过一个游戏进程来运行。每一个进程通过一个CPU内核来处理,这样,步骤301中多个游戏进程通过多个CPU内核来运行多个场景镜像,针对同一个游戏场景的多个游戏进程和多个场景镜像在初始状态时完全相同。
通过这一步骤,为游戏场景构建了多个场景镜像,每一个场景镜像通过一个游戏进程来运行,这样,每一个场景镜像中的数据通过一个CPU内核来处理。这样,通过多个CPU内核来处理一个游戏场景对应的多个场景镜像中的数据。这样,本申请中一个游戏场景对应的每一个场景镜像中能够承载的虚拟角色的最大数量与单进程运行一个游戏场景的情况下一个游戏场景中的能够承载的虚拟角色的最大数量相同,因此,本申请中在一个游戏场景对应多个场景镜像的情况下,可以有效提高一个游戏场景中能够容纳的虚拟角色的最大数量。
例如,单进程运行一个游戏场景最多可以容纳150个虚拟角色同时进行游戏,当一个游戏场景对应有10个场景镜像时,则一个游戏场景中理论上最多可以容纳1500个虚拟角色同时进行游戏。由于游戏场景对应的场景镜像的数量并没有数目上的限制,因此,理论上本申请所提供的方案中一个游戏场景中虚拟角色的数量并不作限制。
步骤302:在每个场景镜像中分配虚拟角色。
本申请中的虚拟游戏为多人游戏,因此在初始进入游戏时,游戏场景对应有多个虚拟角色,多个虚拟角色中可以包括由真实用户控制的虚拟角色,还可以包括非玩家角色。本申请实施例中可以将多个虚拟角色平均分配到多个场景镜像中,也可以随机在每个场景镜像中分配虚拟角色,以保证每个场景镜像中均能分配到至少一个虚拟角色。本申请对每个场景镜像中所分配的虚拟角色的数量并不具体限定。
例如,进入游戏场景的虚拟角色有300个,场景镜像有6个,可以在每个场景镜像中分配50个虚拟角色,也可以在6个场景镜像中随机选取3个场景镜像并为该3个场景镜像中的每个场景镜像分配60个虚拟角色,为另外3个场景镜像中的每个场景镜像分配40个虚拟角色。可以理解的,一个虚拟角色分配一个场景镜像,但一个场景镜像中可能会分配多个虚拟角色。
需要说明的是,由于一个场景镜像中的数据处理是通过一个CPU内核来运行的,而一个CPU内核能够处理的数据量具有上限,因此一个场景镜像中所能够承载的虚拟角色数量具有预设上限数量,在为每个场景镜像分配虚拟角色时,每个场景镜像中分配的虚拟角色的总数量不超过预设上限数量。
在实际应用中,可以在虚拟角色初始进入游戏场景时在每个场景镜像中分配虚拟角色,具体的,可以在响应于虚拟角色进入游戏场景触发指令时在每个场景镜像中分配虚拟角色。虚拟角色进入游戏场景触发的指令可以是检测到虚拟角色进入该游戏场景时自动触发,也可以由操作虚拟角色的用户在所持有终端的图形用户界面中点击相应控件来触发。进而为该游戏场景对应的每个场景镜像分配至少一个虚拟角色。
本步骤中虚拟角色为场景镜像对应的游戏场景中所包含的虚拟角色,每个虚拟角色在游戏场景中的游戏行为可以通过对应的场景镜像所对应的游戏进程来实现。具体的,响应于针对虚拟角色的游戏行为指令,在虚拟角色对应的场景镜像所对应的游戏进程中执行该游戏行为指令对应的游戏逻辑,并通过场景镜像所对应的游戏进程将执行结果发送给与该游戏进程进行通信的终端设备,通过该终端设备调用该执行结果对应的渲染逻辑呈现虚拟角色进行该游戏行为的界面。
例如,为场景镜像1分配了虚拟角色1,则针对虚拟角色1在游戏场景中的移动指令,可以在场景镜像1对应的游戏进程中执行移动逻辑,并将执行结果发送到与场景镜像1对应的游戏进程进行通信的终端设备上,通过调用该终端设备的渲染逻辑来呈现虚拟角色1在游戏场景中进行移动的界面。
在具体实施方式中,游戏中的各虚拟角色可以在对应的用户操作下在游戏中进行游戏行为,所进行的游戏行为可以是某一个虚拟角色自身进行的游戏行为,也多个虚拟角色之间进行的游戏交互行为,例如可以包括但不限于:调整身体姿态、爬行、步行、跑步、跳跃、驾驶、拾取、射击、攻击、投掷、移动、疾跑、防御中的至少一种。
需要说明的是,由于每个场景镜像分别通过不同的游戏进程运行,因此各用户所持有终端对应的图形用户界面所显示的游戏场景为基于该用户操作的虚拟角色的实体所在的场景镜像对应的游戏进程运行显示的。当同一游戏场景中两个虚拟角色的实体在该游戏场景对应的不同场景镜像中时,操作两个虚拟角色的用户终端上显示的游戏场景实质上是基于不同游戏进程显示的同一游戏场景的不同场景镜像。
例如,场景镜像A中分配到了虚拟角色A,则该场景镜像A中显示的该虚拟角色A为该虚拟角色A的实体,在这种情况下,操作该虚拟角色A的用户所持有终端的图形用户界面所显示的游戏场景为基于该场景镜像A对应的游戏进程运行显示的。当另一个虚拟角色B分配的场景镜像B为与虚拟角色A所分配的场景镜像A不同的场景镜像时,则虚拟角色B的实体所在的场景镜像与虚拟角色A的实体所在的场景镜像不同,在这种情况下,操作虚拟角色B的用户所持有的终端的图形用户界面所显示的该游戏场景为基于虚拟角色B的实体所在的场景镜像B对应的游戏进程运行显示的。
通过这一步骤,将游戏场景中的虚拟角色分摊到该游戏场景对应的多个场景镜像中,使得每一个场景镜像中的虚拟角色数量少于游戏场景中的虚拟角色总数量,进而减轻了每一个场景镜像中数据处理的压力。并且,每一个场景镜像中的数据处理由一个CPU内核执行,这样,一个游戏场景可以理解为由多个CPU内核通过多个场景镜像进行数据处理,与一个CPU内核进行一个游戏场景中的数据计算相比,多个CPU内核进行同一游戏场景中的数据计算无疑可以承载更多的数据计算压力。
步骤303:根据第一虚拟角色的角色元数据,在场景镜像中除第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建第一虚拟角色对应的第一角色镜像。
本步骤用于在未分配到某一个虚拟角色的场景镜像中创建该虚拟角色对应的角色镜像,目的在于保证同一游戏场景对应的多个场景镜像中的场景元素是相同的。本步骤中第一虚拟角色为步骤302中多个虚拟角色中的任意一个。
可以理解的,第二场景镜像与第一场景镜像为同一游戏场景对应的包含不同虚拟角色实体的场景镜像,为了使用户在所持有终端的图形用户界面上显示的游戏场景保持一致,则需要在不包含某一个虚拟角色实体的场景镜像上创建该虚拟角色对应的角色镜像,某一个虚拟角色在其他场景镜像中的角色镜像可以理解为该虚拟角色在其他场景镜像中的“分身”,该虚拟角色以“分身”的形式显示在不包含该虚拟角色实体的场景镜像上。
在具体实施方式中,一个游戏场景的某一个场景镜像中包含某一个虚拟角色实体时,则该游戏场景的其他场景镜像中显示的为该虚拟角色的角色镜像。在本申请中,一个场景镜像中包含虚拟角色可以理解为一个场景镜像中包含该虚拟角色实体。
具体的,可以根据第一场景镜像中第一虚拟角色的角色元数据在第二场景镜像中创建第一虚拟角色对应的第一角色镜像,第一虚拟角色的角色元数据可以理解为包含第一虚拟角色的角色属性信息的数据,如角色形状信息、角色颜色信息等,这样根据第一虚拟角色的角色元数据可以创建一个和第一虚拟角色一模一样的角色镜像。
需要说明的是,第二场景镜像中的第一角色镜像可以理解为“提线木偶”,不会在游戏中主动进行任何游戏行为,也不会对第一角色镜像统计任何的游戏数据,第一角色镜像在第二场景镜像中的行为由第一虚拟角色在第一场景镜像中的行为来操控。
通过这一步骤,在不包含某一个虚拟角色实体的场景镜像中创建了该虚拟角色对应的角色镜像,使得同一游戏场景对应的多个场景镜像中所包含的场景元素保持同步,并且针对同一虚拟角色显示的角色镜像和虚拟角色实体在观感上完全相同。
步骤304:响应于第一虚拟角色在第一场景镜像中发生状态变更,通过第一场景镜像对应的游戏进程计算状态变更对应的变更数据,并基于变更数据控制所述第二场景镜像中的第一角色镜像进行对应的状态变更。
由于游戏场景中虚拟角色在游戏中可能会执行游戏任务,因此,游戏场景为一个动态的随着时间发生变化的场景。为了使得各用户所持有终端的图形用户界面针对同一游戏场景显示相同的游戏界面,在场景镜像动态的发生变化的过程中,同一个游戏场景对应的多个场景镜像可以保持同步。例如,当操作第一虚拟角色的用户在第一场景镜像中将第一虚拟角色从位置A移动到位置B时,则对应的第二场景镜像中的第一角色镜像在第二场景镜像中所处的位置也由位置A变更到位置B。也即,不包含虚拟角色实体的场景镜像中该虚拟角色对应的角色镜像跟随包含该虚拟角色实体的场景镜像中该虚拟角色的变化而进行相应的变化。
因此,在第一虚拟角色在游戏中发生了状态变更时,需要通过第一场景镜像对应的游戏进程计算第一虚拟角色发生的状态变更对应的变更数据,并基于第一场景镜像对应的游戏进程所计算的变更数据对其他场景镜像所对应的游戏进程中该虚拟角色对应的角色镜像的数据进行同步,这样,运行虚拟角色实体对应的游戏进程的终端的持有用户和运行角色镜像对应的游戏进程的终端的持有用户在各自的终端上看到的虚拟角色实体和角色镜像的展示效果相同。
本步骤中的状态变更可以包括以下至少一种:虚拟角色的位置变更、虚拟角色的经验值变更、虚拟角色的血量变更、虚拟角色道具背包中的道具变更等。通常情况下,用户操作虚拟角色在游戏场景中进行游戏行为会引起虚拟角色发生状态变更,例如,虚拟角色A在游戏场景中从位置B移动到了位置C,则虚拟角色A的位置发生了变更。相应的,变更数据可以包括以下至少一种:虚拟角色的位置变更数据、虚拟角色的经验值变更数据、虚拟角色的血量变更数据、虚拟角色道具背包中的道具变更数据等。
本步骤中可以实时检测第一虚拟角色在第一场景镜像中是否发生状态变更,当检测到第一虚拟角色在第一场景镜像中发生状态变更时,实时通过第一场景镜像对应的游戏进程计算该状态变更对应的变更数据,变更数据可以为变更后数据,也可以为变更后数据和变更前数据的差值。本申请对此不具体限定。
并且,实时基于变更数据控制第二场景镜像中的第一角色镜像进行对应的状态变更,这样,可以在第一虚拟角色发生了某一状态变更时,实时将第二场景镜像中的第一角色镜像进行与第一场景镜像中的第一虚拟角色相同的状态变更,使得第一角色镜像的动作与第一虚拟角色的动作保持实时同步。
当变更数据为变更后数据时,基于变更数据对第二场景镜像中的第一角色镜像进行对应的状态变更,具体为:将第二场景镜像中的第一角色镜像的状态数据变更为变更数据。当第一变更数据为变更前数据和变更后数据的差值时,基于变更数据对第二场景镜像中的第一角色镜像进行对应的状态变更,具体为:将第二场景镜像中的第一角色镜像的状态数据和变更数据之和确定为第二场景镜像中的第一角色镜像的变更后状态数据,并将第一角色镜像的状态数据变更为变更后状态数据。
例如,当操作虚拟角色A的用户在第一场景镜像中操作虚拟角色A从位置B移动到位置C时,第二场景镜像中的虚拟角色A对应的角色镜像也将从位置B移动到位置C,这样,在所持有终端上显示的游戏场景为第二场景镜像的用户也可以看到虚拟角色A对应的角色镜像从位置B移动到了位置C。因此,一个用户在所持有终端上操作对应的虚拟角色实体进行游戏行为从而发生了状态变更时,在其他用户所持有的终端上显示的该“虚拟角色”(实质上为该虚拟角色对应的角色镜像)均进行相同的游戏行为并发生相同的状态变更。
这样,在第一虚拟角色实体的状态发生变更时,实时变更其他场景镜像中第一虚拟角色对应的第一角色镜像的状态,使得多个场景镜像中同一虚拟角色的状态保持同步,另外,还使得各用户在所持有终端上针对同一游戏场景显示的不同场景镜像在同一时刻所包含的信息相同。
例如,一个游戏场景对应有场景镜像1和场景镜像2,玩家甲和玩家丙的技能释放、数据改变、状态改变等数据计算在场景镜像1对应的游戏进程A中执行,玩家乙和玩家丁的数据计算在场景镜像2对应的游戏进程B中执行,这样,游戏戏场景中原本100%的计算量,被分摊到了游戏进程A和游戏进程B,游戏进程A和游戏进程B各承担了50%的计算量。
需要说明的是,由于多个游戏进程分摊了计算量,理论上2个游戏进程可以承载的玩家数量是之前一个游戏进程运行一个游戏场景的2倍,3个游戏进程可以承载的玩家数量是之前一个游戏进程运行一个游戏场景的3倍,然而,由于多个游戏进程之间同步数据需要进行额外的数据计算,因此,实际应用中每增加一个游戏进程,一个游戏场景中可以承载的玩家数量小于理论上成倍增长的数量,具体与游戏场景中数据同步所需要的数据计算量相关。
本申请提供的游戏处理方法,构建游戏场景对应的场景镜像,每个场景镜像分别通过不同的游戏进程运行;在每个场景镜像中分配虚拟角色;根据第一虚拟角色的角色元数据,在场景镜像中除第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建第一虚拟角色对应的第一角色镜像;响应于第一虚拟角色在第一场景镜像中发生状态变更,通过第一场景镜像对应的游戏进程计算状态变更对应的变更数据,并基于变更数据控制第二场景镜像中的第一角色镜像进行对应的状态变更。
可见,本申请中通过不同的游戏进程运行同一游戏场景的各场景镜像,在每个场景镜像中分配该游戏场景中的虚拟角色,并在没有分配到该虚拟角色的场景镜像中创建该虚拟角色的角色镜像,这样,一个虚拟角色在某一个场景镜像中为实体,在其他场景镜像中为角色镜像,因此一个场景镜像中所显示的部分“虚拟角色”为实体,部分“虚拟角色”为实体对应的镜像,这样,一个虚拟角色在游戏场景中发生的状态变更由所在场景镜像对应的游戏进程来进行数据计算,因此,一个游戏场景中的数据计算被分摊在了运行该游戏场景对应的多个场景镜像的多个游戏进程中,由于多个游戏进程分摊了同一个游戏场景中的计算量,因此,本申请提供的游戏处理方法中一个游戏场景可以承载更多的数据计算压力,因此,本申请中一个游戏场景中可以承载更多的数据计算,进而有效提高一个游戏场景中所能够容纳的虚拟角色数量。
并且,本申请中根据一个场景镜像中虚拟角色实体发生的状态变更来控制其他场景镜像中角色镜像同步这一状态变更,可以使得同一游戏场景的多个场景镜像中同一角色发生的变更保持实时一致,保证了用户在终端设备上的游戏体验。因此,本申请提供的游戏处理方法在不影响用户游戏观感的情况下,能够提高一个游戏场景中所能够承载的虚拟角色数量,从而使得游戏中能够处理更多的数据,提高了数据交互的效率。
在实际应用中,虚拟游戏中还会包括在游戏进行的过程中出现的NPC,这一类NPC在初始进入游戏场景时并不存在,因此,对于游戏进行过程中出现的NPC,需要为其分配场景镜像。
在具体实施方式中,可以将游戏进行的过程中出现的NPC随机放入该游戏场景对应的多个场景镜像中的一个场景镜像中,也可以通过以下可选的方式为游戏进行的过程中出现的NPC分配场景镜像。
可选的,本申请实施例提供的游戏处理方法还可以包括以下步骤:
在到达目标非玩家角色在游戏场景中出现的时刻时,从游戏场景中的各虚拟角色中确定当前所处位置与目标非玩家角色在游戏场景中的预设出现位置之间的距离最小的第二虚拟角色,目标非玩家角色为游戏进行的过程中出现在预设出现位置的角色;
将目标非玩家角色放置于第二虚拟角色所在的第三场景镜像中的预设出现位置;
根据目标非玩家角色的非玩家角色元数据,在场景镜像中除第三场景镜像外的其他场景镜像中创建目标非玩家角色对应的目标非玩家角色镜像。
由于虚拟角色可以与游戏中的NPC进行交互,例如虚拟角色攻击NPC以在游戏中获得经验值,再如虚拟角色给NPC送礼物等。在游戏中途出现NPC时,与之距离最近的虚拟角色可能会优先与之发生交互,因此,在游戏中途出现NPC时,可以将其放置于与该NPC距离最近的虚拟角色所处的场景镜像中,以使得与该NPC距离最近的虚拟角色可以在同一场景镜像中与该NPC进行交互。处于同一场景镜像中的虚拟角色和NPC之间的交互可以通过同一个游戏进程进行运行,使得游戏场景的数据交互响应更加及时,更为快捷高效。
之后,与在不包含第一虚拟角色的第二场景镜像中创建第一虚拟角色对应的第一角色镜像类似,可以在不包含目标非玩家角色的场景镜像中创建该目标非玩家角色对应的目标非玩家角色镜像,以保证同一游戏场景对应的各场景镜像中的信息保持同步。
可选的,当步骤304中的第一虚拟角色发生的状态变更是由第一虚拟角色和其他虚拟角色进行交互引起的时,步骤304具体可以通过以下步骤实现:
步骤304-1:响应于第一虚拟角色在第一场景镜像中与其他虚拟角色或者其他虚拟角色对应的角色镜像发生的交互,通过第一场景镜像对应的游戏进程计算交互过程中产生的交互数据。
步骤304-2:基于交互数据控制第二场景镜像中的第一角色镜像对其他虚拟角色和/或其他虚拟角色对应的角色镜像同步进行交互数据所指示的交互过程。
上述步骤用于根据第一场景镜像中第一虚拟角色与其他虚拟角色或其他虚拟角色对应的角色镜像之间发生的交互,来同步第二场景镜像中第一角色镜像与其他虚拟角色和/或其他虚拟角色对应的角色镜像之间发生的交互动作。
可以理解的,步骤304-1和步骤304-2中其他虚拟角色可以是由真实用户操作的虚拟角色,也可以是游戏场景中的NPC。在实际应用中,虚拟角色不仅可以和真实用户操作的虚拟角色发生交互,也可以和游戏中的NPC发生交互,以在游戏中获得游戏经验或者获得技能加成。
需要说明的是,第一场景镜像中所显示的“其他虚拟角色”可以是其他虚拟角色实体,也可以是其他虚拟角色对应的角色镜像,第二场景镜像可以为多个,多个第二场景镜像中所显示的“第一虚拟角色”为第一角色镜像,多个第二场景镜像中所显示的“其他虚拟角色”可能是其他虚拟角色实体,也可能是其他虚拟角色对应的角色镜像。
当第一场景镜像中显示的“其他虚拟角色”为其他虚拟角色实体时,第二场景镜像中显示的“其他虚拟角色”则为其他虚拟角色对应的角色镜像;当第一场景镜像中显示的“其他虚拟角色”为其他虚拟角色对应的角色镜像时,第二场景镜像中有一个场景镜像中显示的“其他虚拟角色”为其他虚拟角色实体,第二场景镜像中除该场景镜像外的场景镜像中显示的“其他虚拟角色”则为其他虚拟角色对应的角色镜像。
具体的,在第一场景镜像中第一虚拟角色与其他虚拟角色或其他虚拟角色对应的角色镜像发生交互时,可以通过第一场景镜像对应的游戏进程计算从交互开始到交互结束的交互过程中产生的每一个交互数据,每产生一个交互数据,根据该交互数据将第二场景镜像进行该交互数据指示的交互过程。这样,根据交互过程中产生的交互数据,可以指导第二场景镜像中的第一角色镜像对其他虚拟角色和/或其他虚拟角色对应的角色镜像实时同步进行第一场景镜像中第一虚拟角色与其他虚拟角色或者其他虚拟角色对应的角色镜像发生的交互,实时同步进行同一交互过程。
这样,在某一个场景镜像中的虚拟角色实体与其他虚拟角色实体或者其他虚拟角色实体对应的角色镜像发生交互时,可以通过第一场景镜像对应的游戏进程计算对应的交互数据,并在与该场景镜像属于同一游戏场景的其他场景镜像中同步这一交互过程,使得各客户端针对同一游戏场景显示相同的图形用户界面。
可选的,第一虚拟角色与其他虚拟角色或者其他虚拟角色对应的角色镜像之间发生的交互可以是第一虚拟角色对其他虚拟角色发起的攻击,也可以是第一虚拟角色被其他虚拟角色攻击,还可以是第一虚拟角色基于其他虚拟角色对第一虚拟角色发起攻击后进行的反击。
因此,在交互过程为第一虚拟角色在第一场景镜像中对其他虚拟角色或者其他虚拟角色对应的角色镜像发起主动攻击的情况下,步骤304-1中的“通过第一场景镜像对应的游戏进程计算交互过程中产生的交互数据”为通过第一场景镜像对应的游戏进程计算主动攻击的过程中产生的攻击数据。
相应的,步骤304-2可以按照以下步骤实现:基于攻击数据控制第二场景镜像中的第一角色镜像对其他虚拟角色和/或其他虚拟角色对应的角色镜像同步进行攻击数据所指示的主动攻击的过程。
其中,主动攻击包括以下至少一种:第一虚拟角色发起的攻击、第一虚拟角色基于受到的攻击进行的反击。
在交互过程为第一虚拟角色在第一场景镜像中被其他虚拟角色或者其他虚拟角色对应的角色镜像攻击的情况下,步骤304-1中的“通过第一场景镜像对应的游戏进程计算交互过程中产生的交互数据”为通过第一场景镜像对应的游戏进程计算被攻击过程中产生的被攻击数据。
相应的,步骤304-2可以按照以下步骤实现:基于被攻击数据控制第二场景镜像中的第一角色镜像被其他虚拟角色和/或其他虚拟角色对应的角色镜像同步进行被攻击数据所指示的被攻击过程。
以下通过第一虚拟角色对第二虚拟角色进行攻击,第二虚拟角色被攻击并基于受到的攻击进行反击,来对第一虚拟角色进行攻击、被攻击以及进行反击进行详细介绍。
本申请中可以具体通过以下步骤在第二场景镜像中对第一虚拟角色发起的攻击进行同步:响应于第一虚拟角色在第一场景镜像中对第二虚拟角色或第二虚拟角色的第二角色镜像发起攻击,通过第一场景镜像对应的游戏进程计算攻击数据;基于攻击数据控制第二场景镜像中的第一角色镜像对第二虚拟角色和/或第二虚拟角色对应的第二角色镜像进行攻击。
可以理解的,操作第一虚拟角色的用户可以在第一场景镜像中操作第一虚拟角色对所显示的“第二虚拟角色”发起攻击。此时,为了保证与第一场景镜像属于同一游戏场景的第二场景镜像与第一场景镜像保持一致,可以按照第一场景镜像中第一虚拟角色对“第二虚拟角色”发起攻击这一动作,控制第二场景镜像中的第一角色镜像也对第二场景镜像中所显示的“第二虚拟角色”进行相同的攻击动作。具体的,通过第一场景镜像对应的游戏进程计算第一场景镜像中第一虚拟角色对“第二虚拟角色”发起攻击时对应的攻击数据,在第二场景镜像对应的游戏进程中同步进行该攻击数据所指示的攻击。
攻击数据可以包括但不限于以下至少一种:第一虚拟角色发起攻击所使用的游戏技能、第一虚拟角色发起攻击所使用的游戏道具、第一虚拟角色发起攻击的位置变化、第一虚拟角色的经验值变化数据、第一虚拟角色的血量变化数据。其中,游戏技能用来辅助虚拟角色在虚拟游戏中执行游戏任务,游戏技能可以按照技能类型进行分类,包括但不限于攻击技能、防御技能、辅助技能,按照虚拟角色是否主动触发进行分类,可以包括主动技能和被动技能。游戏技能可以由操作虚拟角色的用户在图形用户界面中通过特定的手势操作或者触摸操作来触发。
这样,在某一个场景镜像中的虚拟角色实体对其他虚拟角色实体或者其他虚拟角色实体对应的角色镜像发起攻击时,可以在与该场景镜像属于同一游戏场景的其他场景镜像中同步这一攻击动作,使得各客户端针对同一游戏场景显示相同的图形用户界面。
由于第一虚拟角色对第二虚拟角色的攻击可能会使得第二虚拟角色的状态也发生变更,因此,本申请实施例提供的游戏处理方法可以通过以下步骤同步第二虚拟角色的状态变更:
响应于第四场景镜像中的第一虚拟角色或者第一角色镜像对第二虚拟角色进行攻击,通过第四场景镜像对应的游戏进程计算第二虚拟角色的变更数据;基于第二虚拟角色的变更数据,控制场景镜像中除第四场景镜像外的第五场景镜像中的第二角色镜像进行对应的状态变更。
其中,第四场景镜像为第二虚拟角色所分配的场景镜像,第五场景镜像中显示的“第二虚拟角色”为第二虚拟角色对应的角色镜像。
在本步骤中,当第四场景镜像中所显示的“第一虚拟角色”为第一虚拟角色实体时,第四场景镜像为第一场景镜像,当第四场景镜像中所显示的“第一虚拟角色”为第一虚拟角色对应的第一角色镜像时,第四场景镜像可以为第二场景镜像中的一个场景镜像。为了更好的理解本申请提供的游戏处理方法,在以下步骤中,以第一虚拟角色和第二虚拟角色被分配在不同的场景镜像中进行说明,并非用于限定本申请。
在具体实施方式中,基于第一场景镜像中的第一虚拟角色对第二角色镜像进行的攻击,第四场景镜像中第一虚拟角色对应的第一角色镜像对第二虚拟角色进行相同的攻击,因此,本步骤中“响应于第四场景镜像中第一虚拟角色或者第一角色镜像对第二虚拟角色进行攻击”实质上是:响应于在第一场景镜像中第一虚拟角色对第二虚拟角色对应的第二角色镜像进行攻击的情况下,第四场景镜像中的第一角色镜像对第二虚拟角色进行的攻击。此时,第四场景镜像中第二虚拟角色的状态数据可能会发生变化,例如,第二虚拟角色的血量减少,或者第二虚拟角色的经验值降低等。第二虚拟角色的变更数据与步骤304中的第一虚拟角色的变更数据类似,此处不予赘述。
在这种情况下,基于第二虚拟角色的变更数据将与第四场景镜像属于同一游戏场景的第五场景镜像中第二虚拟角色的第二角色镜像的状态数据进行相应的变更。具体可以参照步骤304中“基于变更数据控制第二场景镜像中的第一角色镜像进行对应的状态变更”,此处不予赘述。
这样,将角色镜像与虚拟角色实体的状态数据保持一致,可以使得各客户端显示的同一游戏场景的不同场景镜像中虚拟角色实体和对应的虚拟角色镜像所进行的游戏动作保持一致。另外,在场景镜像中某一虚拟角色实体对另一虚拟角色对应的角色镜像做出攻击时,可以保证该角色镜像对应的状态数据针对这一攻击进行相应的变更,提升了用户的游戏沉浸感和体验感。
在实际应用中,一个虚拟角色对另一个虚拟角色进行了攻击后,另一个虚拟角色可能会针对这一攻击做出反击。因此,本申请实施例提供的游戏处理方法还可以通过以下步骤同步反击动作:响应于第四场景镜像中第二虚拟角色对第一角色镜像进行反击,通过第四场景镜像对应的游戏进程计算反击数据;基于反击数据,控制第五场景镜像中的第二角色镜像对第一虚拟角色和/或第一角色镜像进行反击;响应于第一场景镜像中的第一虚拟角色针对反击数据发生的二次状态变更,通过第一场景镜像对应的游戏进程计算二次变更数据,并基于二次变更数据控制第二场景镜像中的第一角色镜像进行对应的状态变更。
操作第二虚拟角色的用户所持有终端的图形用户界面所显示的游戏场景为该游戏场景的第四场景镜像,当操作第二虚拟角色的用户在所持有终端的图形用户界面上看到“第一虚拟角色”(实质上为第一虚拟角色在第四场景镜像中的第一角色镜像)对第二虚拟角色进行攻击时,该用户可以操作第二虚拟角色针对这一攻击对第四场景镜像中的第一虚拟角色的第一角色镜像进行反击。
与攻击数据类似,反击数据也可以包括但不限于以下至少一种:第二虚拟角色反击时所使用的游戏技能、第二虚拟角色反击时所使用的游戏道具、第二虚拟角色反击时的位置变化、第二虚拟角色的经验值变化数据、第二虚拟角色的血量变化数据。
为了使得同一游戏场景对应的多个场景镜像保持一致,当第四场景镜像中的第二虚拟角色对第一角色镜像发起反击时,与第四场景镜像属于同一游戏场景的第五场景镜像中第二虚拟角色的第二角色镜像也进行相同的反击动作。具体的,响应于第四场景镜像中第二虚拟角色对目标第一角色镜像进行反击,通过第四场景镜像对应的游戏进程计算对应的反击数据,得到执行结果,在与第四场景镜像对应的游戏进程进行通信的终端设备上呈现该执行结果所指示的反击过程。
可以理解的,上述方案中的第二虚拟角色也可以看作步骤304中的第一虚拟角色,通过这一技术手段,在第一场景镜像中的第一虚拟角色发起攻击、被攻击、基于受到的攻击进行反击时,可以在第二场景镜像中控制第一角色镜像同步进行相应的攻击、被攻击以及基于受到的攻击进行反击,使得同一游戏场景对应的不同场景镜像实时进行同步。
由于每一个场景镜像分别通过不同的游戏进程来运行,因此,步骤304中的状态变更实质上是通过进程之间的交互进行控制的。因此,步骤304可以通过以下步骤实现:
响应于第一虚拟角色在第一场景镜像中发生状态变更,通过第一场景镜像对应的游戏进程计算状态变更对应的变更数据,并通过第一场景镜像对应的游戏进程将变更数据发送至第二场景镜像对应的游戏进程;通过第二场景镜像对应的游戏进程接收变更数据,并基于变更数据控制第二场景镜像中的第一角色镜像进行对应的状态变更。
本步骤用于通过第一场景镜像对应的游戏进程和第二场景镜像对应的游戏进程之间的交互来完成第一场景镜像中第一虚拟角色和第二场景镜像中第一虚拟角色对应的第一角色镜像之间的同步。
具体请参照图4,如图4所示,是本申请实施例提供的第一游戏进程和第二游戏进程交互示例图,攻击动作包括步骤401~步骤403,反击动作包括步骤404~步骤406。
步骤401:响应于第一场景镜像中第一虚拟角色对第二角色镜像进行攻击,在第一场景镜像对应的第一游戏进程执行攻击对应的游戏逻辑计算对应的攻击数据,并在与第一游戏进程进行通信的终端设备上显示该攻击数据所指示的第一虚拟角色实体对第二虚拟角色的第二角色镜像的攻击动作;
步骤402:第一游戏进程将该攻击数据发送到第二虚拟角色实体对应的第二游戏进程上;
步骤403:第二游戏进程接收攻击数据并基于攻击数据变更第二游戏进程中对应的攻击数据,在与第二游戏进程对应的终端设备上显示该攻击数据所指示的目标第一角色镜像对第二虚拟角色的攻击动作;
步骤404:响应于操作第二虚拟角色的用户操作第二虚拟角色对目标第一角色镜像进行反击,在第四场景镜像对应的第二游戏进程执行反击对应的游戏逻辑计算对应的反击数据,并在与第二游戏进程进行通信的终端设备上显示该反击数据所指示的第二虚拟角色实体对目标第一角色镜像的反攻动作;
步骤405:第二游戏进程将该反击数据发送到第一虚拟角色实体对应的第一游戏进程上;
步骤406:第一游戏进程接收反击数据并基于反击数据变更第二游戏进程中对应的反击数据,在与第一游戏进程对应的终端设备上显示该反击数据所指示的第二角色镜像对第一虚拟角色实体的反击动作。
在具体实施方式中,同一游戏场景对应的多个游戏进程可以通过RPC进行通信来同步虚拟角色实体和对应的角色镜像的动作。这样,在两个虚拟角色实体不属于一个场景镜像时,可以通过对应的不同游戏进程的交互,来实现一个虚拟角色实体和另一个虚拟角色对应的角色镜像之间的交互。
具体的,某一个角色镜像所在的游戏进程可以将所在场景镜像上针对该角色镜像发生的状态变更信息发送给其他游戏进程,用以控制对应的其他场景镜像中该角色镜像对应的虚拟角色实体和该虚拟角色实体对应的其他角色镜像同步进行该状态变更;某一个角色镜像对应的游戏进程还可以将所在场景镜像上针对该角色镜像发生的状态变更信息发送给该角色镜像的虚拟角色实体对应的游戏进程,并由该虚拟角色实体对应的游戏进程将所接收到的状态变更信息发送给其他游戏进程,用以控制对应的其他场景镜像中该虚拟角色对应的角色镜像同步进行该状态变更。
另外,在实际应用中,某一个状态数据可能会在短时间内持续发生变化,例如,虚拟角色A在10秒内从的经验值从3000下降到1000,这一过程中经验值可能一直在发生变化,在这种情况下,若将持续发生变化中每一次变化后的状态数据都同步在场景镜像中,将会增加数据交互的压力,还会在游戏中出现大批量的冗余数据。
因此,为了避免短时间内对某一个状态数据进行频繁的变更,步骤304还可以按照以下步骤实现:
响应于第一场景镜像中的第一虚拟角色的目标类型的状态数据发生变更,在满足同步条件时,通过第一场景镜像对应的游戏进程计算状态数据的变更结果;基于变更结果,控制第二场景镜像中的第一角色镜像进行对应的状态变更。
可选的,上述步骤中的同步条件可以包括以下条件中的至少一种:预设时长内状态数据不再发生变化时进行同步、按照预设周期进行同步、状态数据发生的数据变更累积到预设变化量时进行同步。
其中,目标类型的状态数据例如可以是血量、生命值、经验值等中的至少一个,在目标类型的状态数据发生轻微变化时,对游戏观感影响不是很大。目标类型的数据可以是根据用户反馈确定的,也可以由游戏开发人员设定,本申请对此不具体限定。
可以理解的,当第一场景镜像中第一虚拟角色实体的状态数据在持续发生变化时,本申请中可以在检测到预设时长内(如2秒、5秒)该状态数据不再发生变化时,通过第一场景镜像对应的游戏进程计算最终变更结果,并向第二场景镜像对应的游戏进程发送这一最终变更结果,以控制第二场景镜像中的第一角色镜像同步这一最终变更结果;还可以按照预设周期(如2秒、5秒)通过第一场景镜像对应的游戏进程计算变更结果,并向第二场景镜像对应的游戏进程按照预设周期发送这一最终变更结果,以控制第二场景镜像中的第一角色镜像按照该预设周期同步这一变更结果;还可以在状态数据累积到预设变化量时通过第一场景镜像对应的游戏进程计算变更结果,并对第二场景镜像中的第一角色镜像同步这一变更结果,预设变化量可以是变化程度,也可以是变化的具体数值,例如设定有状态数据每增加或者减少1%时进行数据同步,再如设定有状态数据的数值每增加或者减少20时进行数据同步。
在具体实施方式中,同一游戏场景中包含多个目标类型的状态数据,上述同步条件可以根据具体情况进行具体设置,例如目标类型的状态数据A的同步条件为预设时长内状态数据不再发生变化时进行同步,目标类型的状态数据B的同步条件为按照预设周期进行同步,目标类型的状态数据C的同步条件为状态数据B发生的数据变更累积到预设变化量时进行同步。本申请对此并不作限定。
具体的,在同步条件为第一虚拟角色的状态数据不再发生变化时进行同步的情况下,当状态数据停止变更时,通过第一场景镜像对应的游戏进程计算状态数据的变更结果;在同步条件为按照预设周期进行同步第一虚拟角色的状态数据的情况下,按照该预设周期通过第一场景镜像对应的游戏进程计算状态数据的变更结果;在同步条件为第一虚拟角色的状态数据发生的数据变更累积到预设变化量时进行同步的情况下,当第一虚拟角色的状态数据发生的数据变更累积到该预设变化量时,通过第一场景镜像对应的游戏进程计算状态数据的变更结果。
由于用户在游戏中对于目标类型的状态数据的轻微变化是无感的,因此,在目标类型的数据发生变化时,通过设定的同步条件来同步目标类型的状态数据的变更结果,而非实时同步目标类型的状态数据,可以减轻数据传输的压力,并减少游戏中产生的冗余数据。
在具体实施方式中,可以在首次创建虚拟角色的角色镜像时,将该虚拟角色对应的虚拟角色实体和虚拟角色镜像分别对应的目标类型的状态数据进行同步,在虚拟游戏进行的过程中,当虚拟角色实体对应的目标类型的状态数据发生变化时,可以先将发生变化的目标类型的状态数据缓存至数据缓存区,满足同步条件时,再将变更后的数据同步给该虚拟角色实体对应的角色镜像。这样,通过将数据缓存下来可以提高数据同步的效率。
可选的,本申请中的虚拟角色包括角色本体和角色分身中的一种或多种。
具体的,当第一虚拟角色为角色本体,并为第一虚拟角色创建角色分身时,可以通过以下步骤来同步角色分身:
响应于针对第一虚拟角色的角色本体触发的角色分身创建指令,根据角色本体在第一场景镜像中创建第一虚拟角色的角色分身;根据角色本体在第二场景镜像中为第一角色镜像创建第一角色镜像的镜像分身,并控制第二场景镜像中的镜像分身的动作与第一场景镜像中的角色分身的动作保持同步。
本步骤中角色分身可以理解为角色本体在本场景镜像中的角色镜像,在实际应用中,通常会出现为角色本体召唤角色分身,通过角色分身来进行游戏行为的情况。在角色本体创建了角色分身时,在其他场景镜像中该角色本体对应的角色镜像也会创建对应的镜像分身,并且镜像分身的动作和角色分身的动作保持同步。这样,无论第一虚拟角色是角色本体还是角色分身,都会同步进行状态变更。
与本申请第一实施例提供的游戏处理方法相对应的,本申请第二实施例还提供了游戏处理装置,如图5所示,所述游戏处理装置500包括:
构建单元501,用于构建游戏场景对应的场景镜像,每个所述场景镜像分别通过不同的游戏进程运行;
分配单元502,用于在每个所述场景镜像中分配虚拟角色;
创建单元503,用于根据第一虚拟角色的角色元数据,在所述场景镜像中除所述第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建所述第一虚拟角色对应的第一角色镜像;
同步单元504,用于响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
可选的,所述同步单元504具体用于:响应于所述第一虚拟角色在所述第一场景镜像中与其他虚拟角色或者所述其他虚拟角色对应的角色镜像发生的交互,通过所述第一场景镜像对应的游戏进程计算交互过程中产生的交互数据;基于所述交互数据控制所述第二场景镜像中的所述第一角色镜像对所述其他虚拟角色和/或所述其他虚拟角色对应的角色镜像同步进行所述交互数据所指示的所述交互过程。
可选的,在所述交互过程为所述第一虚拟角色在所述第一场景镜像中对其他虚拟角色或者所述其他虚拟角色对应的角色镜像发起主动攻击的情况下,所述同步单元504还具体用于:通过所述第一场景镜像对应的游戏进程计算所述主动攻击的过程中产生的攻击数据;其中,所述主动攻击包括以下至少一种:所述第一虚拟角色发起的攻击、所述第一虚拟角色基于受到的攻击进行的反击;基于所述攻击数据控制所述第二场景镜像中的所述第一角色镜像对所述其他虚拟角色和/或所述其他虚拟角色对应的角色镜像同步进行所述攻击数据所指示的所述主动攻击的过程。
可选的,在所述交互过程为所述第一虚拟角色在所述第一场景镜像中被其他虚拟角色或者所述其他虚拟角色对应的角色镜像攻击的情况下,所述同步单元504还具体用于:通过所述第一场景镜像对应的游戏进程计算被攻击过程中产生的被攻击数据;基于所述被攻击数据控制所述第二场景镜像中的所述第一角色镜像被所述其他虚拟角色和/或所述其他虚拟角色对应的角色镜像同步进行所述被攻击数据所指示的所述被攻击过程。
可选的,所述同步单元504还具体用于:响应于所述第一场景镜像中的所述第一虚拟角色的目标类型的状态数据发生变更,在满足同步条件时,通过所述第一场景镜像对应的游戏进程计算所述状态数据的变更结果;基于所述变更结果,控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
可选的,所述游戏处理装置500还包括确定单元505,所述确定单元505用于:在到达目标非玩家角色在所述游戏场景中出现的时刻时,从所述游戏场景中的各虚拟角色中确定当前所处位置与所述目标非玩家角色在所述游戏场景中的预设出现位置之间的距离最小的第二虚拟角色,所述目标非玩家角色为游戏进行的过程中出现在所述预设出现位置的角色;将所述目标非玩家角色放置于所述第二虚拟角色所在的第三场景镜像中的所述预设出现位置;
所述创建单元503还用于:根据所述目标非玩家角色的非玩家角色元数据,在所述场景镜像中除所述第三场景镜像外的其他场景镜像中创建所述目标非玩家角色对应的目标非玩家角色镜像。
可选的,所述同步单元504具体用于:响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并通过所述第一场景镜像对应的游戏进程将所述变更数据发送至所述第二场景镜像对应的游戏进程;通过所述第二场景镜像对应的游戏进程接收所述变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
与本申请第一实施例提供的游戏处理方法相对应的,本申请第三实施例还提供了一种用于执行游戏处理方法的电子设备。如图6所示,所述电子设备600包括:处理器601;以及存储器602,用于存储游戏处理方法的程序,该设备通电并通过所述处理器运行游戏处理方法的程序后,执行如下步骤:
构建游戏场景对应的场景镜像,每个所述场景镜像分别通过不同的游戏进程运行;
在每个所述场景镜像中分配虚拟角色;
根据第一虚拟角色的角色元数据,在所述场景镜像中除所述第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建所述第一虚拟角色对应的第一角色镜像;
响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
与本申请第一实施例提供的游戏处理方法相对应的,本申请第四实施例提供了一种计算机可读存储介质,存储有游戏处理方法的程序,该程序被处理器运行,执行下述步骤:
构建游戏场景对应的场景镜像,每个所述场景镜像分别通过不同的游戏进程运行;
在每个所述场景镜像中分配虚拟角色;
根据第一虚拟角色的角色元数据,在所述场景镜像中除所述第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建所述第一虚拟角色对应的第一角色镜像;
响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
需要说明的是,对于本申请第二实施例、第三实施例和第四实施例提供的装置、电子设备及计算机可读存储介质的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,区块链中的节点设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他属性的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储介质或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (12)
1.一种游戏处理方法,其特征在于,所述方法包括:
构建游戏场景对应的场景镜像,每个所述场景镜像分别通过不同的游戏进程运行;
在每个所述场景镜像中分配虚拟角色;
根据第一虚拟角色的角色元数据,在所述场景镜像中除所述第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建所述第一虚拟角色对应的第一角色镜像;
响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更,包括:
响应于所述第一虚拟角色在所述第一场景镜像中与其他虚拟角色或者所述其他虚拟角色对应的角色镜像发生的交互,通过所述第一场景镜像对应的游戏进程计算交互过程中产生的交互数据;
基于所述交互数据控制所述第二场景镜像中的所述第一角色镜像对所述其他虚拟角色和/或所述其他虚拟角色对应的角色镜像同步进行所述交互数据所指示的所述交互过程。
3.根据权利要求2所述的方法,其特征在于,在所述交互过程为所述第一虚拟角色在所述第一场景镜像中对其他虚拟角色或者所述其他虚拟角色对应的角色镜像发起主动攻击的情况下,所述通过所述第一场景镜像对应的游戏进程计算交互过程中产生的交互数据,包括:
通过所述第一场景镜像对应的游戏进程计算所述主动攻击的过程中产生的攻击数据;其中,所述主动攻击包括以下至少一种:所述第一虚拟角色发起的攻击、所述第一虚拟角色基于受到的攻击进行的反击;
所述基于所述交互数据控制所述第二场景镜像中的所述第一角色镜像对所述其他虚拟角色和/或所述其他虚拟角色对应的角色镜像同步进行所述交互数据所指示的所述交互过程,包括:
基于所述攻击数据控制所述第二场景镜像中的所述第一角色镜像对所述其他虚拟角色和/或所述其他虚拟角色对应的角色镜像同步进行所述攻击数据所指示的所述主动攻击的过程。
4.根据权利要求2所述的方法,其特征在于,在所述交互过程为所述第一虚拟角色在所述第一场景镜像中被其他虚拟角色或者所述其他虚拟角色对应的角色镜像攻击的情况下,所述通过所述第一场景镜像对应的游戏进程计算交互过程中产生的交互数据,包括:
通过所述第一场景镜像对应的游戏进程计算被攻击过程中产生的被攻击数据;
所述基于所述交互数据控制所述第二场景镜像中的所述第一角色镜像对所述其他虚拟角色和/或所述其他虚拟角色对应的角色镜像同步进行所述交互数据所指示的所述交互过程,包括:
基于所述被攻击数据控制所述第二场景镜像中的所述第一角色镜像被所述其他虚拟角色和/或所述其他虚拟角色对应的角色镜像同步进行所述被攻击数据所指示的所述被攻击过程。
5.根据权利要求1所述的方法,其特征在于,所述响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更,包括:
响应于所述第一场景镜像中的所述第一虚拟角色的目标类型的状态数据发生变更,在满足同步条件时,通过所述第一场景镜像对应的游戏进程计算所述状态数据的变更结果;
基于所述变更结果,控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
6.根据权利要求5所述的方法,其特征在于,所述同步条件包括以下条件中的至少一种:预设时长内所述状态数据不再发生变化时进行同步、按照预设周期进行同步、所述状态数据发生的数据变更累积到预设变化量时进行同步。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在到达目标非玩家角色在所述游戏场景中出现的时刻时,从所述游戏场景中的各虚拟角色中确定当前所处位置与所述目标非玩家角色在所述游戏场景中的预设出现位置之间的距离最小的第二虚拟角色,所述目标非玩家角色为游戏进行的过程中出现在所述预设出现位置的角色;
将所述目标非玩家角色放置于所述第二虚拟角色所在的第三场景镜像中的所述预设出现位置;
根据所述目标非玩家角色的非玩家角色元数据,在所述场景镜像中除所述第三场景镜像外的其他场景镜像中创建所述目标非玩家角色对应的目标非玩家角色镜像。
8.根据权利要求1所述的方法,其特征在于,所述虚拟角色包括角色本体和角色分身中的一种或多种。
9.根据权利要求1所述的方法,其特征在于,所述响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更,包括:
响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并通过所述第一场景镜像对应的游戏进程将所述变更数据发送至所述第二场景镜像对应的游戏进程;
通过所述第二场景镜像对应的游戏进程接收所述变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
10.一种游戏处理装置,其特征在于,所述装置包括:
构建单元,用于构建游戏场景对应的场景镜像,每个所述场景镜像分别通过不同的游戏进程运行;
分配单元,用于在每个所述场景镜像中分配虚拟角色;
创建单元,用于根据第一虚拟角色的角色元数据,在所述场景镜像中除所述第一虚拟角色所在的第一场景镜像外的第二场景镜像中创建所述第一虚拟角色对应的第一角色镜像;
同步单元,用于响应于所述第一虚拟角色在所述第一场景镜像中发生状态变更,通过所述第一场景镜像对应的游戏进程计算所述状态变更对应的变更数据,并基于所述变更数据控制所述第二场景镜像中的所述第一角色镜像进行对应的状态变更。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,存储有数据处理程序,该程序被处理器运行,执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310639351.6A CN116637369A (zh) | 2023-05-31 | 2023-05-31 | 游戏处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310639351.6A CN116637369A (zh) | 2023-05-31 | 2023-05-31 | 游戏处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116637369A true CN116637369A (zh) | 2023-08-25 |
Family
ID=87618503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310639351.6A Pending CN116637369A (zh) | 2023-05-31 | 2023-05-31 | 游戏处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116637369A (zh) |
-
2023
- 2023-05-31 CN CN202310639351.6A patent/CN116637369A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022151946A1 (zh) | 虚拟角色的控制方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
US20220152496A1 (en) | Virtual object control method and apparatus, terminal, and storage medium | |
JP7451563B2 (ja) | 仮想キャラクタの制御方法並びにそのコンピュータ機器、コンピュータプログラム、及び仮想キャラクタの制御装置 | |
TWI789087B (zh) | 虛擬角色的選擇方法與裝置、電腦設備、電腦可讀存儲介質及電腦程式產品 | |
KR20200115304A (ko) | 동적 스트리밍 비디오 게임 클라이언트 | |
WO2022184128A1 (zh) | 虚拟对象的技能释放方法、装置、设备及存储介质 | |
KR102610422B1 (ko) | 아바타 이용 데이터를 처리하기 위한 방법 및 장치, 디바이스, 및 저장 매체 | |
WO2022062146A1 (zh) | 游戏副本的展示方法及装置、存储介质 | |
WO2013059026A1 (en) | Data management for computer systems | |
CN114307150B (zh) | 虚拟对象之间的互动方法、装置、设备、介质及程序产品 | |
CN116637369A (zh) | 游戏处理方法、装置及电子设备 | |
KR102318171B1 (ko) | 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버 | |
CN117205549A (zh) | 画面渲染方法、装置、设备、存储介质及程序产品 | |
JP2024506920A (ja) | 仮想対象の制御方法、装置、機器、及びプログラム | |
CN111298432B (zh) | 虚拟对象信息获取方法、装置、服务器及可读存储介质 | |
CN113633968A (zh) | 一种游戏中的信息展示方法、装置、电子设备及存储介质 | |
TW202231325A (zh) | 畫面生成方法及裝置、電腦設備、非易失性電腦可讀存儲介質及電腦程式產品 | |
CN111939565A (zh) | 虚拟场景的显示方法、系统、装置、设备以及存储介质 | |
WO2023231557A1 (zh) | 虚拟对象的互动方法、装置、设备、存储介质及程序产品 | |
CN117654043A (zh) | 游戏中的移动控制方法、移动显示方法、装置及电子设备 | |
WO2024055811A1 (zh) | 消息显示方法、装置、设备、介质及程序产品 | |
CN114288670B (zh) | 虚拟对象的互动方法、装置、设备及存储介质 | |
WO2024027292A1 (zh) | 虚拟场景中的交互方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
WO2024125163A1 (zh) | 基于虚拟世界的角色互动方法、装置、设备和介质 | |
CN114177617B (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 |