CN115779438A - 数据处理方法、装置、存储介质和电子装置 - Google Patents
数据处理方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN115779438A CN115779438A CN202211483118.5A CN202211483118A CN115779438A CN 115779438 A CN115779438 A CN 115779438A CN 202211483118 A CN202211483118 A CN 202211483118A CN 115779438 A CN115779438 A CN 115779438A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- game
- displayed
- game scene
- 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
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本公开公开了一种数据处理方法、装置、存储介质和电子装置。该方法包括:获取来自第一客户端的数据请求指令;确定数据请求指令中的目标键值;确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。本公开解决了对游戏数据的处理效率低的技术问题。
Description
技术领域
本公开涉及计算机领域,具体而言,涉及一种数据处理方法、装置、存储介质和电子装置。
背景技术
在开放世界游戏的设计过程中,对于游戏场景中玩法内容的部署量和配置量都有着极高的要求。
在相关技术中,需要通过手动将其他客户端中的游戏场景数据输入至本地的客户端后,才能获取其他客户端对游戏场景数据进行编辑的结果,这个过程操作较为复杂,因此,该方法仍存在对游戏数据的处理效率低的技术问题。
针对上述对游戏数据的处理效率低的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开至少部分实施例提供了一种数据处理方法、装置、存储介质和电子装置,以至少解决对游戏数据的处理效率低的技术问题。
根据本公开其中一实施例,提供了一种数据处理方法,包括:获取来自第一客户端的数据请求指令;确定数据请求指令中的目标键值;确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。
可选地,确定与目标键值对应的至少一第二客户端的操作数据,包括:将至少一第二客户端中,名称为目标键值的数据表确定为目标数据表;从目标数据表的数据中确定操作数据。
可选地,获取客户端集的操作数据,其中,客户端集包括第一客户端和至少一第二客户端;将操作数据存储至数据表中,其中,数据表包括目标数据表。
可选地,客户端集中每个客户端的操作数据为至少一组操作对象的操作数据。
可选地,将操作对象的组别对应的键值,确定为操作对象的数据表的名称,其中,键值用于表征组别的信息。
可选地,将待显示游戏场景数据发送至第一客户端,以进行显示。
可选地,将待显示游戏场景数据发送至第一客户端,以进行显示,包括:对待显示游戏场景数据中的地图数据进行分割,以确定每个游戏视野下对应的待显示目标游戏地图数据;将每个游戏视野范围下对应的待显示目标游戏地图数据发送至第一客户端中进行显示。
可选地,将待显示游戏场景数据发送至第一客户端,以进行显示,包括:响应于切换指令,将切换指令中指示的待显示游戏场景数据发送至第一客户端中进行显示。
可选地,将待显示游戏场景数据发送至第一客户端,以进行显示,包括:将待显示游戏场景数据以三维图像和/或二维图像的形式发送至第一客户端中,以进行显示。
可选地,获取二维图像中虚拟游戏对象的移动轨迹数据和热力图数据;将移动轨迹数据、热力图数据发送至第一客户端中,以进行显示。
根据本公开其中一实施例,还提供了一种数据处理装置,包括:获取单元,用于获取来自第一客户端的数据请求指令;第一确定单元,用于确定数据请求指令中的目标键值;第二确定单元,用于确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;处理单元,用于基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。
根据本公开其中一实施例,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的数据处理方法。
根据本公开其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的数据处理方法。
在本公开实施例中,获取来自第一客户端的数据请求指令;确定数据请求指令中的目标键值;确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。也就是说,本公开在第一客户端进行游戏编辑的过程中,可以发出数据请求指令,响应于发出的数据请求指令,基于数据请求指令中的目标键值确定至少一第二客户端中的操作数据,可以将至少一第二客户端的操作数据显示在第一客户端中,从而达到了快速获取其他客户端编辑的数据的目的,进而实现了提高对游戏数据的处理效率的技术效果,解决了对游戏数据的处理效率低的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是本公开实施例的一种数据处理方法的移动终端的硬件结构框图;
图2是根据本公开其中一实施例的数据处理方法的流程图;
图3是根据本公开其中一实施例的开放世界自由编辑的流程图;
图4是根据本公开其中一实施例的查看二维图像的流程图;
图5是根据本公开其中一实施例的二维数据窗口的示意图;
图6是根据本公开其中一实施例的二维地图的示意图;
图7是根据本公开其中一实施例的获取玩家轨迹和热力图数据的流程图;
图8是根据本公开其中一实施例的多人协作的流程图;
图9是根据本公开实施例的一种数据处理装置的结构框图;
图10是根据本公开实施例的一种电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一种可能的实施方式中,针对计算机领域下,对游戏进行编辑通常是需要通过手动将至少一第二客户端中的游戏场景数据输入至第一客户端(本地的客户端)后,才能获取至少一第二客户端对游戏场景数据进行编辑的结果,发明人经过实践并仔细研究后,发现当前技术仍然存在由于操作过程复杂,对游戏数据的处理效率低的技术问题,基于此,本公开实施例应用的游戏场景可以是开放实际游戏场景,提出了一种数据处理的方法,获取来自第一客户端的数据请求指令;确定数据请求指令中的目标键值;确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据,达到了可以快速获取其他客户端的操作数据的目的,实现了提高对游戏的处理效率低的技术效果,解决了对游戏数据的处理效率低的技术问题。
根据本公开其中一实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD、游戏机等终端设备。图1是本公开实施例的一种数据处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器104。可选地,上述移动终端还可以包括用于通信功能的传输设备106、输入输出设备108以及显示设备110。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备108中的输入可以来自多个人体学接口设备(Human InterfaceDevice,简称为HID)。例如:键盘和鼠标、游戏手柄、其他专用游戏控制器(如:方向盘、鱼竿、跳舞毯、遥控器等)。部分人体学接口设备除了提供输入功能之外,还可以提供输出功能,例如:游戏手柄的力反馈与震动、控制器的音频输出等。
显示设备110可以例如平视显示器(HUD)、触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在一种可能的实施方式中,本公开实施例提供了一种数据处理方法,图2是根据本公开其中一实施例的数据处理方法的流程图,如图2所示,该方法可以包括如下步骤:
步骤S202,获取来自第一客户端的数据请求指令。
在本公开上述步骤S202提供的技术方案中,可以获取来自第一客户端的数据请求指令,其中,第一客户端可以为移动终端,比如,可以为移动客户端、电脑端等,可以为游戏客户端、电脑端中的场景动态实体编辑器等,此处仅为举例说明,不对第一客户端做具体限制。数据请求指令可以用于获取其他客户端或游戏服务器中的数据。
步骤S204,确定数据请求指令中的目标键值。
在本公开上述步骤S204提供的技术方案中,获取来自第一客户端的数据请求指令,可以对数据请求指令进行处理,从而确定数据请求指令中的目标键值,其中,目标键值可以用于表征数据的存储位置,可以为标识信息,比如,可以为标识符。
步骤S206,确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置。
在本公开上述步骤S206提供的技术方案中,可以获取数据请求指令中的目标键值,可以确定服务器中与目标键值对应的操作数据,以确定至少一第二客户端的操作数据。其中,操作数据可以为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,比如,可以为点选、移动、旋转等操作,可以为对游戏实体(entity)进行新增、修改和删除等操作,此处仅为举例,不对操作数据做具体限制。第二客户端可以为移动终端,比如,可以为移动客户端、电脑端等,可以为游戏客户端、电脑端中的场景动态实体编辑器等。目标键值可以用于确定操作数据的存放位置。其中,原始游戏场景数据可以包括游戏场景中的默认实体(预制体)、非玩家角色(Non-Player Character,简称为NPC)、空气墙、陷阱、区域、建筑、相机参数等数据。
举例而言,操作数据可以包括修改默认实体的位置、朝向、尺寸;可以为修改非玩家角色的编号、类型、子类型、阵营等;可以包括修改空气墙类型、显示模式和长宽高;可以包括修改陷阱的位置和半径;可以包括修改区域点的朝向、高度、标识和连接点;可以包括修改建筑的组合边和、子组件编号和归属;可以包括修改相机模式、相机参数、灯光类型、颜色、强度、景深和焦距范围;可以包括修改灯光编号、类型、颜色、强度、范围、半径、内角和外角等,此处仅为举例说明,不对操作数据做具体限制。
可选地,原始游戏场景数据显示在至少一第二客户端中,至少一第二客户端可以对原始游戏场景数据进行编辑,获取至少一第二客户端对原始游戏场景数据进行编辑的操作数据,得到至少一第二客户端的操作数据,可以存储至少一第二客户端的操作数据。获取第一客户端的数据请求指令,确定存储的操作数据中与数据请求指令中的目标键值对应的操作数据。
可选地,可以提前预设对操作数据的划分条件(Level),比如,可以按照游戏玩法、地图区域或数据类型、操作对象等条件进行划分,不同划分结果的操作数据可以对应不同的目标键值。
举例而言,假定划分条件是基于操作对象进行的划分,如果操作对象都为A组中的成员,则操作数据对应的目标键值可以为01。获取数据请求指令,如果数据请求指令中的目标键值为01,则至少一第二客户端中与目标键值对应的操作数据可以为A组中其他成员的操作数据。
再举例而言,假定划分条件是基于采集物种类进行的划分,如果操作数据都是对原始游戏场景数据中的实体D进行的编辑,则操作数据对应的目标键值可以为001。获取数据请求指令,如果数据请求指令中的目标键值为001,则至少一第二客户端中与目标键值对应的操作数据可以为对实体D进行编辑的数据。
需要说明的是,上述划分条件仅为举例说明,不对操作数据划分组别的方式做具体限制。
步骤S208,基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。
在本公开上述步骤S208提供的技术方案中,获取至少一第二客户端中的操作数据,可以基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端中的待显示游戏场景数据。其中,第一客户端中显示的原始游戏场景数据可以为与至少一第二客户端相同的游戏场景数据,也可以为不同的游戏场景数据,比如,在最开始时,第一客户端和至少一第二客户端中显示的为相同的原始游戏场景数据;当第一客户端已对原始游戏场景数据进行修改,但第二客户端并未修改时,获取操作数据,则此时第一客户端中显示的原始游戏场景数据为修改后的游戏场景数据,与至少一第二客户端中显示的原始游戏场景数据并不相同。
可选地,第一客户端中显示原始游戏场景数据,当第一客户端想要获取至少一第二客户端的操作数据时,可以发出数据请求指令。获取第一客户端发出的数据请求指令,确定数据请求指令中的目标键值,可以确定服务器中与目标键值对应的操作数据,得到至少一第二客户端的操作数据,可以基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据,第一客户端可以将待显示游戏场景数据显示在显示窗口中,对待显示游戏场景数据进行编辑。
举例而言,获取至少一第二客户端的操作数据,可以基于操作数据对第一客户端中的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据,其中,待显示游戏场景数据可以为包含操作数据的编辑过程的数据,也可以为对原始游戏场景数据修改后的结果,此处仅为举例,不对待显示游戏场景数据的表现形式做具体限制。
在该实施例中,第一客户端对显示界面中的待显示游戏场景数据的实时修改编辑的数据可以根据实际情况选择保存路径,比如,可以直接保存在本地的数据表中,也可以提交到版本控制***上进行保存,可以选择服务器并且导入数据表中,或者可以根据实际情况对游戏场景数据进行热更。
本公开实施例,可以根据实际情况选择对修改后数据存储的方式,可以在开放游戏场景中方便快捷的确定待显示游戏场景数据,或者可以实时应用到第一客户端中查看效果,并可一键上传到版本控制***中,从而提高了数据处理的效率。
举例而言,第一客户端可以对显示界面中显示的待显示游戏场景数据进行编辑,从而完成游戏内容编辑的过程,可以导出编辑之后的游戏场景数据和操作数据,上传服务器和/或版本控制***中。
通过步骤S202至S208,获取来自第一客户端的数据请求指令;确定数据请求指令中的目标键值;确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。也就是说,本公开在第一客户端进行游戏编辑的过程中,可以发出数据请求指令,响应于发出的数据请求指令,基于数据请求指令中的目标键值确定至少一第二客户端中的操作数据,可以将至少一第二客户端的操作数据显示在第一客户端中,从而达到了快速获取其他客户端编辑的数据的目的,进而实现了提高对游戏数据的处理效率的技术效果,解决了对游戏数据的处理效率低的技术问题。
下面对本公开实施例的上述方法进行进一步介绍。
作为一种可选的实施例,确定与目标键值对应的至少一第二客户端的操作数据,包括:将至少一第二客户端中,名称为目标键值的数据表确定为目标数据表;从目标数据表的数据中确定操作数据。
在该实施例中,可以确定至少一第二客户端中名称为目标键值的数据表,可以将名称为目标键值的数据表确定为目标数据表,可以从目标数据表存储的数据中得到操作数据。
作为一种可选的实施例,获取客户端集的操作数据,其中,客户端集包括第一客户端和至少一第二客户端;将操作数据存储至数据表中,其中,数据表包括目标数据表。
在该实施例中,可以获取客户端集的操作数据,将操作数据存储至数据表中,其中,数据表可以包括目标数据表。其中,客户端集可以包括第一客户端和至少一第二客户端。
可选地,可以获取客户端集中所有客户端的操作数据,按照预先设定的划分标准,将操作数据存储至对应的数据表中,从而可以快速而又便捷的确定需要的操作数据,提高数据处理的效率。
作为一种可选的实施例,每个客户端的操作数据为至少一组操作对象的操作数据。
在该实施例中,每个客户端对原始游戏场景数据进行编辑时,可能有多个操作对象对客户端中显示的原始游戏场景数据进行编辑,但是操作对象可能为不同组中的成员,比如,在第一客户端中可能会有A组的a成员和b成员、B组的c成员对原始游戏场景数据进行编辑,在至少一第二客户端中可能会有A组的d成员对原始游戏场景数据进行编辑,则每个客户端的操作数据可以为至少一组操作对象的操作数据。操作对象可以为对原始游戏场景进行编辑的对象,比如,可以为游戏设计人员。
可选地,可以获取客户端集的操作数据,每个客户端的操作数据为至少一组操作对象的操作数据,可以将每个客户端中不同组别的操作对象的操作数据存储至不同的数据表中,从而方便了数据的确认和寻找,也使得不同客户端的操作对象可以查看其他客户端的操作对象的操作数据。
在本公开实施例中,每个客户端中不同组别中组员的操作数据可以保存在不同的数据表中,当第一客户端想要确定至少一第二客户端中相同组员的操作数据时,发出数据请求指令,基于数据请求指令中的目标键值可以确定至少一第二客户端中与第一客户端为相同组别的组员的数据表,得到目标数据表,可以从目标数据表中确定在至少一第二客户端中组员的操作数据,从而可以使第一客户端便捷的查看和编辑其他组员的操作数据,同时可以将操作数据保存在对应的数据表中,可以便于下次的取用,也避免了数据的错乱。
作为一种可选的实施例,将操作对象的组别对应的键值,确定为操作对象的数据表的名称,其中,键值用于表征组别的信息。
在该实施例,确定操作对象所在的组别对应的键值,可以将操作对象所在组别所对应的键值,确定为操作对象的数据表的名称,其中,键值可以用于表征组别的信息,可以基于键值确定操作对象所在的组别。操作对象所在的组别可以为预先设定好的,比如,可以预先设定a操作对象属于A组,b操作对象属于B组;或者可以为a操作对象和b操作对象都为修改地图区域的对象,则a操作对象和b操作对象都为地图修改组,需要说明的是,此处不对操作对象组别的划分条件或方式做具体限制。
举例而言,预设A组别对应的键值为01,B组别对应的键值为101,C组别对应的键值为1010,获取E客户端、F客户端和G客户端中的操作数据,可以基于操作对象对E客户端、F客户端和G客户端中的操作数据进行分类,得到E客户端中A组别的操作对象和B组别的操作对象的操作数据,F客户端中A组别的操作对象和C组别的操作对象的操作数据,G客户端中B组别的操作对象和C组别的操作对象的操作数据,且将操作对象的操作数据存储至对应的数据表中,则可以确定E客户端中A组别的操作对象对应的数据表的名称为01,F客户端中B组别的操作对象对应的数据表的名称也为01;E客户端中B组别的操作对象对应的数据表的名称为101,G客户端中B组别的操作对象对应的数据表的名称也为101;F客户端中C组别的操作对象对应的数据表的名称为1010,G客户端中C组别的操作对象对应的数据表的名称也为1010。
可选地,可以读取客户端集中的操作数据,将操作数据存储至数据表中,可以以组别为键值作为数据表的名称保存在编辑器中,可以加载指定的数据表,从而方便看到同一组内其他成员当前的编辑内容。
可选地,客户端对原始游戏场景数据进行编辑,获取客户端中的操作数据,新增的操作数据可以生成不重复的递增流水号写入编辑器中,并且写入当前操作对象(比如,设计者)的数据表中。
可选地,第一客户端获取至少一第二客户端的操作数据,如果第一客户端对至少一第二客户端中相同组的其他成员的操作数据进行了修改或删除,可以根据操作数据的键值(可以为流水号)确定数据表的位置,并将修改后的操作数据存储至数据表中,从而为数据的编辑提供保底机制。可以将客户端集中的操作数据存储至一个总表中,则如果无法确定第一客户端修改的操作数据的来源,可以将修改后的数据存储至总表中,从而可以避免数据的丢失。
本公开实施中,每个客户端中不同组别中成员的操作数据(可以为编辑数据)保存在不同数据表中,数据表的命名可以为组别对应的键值。当第一客户端想要获取至少一第二客户端中相同组别的成员的修改数据,可以发出数据请求指令,这个数据请求指令中可以包含目标键值,可以基于键值直接确定对应的数据表,从而可以获取数据表中的操作数据并更新至第一客户端中,从而可以提高数据同步的效率,进一步实现提高对游戏数据的处理效率的技术效果。
在游戏编辑的过程中,多人协作编辑有助于提高数据处理的效率,本公开实施例通过划分level的方式,来区分每个组员的编辑数据,其中,可以有多种划分方式,可以按照玩法、地图区域和数据类型对编辑数据进行划分,可以只加载指定的编辑数据,也可以加载全部的编辑数据,每个组员都能看到其他客户端中同一组员的当前编辑情况,从而可以有效的避免编辑重复或者冲突。
作为一种可选的实施例,将待显示游戏场景数据发送至第一客户端,以进行显示。
在该实施例中,获取至少一第二客户端的操作数据,基于至少一第二客户端的操作数据对第一客户端的游戏场景数据进行更新后,得到待显示游戏场景数据在第一客户端进行显示。
可选地,可以按照视野(Area of interest,简称为Aoi)范围显示待显示游戏场景数据,或者可以按照第一客户端选择的类型显示游戏场景中的待显示游戏场景数据。
举例而言,可以通过远程过程调用(Remote Procedure Call,简称为RPC)将游戏内容编辑***和第一客户端进行连接,用于数据交换。同时,因为第一客户端和编辑器之间通信时的数据量大,所以,可以通过修改远程过程调用的通讯设置,提高发送游戏增益(buff)的上限。且为了确保第一客户端在编辑过程中不会和游戏内容编辑***断连,或操作数据出现出错和丢失等问题,可以构建数据池分帧发送的方式,且增加了断线重连机制。可以通过远程过程调用将编辑器中更新得到的待显示游戏场景数据传输至第一客户端中并进行显示。
作为一种可选的实施例,将待显示游戏场景数据发送至第一客户端,以进行显示,包括:对待显示游戏场景数据中的地图数据进行分割,以确定每个游戏视野下对应的待显示目标游戏地图数据;将每个游戏视野范围下对应的待显示目标游戏地图数据发送至第一客户端中进行显示。
在该实施例中,可以对待显示游戏场景数据中的地图数据进行分割,得到每个游戏视野下对应的待显示目标游戏地图数据,可以将每个游戏视野范围下对应的待显示目标游戏地图数据发送至第一客户端中进行显示。其中,地图数据可以为待显示游戏场景中三维场景数据,可以用于表征三维游戏场景。目标游戏地图数据可以为游戏场景区域,可以为二维地图图像。
在该实施例中,可以对待显示游戏场景数据中的地图数据进行分割,从而可以生成不同精度的二维地图图像,可以随着二维地图图像放大倍数的变化显示不同精度的二维地图图像。对地图数据按块进行切割后,可以按照视野范围,只加载视野范围下对应的待显示目标游戏地图数据,也可以按照数据类型或者标签类型显示特定的游戏场景数据。为缓解显示的卡顿,可以使用多线程异步加载图片的方式对待显示目标游戏地图数据进行展示。
可选地,将待显示目标游戏地图数据发送至第一客户端中进行显示,可以提供跟随模式,自由模式和俯视模式三种观察模式对第一客户端中显示的目标游戏地图数据进行观察,比如,自由模式下相机可以在游戏中自由移动,进行游戏场景数据的观察、增加、修改和删除,可以按照数据类型,自定义修改多种类型的数据。
可选地,可以设计多种快捷键,方便操作对象(设计者)使用,对于和游戏中冲突的快捷键,可以优先使用预先设定的快捷键操作。且可以提供多种模式用于编辑不同类型的游戏场景数据,每种模式有定制化的需求,便捷设计者编辑数据。比如,可以显示在正常游戏中不会显示的东西,比如,空气墙、陷阱等,可以让设计者屏蔽自己不需要关注的内容,更快更方便的加载游戏中需要的游戏场景数据。
作为一种可选的实施例,将待显示游戏场景数据发送至第一客户端,以进行显示,包括:响应于切换指令,将切换指令中指示的待显示游戏场景数据发送至第一客户端中进行显示。
在该实施例中,第一客户端可以发出切换指令,可以响应于切换指令,将切换指令中指示的待显示游戏场景数据发送至第一客户端中进行显示,其中,切换指令可以用于切换第一客户端中的待显示游戏场景数据,可以为切换场景指令。
本公开实施例,可以基于切换指令,设置第一客户端中的游戏场景数据的显示和隐藏状态,从而达到基于切换指令,可以根据实际需要选择想要显示的游戏场景数据的目的。
可选地,可以基于切换指令设置第一客户端中游戏场景数据的显示和隐藏状态,响应于切换指令,将切换指令中指示的待显示游戏场景数据发送至第一客户端中进行显示。
举例而言,切换指令可以用于显隐同一组别中不同操作对象的操作数据对应的游戏场景数据,切换指令可以为显示A组别中a操作对象的操作数据,隐藏b操作对象的操作数据,则可以基于a操作对象的操作数据,确定第一客户端的待显示游戏场景数据,可以将待显示游戏场景数据发送至第一客户端中进行显示。
在该实施例中,第一客户端可以选择想要编辑的场景,可以点击显示界面中的切换场景控件,发出切换指令,响应于切换指令,完成场景的切换。响应于第一客户端的切换场景指令,可以获取该场景下对应的数据表,基于数据表中的操作数据,确定待显示游戏场景数据,可以将待显示游戏场景数据加载到第一客户端中进行显示。
作为一种可选的实施例,将待显示游戏场景数据发送至第一客户端,以进行显示,包括:将待显示游戏场景数据以三维场景和/或二维图像的形式发送至第一客户端中,以进行显示。
在该实施例中,可以将待显示游戏场景数据以三维场景或二维图像的形式发送至第一客户端中进行显示。其中,二维图像可以在第一客户端中的二维(2D)数据窗口中进行展示。
由于游戏场景数据中存在一些在三维场景中无法展示,但可以在平面地图上显示的数据,因此,在本公开实施例中,游戏场景数据可以以三维场景和/或二维图像的形式发送至第一客户端中,以进行显示,且三维场景中的游戏场景数据和二维图像中的游戏场景数据的显示是互通的,即三维场景和二维图像是可以同步显示的,可以同时对三维场景和二维图像中的游戏场景数据进行实时编辑和显示。其中,在二维图像中,可以对游戏场景数据进行放大、缩小、拖动和多细节层次(level of details,简称为Lod)显示,此处仅为举例,不对显示方式做具体限制。
举例而言,可以将游戏场景数据中的地图数据切割为36块游戏场景区域,且可以将36块游戏场景区域生成不同精度的二维地图图像,随着地图放大倍数的变化,可以显示不同精度的二维地图图像。需要说明的是,此处的游戏场景区域数量仅为举例说明,如果存在游戏区域变动或者其他需求,可以更改切割数据。
可选地,可以在第一客户端(比如,可以为编辑器)的窗口(比如,二维数据窗口)选择显示区域位置和标签信息,以方便查看玩法标签的位置和玩法密度,可以自动化的将游戏场景中的标签数据生成到二维数据窗口进行二维图像的显示中并保存到第一客户端的数据表中。且可以对二维数据窗口中显示的游戏场景数据中的图标数据的游戏类型进行自定义设计。
举例而言,可以在二维数据窗口按照类型显示不同的实体图标。可以设置网格宽度,网格内可以显示的数量,从而方便第一客户端查看布置的实体密度,从而提高游戏数据的处理效率。
再举例而言,选中二维图像中的某一虚拟游戏对象时,可以打开该虚拟游戏对象的数据窗口,并将地图聚焦于此。选中虚拟游戏对象后,可以通过点击地图上的任一位置,即可将该虚拟游戏对象移动到此坐标处。选中对象后,可以用鼠标右键对其进行新增、编辑、删除、聚焦功能,右键点击大地图任一位置,通过确定坐标轴(xz轴)中的值,并向真实场景发送射线,以碰到的第一个面为标准,确认y轴的值,直接布置实体,从而达到在二维图像中新增一个对象的目的。对第一客户端中的二维图像的所有的修改可以实时应用到第一客户端的窗口中。
在该实施例中,二维数据窗口可以按照数据类型或者标签类型显示特定的数据、特定区域的数据或显示高线图等,从而可以方便设计者便捷的宏观查看游戏数据,提高了数据编辑的效率。
本公开实施例中,可以通过三维场景和/或二维图像的形式宏观查看游戏内的多种数据,从而更好的掌握游戏中的数据信息,可以基于显示的数据,对游戏场景数据进行规划、布置、展示,可以设置游戏的玩法,实体的位置和密度,从而提高游戏数据设计的准确性,提高游戏数据的处理效率。
作为一种可选的实施例,获取二维图像中虚拟游戏对象的移动轨迹数据和热力图数据;将移动轨迹数据、热力图数据发送至第一客户端中,以进行显示。
在该实施例中,可以获取二维图像中虚拟游戏对象的移动轨迹数据和热力图数据,可以将移动轨迹数据、热力图数据发送至第一客户端中,以进行显示。其中,移动轨迹数据可以用于表征虚拟游戏对象的移动轨迹;可以包含用户名、场景编号、坐标位置和时间等数据,可以按照时间和场景进行轨迹数据的划分和显示,并且显示第一客户端中指定的轨迹数据。热力图数据可以用于表示虚拟游戏对象在某场景出现的频率。
考虑到第一客户端需要了解虚拟游戏对象的轨迹和热力图数据来为场景玩法的布置做参考,本公开实施例选择通过二维地图显示虚拟游戏对象的移动轨迹和热力图。
在该实施例中,可以通过数据获取指令,编辑器拉取服务器上的数据,可以按照服务器名和日期拉取数据,按照规则解析数据,对服务器中的游戏数据进行分析得到虚拟游戏对象的轨迹数据并自动上传到版本控制***(Subversion,简称为SVN)中。
可选地,可以将轨迹数据处理成像素数据,以得到数据热力图,并显示在二维数据窗口中。
举例而言,可以以每一个像素数据为圆心按照布雷森汉姆(Bresenham)画圆算法绘制10个圆,并给每个圆赋1-10的权重,计算在图像上每个点的权重值,找出最高值,将图像所有数据归一化处理。可以按照从蓝色到红色的顺序生成色盘,其中,权重最低的位置赋为蓝色,权重最高的位置赋为红色,可以按照每个点的数值在色盘中寻找颜色并进行绘制,以确定热力图数据,可以将热力图数据发送至第一客户端中,以进行显示。
本公开实施例中,可以自动化的生成虚拟游戏对象的轨迹数据和热力图数据并在第一客户端的显示界面中播放和查看,从而方便设计者了解玩法密度信息,为在游戏场景中布置玩法提供便利。
在本公开实施例中,在第一客户端进行游戏编辑的过程中,可以发出数据请求指令,响应于发出的数据请求指令,基于数据请求指令中的目标键值确定至少一第二客户端中的操作数据,可以将至少一第二客户端的操作数据显示在第一客户端中,从而达到了快速获取其他客户端编辑的数据的目的,进而实现了提高对游戏数据的处理效率的技术效果,解决了对游戏数据的处理效率低的技术问题。
下面结合优选的实施方式对本公开实施例的技术方案进行进一步的举例介绍。具体以一种场景动态实体编辑器进行游戏编辑的游戏编辑方法进行进一步说明。
目前,越来越多的公司开始开发开放世界游戏项目,开放世界游戏项目对于场景中玩法内容的部署量和配置量都有着极高的要求,因此,设计一个便捷的支持多人协作的开放世界游戏内容编辑工具具有重要意义。
但是,传统编辑游戏内容的方法操作过程较为复杂,一般需要经过在游戏中查看场景记录对应数据,填写数据表,导入游戏后查看这三个过程,存在不能所见即所得的问题;且无法直观查看相同小组内其他成员编辑的数据,很可能会出现重复编辑或者编辑冲突的情况。同时,传统编辑游戏内容的方法无法宏观查看场景内布置的玩法密度和玩家行为,因此,在对游戏场景数据进行编辑的过程中存在无法准确设计游戏场景数据,导致对游戏编辑的效率低的技术问题。
为解决上述问题,本公开实施例设计了一种对游戏内容进行编辑的方法,通过一种支持多人协作的游戏内容编辑***生成一张平面大地图,通过一张平面的游戏大地图来展示玩法数据的目的。且该***针对游戏玩法内容进行配置,通过划分预先设定的划分标准,对游戏场景数据进行宏观预览,通过实时修改的方式进行游戏内容的填充和调试,从而在游戏编辑的过程中实现了可以快速确定其他客户端中的操作数据的目的,达到了所见即所得的游戏编辑过程,进而避免多人协作困难的情况,解决了对游戏数据的处理效率低的技术问题,实现了提高对游戏数据的处理效率的技术效果。
下面对本公开实施例进行进一步介绍。
在支持多人协作的游戏内容编辑***中,开放世界自由编辑是必不可少的功能。图3是根据本公开其中一实施例的开放世界自由编辑的流程图,如图3所示,该方法可以包括如下步骤。
步骤S301,连接游戏内容编辑***和游戏客户端。
在该实施例中,可以通过远程过程调用将游戏内容编辑***和游戏客户端进行连接,用于数据交换。同时,因为游戏客户端和编辑器之间通信时的数据量大,所以,可以通过修改远程过程调用的通讯设置,提高发送游戏增益的上限。且为了确保游戏客户端在编辑过程中不会和游戏内容编辑***断连,或操作数据的出错和丢失等问题,构建了数据池分帧发送的方式,且增加了断线重连机制。其中,游戏内容编辑***可以为场景动态实体编辑器(在下文中简称为编辑器),可以用于对游戏场景数据进行编辑。
在本公开实施例中,可以通过远程过程调用将客户端中的预制件数据发送至编辑器中,编辑器接受数据并加载。其中,预制件可以为保存在游戏客户端中的文件,可以由模型骨骼等各种数据组成,可以为预设好的实体。
可选地,可以将预制件的数据发送至编辑器中,编辑器接受数据并加载,可以直接通过直接拖入的方式将预制件拖入并写入编辑器中。
举例而言,可以将游戏客户端中的预制件数据按照特定格式发送到编辑器中进行显示,在编辑器中可以拖动该数据到游戏客户端的窗口(显示界面),可以给游戏窗口发送创建该实体的指令,游戏客户端响应该指令完成对实体的构建。
步骤S302,响应于游戏客户端的切换场景指令,获取该场景下的游戏场景数据并加载到游戏客户端中。
在该实施例中,游戏客户端可以选择想要编辑的场景,游戏客户端可以点击显示界面中的切换场景控件,完成场景的切换。编辑器响应于游戏客户端的切换场景指令,可以获取该场景下对应的数据表并加载到游戏客户端中进行显示。
在该实施例中,可以按照视野范围显示游戏场景数据,或者可以按照游戏客户端选择的类型显示游戏场景中的全部游戏场景数据。其中,游戏场景数据可以包括游戏场景中的默认实体(预制体)、非玩家角色、空气墙、陷阱、区域、建筑、相机参数等。
由于游戏场景数据中存在一些在三维场景中无法展示,但可以在平面地图上显示的数据,因此,本公开实施还提出了一种游戏场景数据的宏观预览方法。在该方法中,三维场景中的游戏场景数据和二维图像中的游戏场景数据的显示是互通的,且支持对三维场景和二维图像中的游戏场景数据进行实时编辑和显示。其中,在二维图像中,可以对游戏场景数据进行放大、缩小、拖动和多细节层次显示,此处仅为举例,不对显示方式做具体限制。
图4是根据本公开其中一实施例的查看二维图像的流程图,如图4所示,查看二维图像中的游戏场景数据可以包括如下步骤。
步骤S401,根据缩放大小显示不同细节层次的场景地图。
在该实施例中,可以将游戏场景分割成多块游戏场景区域,且可以将游戏场景区域生成不同精度的二维地图图像,可以随着二维图像放大倍数的变化显示不同精度的二维地图图像。
举例而言,可以将游戏场景切割为36块游戏场景区域,且可以将36块游戏场景区域生成不同精度的二维地图图像,随着地图放大倍数的变化,可以显示不同精度的二维地图图像。需要说明的是,此处的游戏场景区域数量仅为举例说明,如果存在游戏区域变动或者其他需求,可以更改切割数据。
在该实施例中,对游戏场景按块进行切割后,可以按照视野范围,只加载视野范围的游戏场景数据,也可以按照数据类型或者标签类型显示特定的游戏场景数据。为缓解显示的卡顿,可以使用多线程异步加载图片的方式对二维图像进行展示。
举例而言,可以通过鼠标滚轮缩放图片的大小,网格可以成比例缩放,也可以通过鼠标左键完成对二维图像的拖动。
步骤S402,加载二维地图图像的显示区域、标签和图标数据。
在该实施例中,可以在编辑器的窗口选择显示区域位置和标签信息,以方便查看玩法标签的位置和玩法密度,可以自动化的将游戏场景中的标签数据生成到编辑器的二维(2D)数据窗口进行显示中并保存到客户端本地的数据表中。
可选地,可以对二维数据窗口中图标数据的游戏类型进行自定义设计。
举例而言,可以在二维数据窗口按照类型显示不同的实体图标。可以设置网格宽度,网格内可以显示的数量,从而方便客户端查看布置的实体密度,从而提高游戏数据的处理效率。
步骤S403,读取游戏场景数据并显示,支持编辑游戏数据和标签。
在该实施例中,游戏客户端显示的实体数据可以在编辑器的二维数据窗口进行同步显示,可以读取选定的游戏场景数据并在二维数据窗口进行同步显示,可以对窗口中显示的游戏场景数据进行编辑。
举例而言,选中游戏中的某一对象时,可以打开该对象的数据窗口,并将地图聚焦于此。选中对象后,可以通过点击地图上的任一位置,即可将该对象移动到此坐标处。选中对象后,可以用鼠标右键对其进行新增、编辑、删除、聚焦功能,右键点击大地图任一位置,通过确定坐标轴(xz轴)中的值,并向真实场景发送射线,以碰到的第一个面为标准,确认y轴的值,直接布置实体,从而达到在该处新增一个对象的目的。
可选地,所有的修改可以实时应用到游戏客户端窗口中。
步骤S404,根据实际需要显示不同类型的数据。
在该实施例中,编辑器的二维数据窗口可以按照数据类型或者标签类型显示特定的数据、特定区域的数据或显示高线图等,从而可以方便设计者便捷的宏观查看游戏数据,提高了数据编辑的效率。
本公开实施例中,可以宏观查看游戏内的多种数据,从而更好的掌握游戏中的数据信息,可以基于数据窗口中显示的数据,对游戏场景数据进行规划、布置、展示,可以设置游戏的玩法,实体的位置和密度,从而提高游戏数据设计的准确性,提高游戏数据的处理效率。
举例而言,图5是根据本公开其中一实施例的二维数据窗口的示意图,如图5所示,编辑器的二维数据窗口可以包括切换类型显示窗口501、设置玩法标签窗口502、地图窗口503、数据编辑窗口504、启动游戏按键505,通过二维数据窗口可以查看实体布置密度、显示各种区域、高度图、玩家轨迹等,可以对二维数据窗口中显示的地图进行导出。图6是根据本公开其中一实施例的二维地图的示意图,如图6所示,可以通过放大显示精度更高的地图、区域,可以显示该网格内实体数量、轨迹和轨迹热度图,从而可以更精准的掌握客户端中玩家经常待的地方,从而达到准确设计游戏的目的,提高用户的使用粘度。
可选地,当客户端需要了解玩家轨迹和热力图数据来为场景玩法的布置做参考时,可以选择通过二维地图获取玩家轨迹和热力图。图7是根据本公开其中一实施例的获取玩家轨迹和热力图数据的流程图,如图7所示,可以通过以下步骤获取玩家轨迹和热力图数据。
步骤S701,自动拉取和解析数据。
在该实施例中,可以通过数据获取指令,编辑器拉取服务器上的数据,可以按照服务器名和日期拉取数据,按照规则解析数据,生成玩家的轨迹数据并自动上传到版本控制***(Subversion,简称为SVN)中。
步骤S702,可获取多种类型的分类数据并播放。
在该实施例中,轨迹数据可以包含用户名、场景编号、坐标位置和时间等数据,可以按照时间和场景进行轨迹数据的划分和显示,并且播放指定用户的指定数据。
步骤S703,显示数据热力图。
在该实施例中,可以将轨迹数据处理成像素数据,以得到数据热力图,并显示在二维数据窗口中。
可选地,可以以每一个像素数据为圆心按照布雷森汉姆(Bresenham)画圆算法绘制10个圆,并给每个圆赋1-10的权重,计算在图像上每个点的权重值,找出最高值,将图像所有数据归一化处理。可以按照从蓝色到红色的顺序生成色盘,其中,权重最低的位置赋为蓝色,权重最高的位置赋为红色,可以按照每个点的数值在色盘中寻找颜色并绘制出来。
本公开实施例中,可以自动化的生成玩家轨迹数据并在***中播放和查看,从而方便设计者了解玩法密度信息,为在游戏场景中布置玩法提供便利。
步骤S303,自由编辑游戏场景数据。
在该实施例中,可以提供跟随模式,自由模式和俯视模式三种观察模式,自由模式下相机可以在游戏中自由移动,进行游戏场景数据的观察、增加、修改和删除,可以按照数据类型,自定义修改多种类型的数据。
可选地,操作数据可以包括修改默认实体的位置、朝向、尺寸;可以为修改非玩家角色的编号、类型、子类型、阵营等;可以包括修改空气墙类型、显示模式和长宽高;可以包括修改陷阱的位置和半径;可以包括修改区域点的朝向、高度、标识和连接点;可以包括修改建筑的组合边和、子组件编号和归属;可以包括修改相机模式、相机参数、灯光类型、颜色、强度、景深和焦距范围;可以包括修改灯光编号、类型、颜色、强度、范围、半径、内角和外角等,此处仅为举例说明,不对操作数据做具体限制。
可选地,可以设计多种快捷键,方便设计者使用,对于和游戏中冲突的快捷键,会优先使用***里的快捷键操作。
可选地,***提供多种模式用于编辑不同类型的数据,每种模式有定制化的需求,便捷设计者编辑数据。
除了自由编辑游戏内容之外,避免重复工作,节约时间是至关重要的,所以考虑到同一组的成员需要查看其他客户端中其他组员的操作数据的情况,本公开实施例可以基于键值直接确定对应的数据表,并获取到数据表中的数据并更新至本地,工具重新读取该数据并修改游戏数据,从而可以达到多人协作编辑的目的,进一步可以实现提高数据同步处理的效率。
可选地,每个客户端中不同组(Level)中成员的操作数据可以保存在不同数据表中,数据表的命名可以为level对应的键值,当本地客户端想要获取其他客户端中相同组的操作数据时,可以发出一个数据请求,这个数据请求可以为键值,可以基于键值直接确定对应的数据表,并获取到数据表中的数据并更新至本地,工具重新读取该数据并修改游戏数据,从而可以达到多人协作编辑的目的,进一步可以实现提高数据同步处理的效率。图8是根据本公开其中一实施例的多人协作的流程图,如图8所示,多人协作过程可以包括如下步骤。
步骤S801,划分数据组别。
在该实施例中,可以通过划分数据组别的方式,来区分每个成员的操作数据。
需要说明的是,level可以支持多种划分方式,比如,可以按照游戏玩法、地图区域或数据类型进行划分。
举例而言,可以以采集物种类进行level的划分,则可以获取多个人对采集物的操作数据,并进行显示,其中,操作数据可以为删除、添加等操作。
步骤S802,获取全部游戏场景数据,按照组别进行数据管理。
在该实施例中,可以生成一个数据交换格式(JavaScript Object Notation,简称为JSON)对设置信息、上次打开的场景、上次打开的level等信息进行文件的保存可以读取全部的游戏场景数据,可以以level为键值保存在编辑器中,当打开当前level和上次打开的level时,会默认将该level的数据加载到游戏中,可以加载指定的level,方便看到所有level的当前编辑内容。
步骤S803,操作数据的处理。
在该实施例中,新增的操作数据可以生成不重复的递增流水号写入编辑器中,并且写入当前设计者的level中,保存在当前设计者的表里;修改和删除其他成员的表数据会根据流水号寻找到对应的表并保存到对应表里;数据编辑提供保底机制,寻找不到来源的数据会按序写入总表中,确保数据不会丢失或者在表里有较大的位移变化。
步骤S804,查看其他成员的数据。
在该实施例中,可以设置显示和隐藏状态,切换后的结果可以应用到游戏客户端中进行显示。
举例而言,可以用于显隐该level里的游戏场景数据,可以通过切换其他成员的level显隐来查看其他成员的游戏场景数据。
本公开实施例中,展示了多人协作的编辑流程,设计者可以便捷的查看和编辑其他成员的游戏数据,避免重复编辑游戏场景数据,同时所有数据的编辑会保存到本地对应的表中,避免数据错乱。
在本公开实施例中,通过划分level的方式,来区分每个成员的操作数据。level支持多种划分方式,可以按照玩法、地图区域或数据类型划分,可以加载指定的level,也可以加载全部level,每个成员都能看到所有level的当前编辑情况,避免编辑重复或者冲突,从而提高了数据的编辑效率。
步骤S304,保存,热更新并上传操作数据。
在该实施例中,实时修改的操作数据(编辑数据)可以直接保存在本地表中,也可以提交到版本控制***上。保存数据至本地时,可以判断是否需要热更新编辑数据,如果需要,则热更新游戏客户端中的数据和服务器中的数据,同时,可以判断是否需要上传数据至版本控制***中,如果需要,则可将修改数据提交至到版本控制***上进行保存。
可选地,可以选择服务器并且导表,或者可以根据实际情况对游戏场景数据进行热更,游戏客户端和服务器,可以直接在游戏中查看导表效果。
可选地,通过对操作数据的多种存储方式可以实现在开放游戏场景中方便快捷的生成操作数据,且可以将操作数据实时应用到游戏客户端中查看效果,并可一键上传到版本控制***中。
举例而言,在编辑器内可以完成游戏内容编辑,导出游戏场景数据,上传服务器和/或版本控制***中,其中,可以预先选择存储数据的服务器。对于编辑好的内容可以保存在本地的数据表中,可以从本地的数据表中导出游戏需要使用的数据,可以热更新至游戏客户端和服务器,也可以直接上传游戏场景数据至版本控制***中游戏数据。
在本公开实施例中,预加载游戏场景数据,针对支持编辑的内容,加载包围盒和醒目的名字,提供方便的点选,移动,旋转等操作;支持自由新增,修改和删除游戏实体数据,所有修改会在游戏中即时生效;可以根据实际情况进行方案的扩展,从而可以适用于多种游戏类型的配置,比如,非客户玩家、采集物、空气墙、陷阱、建筑、路点和区域等多种类型数据。
本公开可以极大地提高游戏内容编辑效率,简化游戏内容编辑的流程,节约设计师的时间和配置成本,提高游戏内容编辑的质量,该***易扩展易维护,可针对不同游戏类型进行定制化的处理,优化表现效果,降低编辑难度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
在本实施例中还提供了一种数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本公开实施例的一种数据处理装置的结构框图,如图9所示,该数据处理装置可以包括:获取单元902、第一确定单元904、第二确定单元906和处理单元908。
获取单元902,用于获取来自第一客户端的数据请求指令;
第一确定单元904,用于确定数据请求指令中的目标键值;
第二确定单元906,用于确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;
处理单元908,用于基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。
在该实施例中,通过获取单元获取来自第一客户端的数据请求指令;通过第一确定单元确定数据请求指令中的目标键值;通过第二确定单元确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;通过处理单元,基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据,从而解决了对游戏数据的处理效率低的技术问题,实现了提高对游戏数据的处理效率的技术效果。
需要说明的是,上述各个单元是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述单元均位于同一处理器中;或者,上述各个单元以任意组合的形式分别位于不同的处理器中。
本公开的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取来自第一客户端的数据请求指令;
S2,确定数据请求指令中的目标键值;
S3,确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;
S4,基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取来自第一客户端的数据请求指令;
S2,确定数据请求指令中的目标键值;
S3,确定与目标键值对应的至少一第二客户端的操作数据,其中,操作数据为对至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,目标键值用于确定操作数据的存放位置;
S4,基于操作数据对第一客户端中显示的原始游戏场景数据进行修改,得到第一客户端的待显示游戏场景数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
图10是根据本公开实施例的一种电子装置的示意图。如图10所示,电子装置1000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,电子装置1000以通用计算设备的形式表现。电子装置1000的组件可以包括但不限于:上述至少一个处理器910、上述至少一个存储器1020、连接不同***组件(包括存储器1020和处理器1010)的总线1030和显示器1040。
其中,上述存储器1020存储有程序代码,所述程序代码可以被处理器1010执行,使得处理器1010执行本申请实施例的上述方法部分中描述的根据本公开各种示例性实施方式的步骤。
存储器1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。
在一些实例中,存储器1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。存储器1020可进一步包括相对于处理器1010远程设置的存储器,这些远程存储器可以通过网络连接至电子装置1000。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理器1010或者使用多种总线结构中的任意总线结构的局域总线。
显示器1040可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与电子装置1000的用户界面进行交互。
可选地,电子装置1000也可以与一个或多个外部设备1400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子装置1000交互的设备通信,和/或与使得该电子装置1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子装置1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1060通过总线1030与电子装置1000的其它模块通信。应当明白,尽管图10中未示出,可以结合电子装置1000使用其它硬件和/或软件模块,可以包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
上述电子装置1000还可以包括:键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、网络接口、电源和/或相机。
本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置1000还可包括比图10中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器1020可用于存储计算机程序及对应的数据,如本公开实施例中的数据处理方法对应的计算机程序及对应的数据。处理器1010通过运行存储在存储器1020内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
获取来自第一客户端的数据请求指令;
确定所述数据请求指令中的目标键值;
确定与所述目标键值对应的至少一第二客户端的操作数据,其中,所述操作数据为对所述至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,所述目标键值用于确定所述操作数据的存放位置;
基于所述操作数据对所述第一客户端中显示的所述原始游戏场景数据进行修改,得到所述第一客户端的待显示游戏场景数据。
2.根据权利要求1所述的方法,其特征在于,确定与所述目标键值对应的所述至少一第二客户端的操作数据,包括:
将所述至少一第二客户端中,名称为所述目标键值的数据表确定为目标数据表;
从所述目标数据表的数据中确定所述操作数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取客户端集的操作数据,其中,所述客户端集包括所述第一客户端和所述至少一第二客户端;
将所述操作数据存储至数据表中,其中,所述数据表包括目标数据表。
4.根据权利要求3所述的方法,其特征在于,所述客户端集中每个所述客户端的操作数据为至少一组操作对象的操作数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述操作对象的组别对应的键值,确定为所述操作对象的所述数据表的名称,其中,所述键值用于表征所述组别的信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述待显示游戏场景数据发送至所述第一客户端,以进行显示。
7.根据权利要求6所述的方法,其特征在于,将所述待显示游戏场景数据发送至所述第一客户端,以进行显示,包括:
对所述待显示游戏场景数据中的地图数据进行分割,以确定每个游戏视野下对应的待显示目标游戏地图数据;
将所述每个游戏视野范围下对应的待显示目标游戏地图数据发送至所述第一客户端中进行显示。
8.根据权利要求1所述的方法,其特征在于,将所述待显示游戏场景数据发送至所述第一客户端,以进行显示,包括:
响应于切换指令,将所述切换指令中指示的所述待显示游戏场景数据发送至所述第一客户端中进行显示。
9.根据权利要求7所述的方法,其特征在于,将所述待显示游戏场景数据发送至所述第一客户端,以进行显示,包括:
将所述待显示游戏场景数据以三维场景和/或二维图像的形式发送至所述第一客户端中,以进行显示。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
获取所述二维图像中虚拟游戏对象的移动轨迹数据和热力图数据;
将所述移动轨迹数据、所述热力图数据发送至所述第一客户端中,以进行显示。
11.一种数据处理装置,其特征在于,包括:
获取单元,用于获取来自第一客户端的数据请求指令;
第一确定单元,用于确定所述数据请求指令中的目标键值;
第二确定单元,用于确定与所述目标键值对应的至少一第二客户端的操作数据,其中,所述操作数据为对所述至少一第二客户端中显示的原始游戏场景数据进行编辑的数据,所述目标键值用于确定所述操作数据的存放位置;
处理单元,用于基于所述操作数据对所述第一客户端中显示的所述原始游戏场景数据进行修改,得到所述第一客户端的待显示游戏场景数据。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为被处理器运行时执行权利要求1至10中任一项中所述的方法。
13.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至10中任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211483118.5A CN115779438A (zh) | 2022-11-24 | 2022-11-24 | 数据处理方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211483118.5A CN115779438A (zh) | 2022-11-24 | 2022-11-24 | 数据处理方法、装置、存储介质和电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115779438A true CN115779438A (zh) | 2023-03-14 |
Family
ID=85441069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211483118.5A Pending CN115779438A (zh) | 2022-11-24 | 2022-11-24 | 数据处理方法、装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115779438A (zh) |
-
2022
- 2022-11-24 CN CN202211483118.5A patent/CN115779438A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7511966B2 (ja) | 仮想シーンの表示方法、装置、機器、及びコンピュータープログラム | |
KR101863041B1 (ko) | 저작 시스템을 이용한 재생가능한 장면의 생성 | |
JP4675855B2 (ja) | 情報処理装置、ユーザインタフェース方法及びプログラム | |
US20230168805A1 (en) | Configuration of application execution spaces and sub-spaces for sharing data on a mobile touch screen device | |
US20120107790A1 (en) | Apparatus and method for authoring experiential learning content | |
WO2020035007A1 (zh) | 一种应用程序图标的位置调整方法及显示终端 | |
JP2016137106A (ja) | 構築方法、プログラム、情報処理システム及び情報処理装置 | |
US20180373504A1 (en) | Graphical interface to generate instructions to control a representation by an output interface of one or more objects | |
CN110047123A (zh) | 一种地图渲染方法、装置、存储介质及计算机程序产品 | |
EP4268913A1 (en) | Position adjustment method and apparatus for operation controls, and terminal, and storage medium | |
KR20190138798A (ko) | 실시간 협업을 위한 라이브 잉크 프레즌스 | |
Zhang et al. | Vrgit: A version control system for collaborative content creation in virtual reality | |
JP5838278B1 (ja) | コンピュータプログラム | |
US20230350554A1 (en) | Position marking method, apparatus, and device in virtual scene, storage medium, and program product | |
JP5467123B2 (ja) | 情報処理装置および情報処理方法 | |
WO2021154101A1 (en) | Software broker for assets managed with nested instancing | |
CN102857826B (zh) | 一种基于循环队列的图文播放方法及装置 | |
US11710288B2 (en) | Editing a virtual reality space | |
JP5767371B1 (ja) | 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム | |
CN115779438A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
JPH0816824A (ja) | 3次元計算機支援設計装置及び方法 | |
CN1409218A (zh) | 虚拟环境生成方法 | |
JP4675856B2 (ja) | 情報処理装置、ユーザインタフェース方法及びプログラム | |
CN113821147A (zh) | 按键绑定方法、装置以及*** | |
KR100974915B1 (ko) | 하이라키 구조의 그래픽 리소스의 가공 방법 |
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 |