首页> 中国专利> 逻辑结构数据处理方法、装置及可视化逻辑编辑处理系统

逻辑结构数据处理方法、装置及可视化逻辑编辑处理系统

摘要

本申请涉及逻辑结构数据处理方法、装置及可视化逻辑编辑处理系统,对于可复用的子结构数据,可以在在游戏的逻辑结构中添加或删除,不同的游戏逻辑结构可以调用同一子结构数据,即子结构数据可以被多次复用,这样,可以简化游戏逻辑结构的开发过程,开发人员无需手动编辑所有的逻辑节点,可基于功能选择所需的子结构数据添加到游戏逻辑结构中或从游戏逻辑结构中删除所需的子结构数据,从而大大降低了游戏逻辑开发的复杂性及游戏逻辑开发门槛,提升游戏开发效率,节约大量时间成本和人力成本。

著录项

  • 公开/公告号CN112685024A

    专利类型发明专利

  • 公开/公告日2021-04-20

    原文格式PDF

  • 申请/专利权人 成都完美天智游科技有限公司;

    申请/专利号CN202011538669.8

  • 发明设计人 范靖宇;陈济忠;冯越宇;

    申请日2020-12-23

  • 分类号G06F8/34(20180101);A63F13/60(20140101);

  • 代理机构11662 北京华夏泰和知识产权代理有限公司;

  • 代理人沈园园

  • 地址 610015 四川省成都市中国(四川)自由贸易试验区成都高新区天府大道中段1388号1栋12层1235号

  • 入库时间 2023-06-19 10:41:48

说明书

技术领域

本申请涉及游戏开发技术领域,尤其涉及逻辑结构数据处理方法、装置及可视化逻辑编辑处理系统。

背景技术

随着游戏行业整体的日趋成熟,游戏开发的门槛也日益降低,游戏团队比拼的不再是能否开发出游戏,而是如何快速地开发游戏、快速地产出游戏内容。游戏内容包含了代码、游戏逻辑、美术资源,其中,游戏逻辑通常采用以下两种方式开发:

1、通过配置表格、文档等方式来实现编辑;

2、自行开发游戏逻辑编辑器,实现可视化的逻辑开发。

其中,第一种方式由于只能实现简单逻辑,在当前基本只存在于开发能力较弱的小型团队中,中大型团队通常会采用第二种方式。

为了适应高度自由化的逻辑结构,新型的游戏编辑器通常采用图状结构进行数据的组织,但随着游戏逻辑的逐渐复杂化,一张游戏逻辑图动辄成百上千个逻辑节点,而项目中游戏逻辑图数量也会随着时间线性增加,达到上万甚至十万以上级别,无论是编写游戏逻辑图或是维护现有的游戏逻辑图,都会耗费大量的时间成本和人力成本,严重限制了游戏开发效率的提升。

发明内容

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了逻辑结构数据处理方法、装置及可视化逻辑编辑处理系统。

根据本申请实施例的一个方面,提供了一种逻辑结构数据处理方法,包括:

获取待变更的第一逻辑结构数据以及第一子结构数据,其中,所述第一逻辑结构数据包括游戏各逻辑节点的节点数据,所述第一子结构数据包括至少一个逻辑节点对应的节点数据,每个子结构数据对应一个展示节点;

确定所述第一子结构数据对应的第一展示节点,在所述第一逻辑结构数据中的第一入口节点信息和第一出口节点信息;

根据所述第一入口节点信息和第一出口节点信息,在所述第一逻辑结构数据中变更所述第一子结构数据,得到第二逻辑结构数据;

将所述第二逻辑结构数据,转换为序列化数据进行存储,其中,所述第二逻辑结构数据中包括所述第一子结构数据的第一子结构标识。

可选的,所述获取待变更的第一逻辑结构数据,包括:

加载引用的模板数据;

根据所述模板数据生成所述第一逻辑结构数据。

可选的,所述方法还包括:

当确定所述模板数据处于锁定状态,所述模板数据更新时,自动同步更新后的模板数据;当确定所述模板数据处于非锁定状态时,根据被触发的预设选择操作,同步更新后的模板数据;

根据所述更新后的模板数据更新所述第二逻辑结构数据;

将所述更新后的所述第二逻辑结构数据,转换为序列化数据进行存储。

可选的,所述方法还包括:

获取对所述模板数据的修改数据;

使用所述修改数据覆盖所述模板数据中所述修改数据对应的被修改数据,得到修改后的模板数据;

根据所述修改后的模板数据修改所述第二逻辑结构数据;

将所述修改后的所述第二逻辑结构数据,转换为序列化数据进行存储。

可选的,所述方法还包括:

加载引用的宏定义数据,所述宏定义数据包括至少一个逻辑节点对应的节点数据及待输入参数,所述宏定义数据的每个逻辑节点分别对应一个展示节点;

根据所述待输入参数的输入值及所有逻辑节点对应的节点数据,确定所述宏定义数据对应的第三逻辑结构数据;

在所述第二逻辑结构中添加所述第三逻辑结构数据,得到第四逻辑结构数据;

将所述第四逻辑结构数据,转换为序列化数据进行存储,其中,所述第四逻辑结构数据中包括所述宏定义数据对应的宏标识及所述待输入参数的输入值。

可选的,当所述宏定义数据使用所述第二子结构数据时,所述确定所述宏定义数据对应的第三逻辑结构数据,包括:

确定所述第二子结构数据对应的第二展示节点,在所述宏定义数据中的第二入口节点信息和第二出口节点信息;

根据所述第二入口节点信息和第二出口节点信息,在所述宏定义数据中添加所述第二子结构数据,得到所述第三逻辑结构数据。

可选的,所述方法还包括:

当所述宏定义数据发生变更时,自动更新所述第四逻辑结构数据;

将更新后的所述第四逻辑结构数据,转换为序列化数据进行存储。

可选的,所述方法还包括:当接收到对所述第一子结构数据的修改操作时,根据修改后的第一子结构数据,同步修改所述第二逻辑结构数据。

根据本申请实施例的另一个方面,提供了一种逻辑结构数据处理装置,包括:

获取模块,用于获取待变更的第一逻辑结构以及第一子结构数据,其中,所述第一逻辑结构包括游戏对应的逻辑节点,所述第一子结构数据包括至少一个逻辑节点对应的结构数据,每个子结构数据对应一个展示节点;

逻辑节点确定模块,用于确定所述第一子结构数据对应的第一逻辑节点在所述第一逻辑结构中的第一入口节点和第一出口节点;

变更模块,用于根据所述第一入口节点和第一出口节点,在所述第一逻辑结构中变更所述第一逻辑节点,得到第二逻辑结构;

序列化模块,用于将所述第二逻辑结构对应的逻辑结构数据,转换为序列化数据进行存储,其中,所述逻辑结构数据中包括所述第一子结构数据的第一子结构标识。

根据本申请实施例的另一个方面,提供了一种可视化逻辑编辑处理系统,包括:通过网络连接的客户端、数据服务器及序列化服务器;

所述数据服务器,用于存储第一逻辑结构数据和第一子结构数据;其中,所述第一逻辑结构数据包括游戏各逻辑节点的节点数据,所述第一子结构数据包括至少一个逻辑节点对应的节点数据,每个子结构数据对应一个展示节点;

所述客户端,用于从所述数据服务器读取第一逻辑结构数据以及第一子结构数据;确定所述第一子结构数据对应的第一展示节点,在所述第一逻辑结构数据中的第一入口节点信息和第一出口节点信息;根据所述第一入口节点信息和第一出口节点信息,在所述第一逻辑结构数据中变更所述第一子结构数据,得到第二逻辑结构数据;将所述第二逻辑结构数据发送给所述数据服务器;

所述数据服务器,用于存储所述第二逻辑结构数据,生成所述第二逻辑结构数据对应的存储日志,并更新数据时间戳;

所述序列化服务器,用于监测所述数据服务器中的存储日志和数据时间戳;当根据所述存储日志和数据时间戳确定数据更新后,读取所述数据服务器中的第二逻辑结构数据,将所述第二逻辑结构数据转换为序列化数据后存储。

根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。

根据本申请实施例的另一个方面,提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行计算机程序时,实现上述方法步骤。

根据本申请实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

对于可复用的子结构数据,可以在在游戏的逻辑结构中添加或删除,不同的游戏逻辑结构可以调用同一子结构数据,即子结构数据可以被多次复用,这样,可以简化游戏逻辑结构的开发过程,开发人员无需手动编辑所有的逻辑节点,可基于功能选择所需的子结构数据添加到游戏逻辑结构中或从游戏逻辑结构中删除所需的子结构数据,从而大大降低了游戏逻辑开发的复杂性及游戏逻辑开发门槛,提升游戏开发效率,节约大量时间成本和人力成本。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的子结构数据绑定的逻辑结构示意图;

图2为本申请实施例提供的子结构数据的展示示意图;

图3为本申请实施例提供的一种逻辑结构数据处理方法的流程图;

图4为本申请实施例提供的宏定义数据绑定的逻辑结构示意图;

图5为本申请实施例提供的一种逻辑结构数据处理方法的流程图;

图6为本申请另一实施例提供的一种逻辑结构数据处理方法的流程图;

图7为本申请另一实施例提供的一种逻辑结构数据处理方法的流程图;

图8为本申请另一实施例提供的一种逻辑结构数据处理方法的流程图;

图9为本申请另一实施例提供的一种逻辑结构数据处理方法的流程图;

图10为本申请实施例提供的一种逻辑结构数据处理装置的框图;

图11为本申请实施例提供的一种逻辑结构数据处理系统的框图;

图12为本申请实施例提供的客户端界面示意图;

图13为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

为提高对复杂游戏逻辑的开发效率,本申请实施例,将可复用的逻辑结构提取出来,在相同或不同游戏逻辑中重复使用,以简化游戏逻辑的开发和维护,降低时间成本和人力成本。

下面首先对本申请实施例所提供的一种逻辑结构数据处理方法进行介绍。

本实施例中,游戏逻辑,指的是游戏规则,可通过流程体现。游戏逻辑由大量相互关联的逻辑节点组成。例如,如图1所示,游戏中的非玩家角色(Non-Player Character,简称NPC)具有查询敌人、攻击敌人及休息的功能。NPC“查询周围敌人”,在判断周围有敌人时,执行“攻击敌人”,在判断周围无敌人,则“休息”,休息结束后继续“查询周围敌人”……这些就属于游戏逻辑。

子结构数据即为可复用逻辑结构,基于已有的子结构数据可以构建一个新的游戏逻辑结构,也可以在不同的已有游戏逻辑结构中添加、删除或修改子结构数据。

子结构数据通过将一系列可复用逻辑结构封装得到,提供特定的输入输出端口。子结构数据中可以包含大量复杂逻辑节点的组合,但在游戏逻辑中,子结构数据所对应的逻辑结构仅以单节点形式展示。子结构数据本身可以无限递归嵌套,即可以支撑无限大的逻辑复杂度,但展示在用户界面的只有一个节点,从而达到高度复用和简化游戏逻辑图的目的。

可选的,子结构数据包括以下数据:

1)子结构名,用于游戏逻辑编辑器中的展示和筛选;

2)子结构全局唯一ID,用于使用处的数据存储;

3)子结构绑定的逻辑结构;

4)执行输入端口:用于连接游戏逻辑的上一步来源;

5)数据输入端口:用于获取游戏逻辑的信息输入;

6)执行输出端口:用于连接游戏逻辑的下一步节点;

7)数据输出端口:用于输出游戏逻辑信息到下一步节点中。

在可选实施例中,生成子结构数据的过程如下:

步骤A1,获取逻辑结构,该逻辑结构可以为用户编辑得到,或者从已有的游戏逻辑中选择的部分逻辑结构,并添加入口节点和出口节点的定义。

该逻辑结构中可以包含多个逻辑节点,如图1所示,用户可以编辑由多个游戏逻辑节点“查询周围敌人”、“攻击敌人”及“休息”组成的逻辑结构。

步骤A2,将逻辑结构封装为子结构数据:

-生成子结构名,其中,子结构名可以基于逻辑结构对应的名称生成,如图1所示的逻辑结构,子结构名为:[子结构]巡逻;

-将逻辑结构的入口节点,转为子结构的输入端口,其中,输入端口包括:执行输入端口和数据输入端口;

-将逻辑结构的出口节点,转为子结构的输出端口,其中,输出端口包括:执行输出端口和数据输出端口;

-生成子结构数据的全局唯一ID。

基于上述步骤A1和步骤A2,生成子结构数据后,如图2所示,该子结构数据“收缩”为一个展示节点。如图1所示的逻辑结构,最终仅展示为“巡逻”节点。

子结构数据的执行输入端口和数据输入端口绑定事件入口节点的执行输出端口和数据输出端口,其执行输出端口和执行输入端口绑定事件输出节点的执行输出端口和数据输出端口。

在游戏的整体逻辑结构中,可以将子结构数据作为一个普通的逻辑节点进行添加和删除,其中,可以添加多个子结构数据,也可重复添加同一个子结构数据。在保存游戏的逻辑结构数据时,子结构数据作为普通逻辑节点进行保存,同时可以额外存储子结构数据的全局唯一ID。

图3为本申请实施例提供的一种逻辑结构数据处理方法的流程图。如图3所示,该方法包括以下步骤:

步骤S11,获取待变更的第一逻辑结构数据以及第一子结构数据,其中,第一逻辑结构数据包括游戏各逻辑节点的节点数据,第一子结构数据包括至少一个逻辑节点对应的节点数据,每个子结构数据对应一个展示节点。

步骤S12,确定第一子结构数据对应的第一展示节点,在第一逻辑结构数据中的第一入口节点信息和第一出口节点信息。

步骤S13,根据第一入口节点信息和第一出口节点信息,在第一逻辑结构数据中变更第一子结构数据,得到第二逻辑结构数据。

步骤S14,将第二逻辑结构数据,转换为序列化数据进行存储,其中,第二逻辑结构数据中包括第一子结构数据的第一子结构标识。

其中,第一子结构标识包括该第一子结构数据的全局唯一ID。为了保证游戏服务器或客户端的运行效率,通常使用自定义的序列化数据结构来存储游戏的逻辑结构数据,通常和游戏编辑器保存时的数据结构有差异(如会剔除部分数据)。

序列化数据的转换方式可以根据实际需求,选择如Json、XML、Protobuf等二进制序列化方式。

例如,需要创建NPC A和NPC B,其中,NPC A具有接受对话、在指定区域内巡逻及对指定事件进行响应的功能。而NPC B具有在指定区域内巡逻的功能。其中,该巡逻功能可以通过上述子结构数据“巡逻”来实现。因此,在创建NPC的游戏逻辑结构时,可以调用上述子结构数据“巡逻”,即NPC A和NPC B共用相同的子结构数据“巡逻”。

通过上述步骤S11至步骤S14,对于可复用的子结构数据,可以在在游戏的逻辑结构中添加或删除,不同的游戏逻辑结构可以调用同一子结构数据,即子结构数据可以被多次复用,这样,可以简化游戏逻辑结构的开发过程,开发人员无需手动编辑所有的逻辑节点,可基于功能选择所需的子结构数据添加到游戏逻辑结构中或从游戏逻辑结构中删除所需的子结构数据,从而大大降低了游戏逻辑开发的复杂性及游戏逻辑开发门槛,提升游戏开发效率,节约大量时间成本和人力成本。

在可选实施例中,当需要对子结构数据进行变更时,可以直接修改该子结构数据中绑定的逻辑结构,重新生成该子结构数据的输入端口和输出端口,同时保证其全局唯一ID不变。在对子结构数据修改后,引用该子结构数据的所有游戏逻辑结构数据都可同步被自动修改。因此,该方法还包括:当接收到对第一子结构数据的修改操作时,根据修改后的第一子结构数据,同步修改第二逻辑结构数据。

由于第二逻辑结构数据中包括该第一子结构数据的第一子结构标识,因此,当子结构数据发生变更时,可以基于子结构标识查询到所有引用该子结构数据的逻辑结构数据,进而可将对子结构数据的变更同步到所有的游戏逻辑结构,避免开发人员一个个修改,简化对游戏逻辑的更新和维护操作,提高游戏开发效率。

在可选实施例中,还可将可复用的逻辑结构封装为宏定义数据,使用宏定义数据进行游戏逻辑编辑。

可选的,宏定义数据的具体结构如下:

1)宏定义名,用于游戏逻辑编辑器中的展示和筛选;

2)宏定义的全局唯一ID,用于使用处的数据存储;

3)宏定义绑定的逻辑结构;

4)宏定义的输入参数列表,用于接收使用处的自定义输入。

如图4所示,宏定义绑定的逻辑结构包括入口节点、逻辑节点和子结构对应的展示节点(简称“子图节点”)。宏定义的输入参数列表为图4中的“宏定义入参列表”,参数A、B、C可由用户自定义。

在可选实施例中,生成宏定义数据的过程如下:

步骤B1,获取逻辑结构,该逻辑结构可以为用户编辑得到,或者从已有的游戏逻辑中选择的部分逻辑结构,

步骤B2,将逻辑结构转换为宏定义数据:

-生成宏定义名,其中,宏定义名可以基于逻辑结构对应的名称生成,例如,宏定义名为:[宏]新手引导;

-生成宏定义的全局唯一ID。

下面对本申请实施例中通过宏定义数据对游戏逻辑结构的修改进行详细说明。

图5为本申请实施例提供的一种逻辑结构数据处理方法的流程图。如图5所示,该方法还包括以下步骤:

步骤S21,加载引用的宏定义数据,宏定义数据包括至少一个逻辑节点对应的节点数据及待输入参数,宏定义数据的每个逻辑节点分别对应一个展示节点。

步骤S22,根据待输入参数的输入值及所有逻辑节点对应的节点数据,确定宏定义数据对应的第三逻辑结构数据。

步骤S23,在第二逻辑结构中添加第三逻辑结构数据,得到第四逻辑结构数据。

步骤S24,将第四逻辑结构数据,转换为序列化数据进行存储,其中,第四逻辑结构数据中包括宏定义数据对应的宏标识及待输入参数的输入值。

本实施例中,宏定义数据与子结构数据虽然都封装了可复用逻辑结构,但在在游戏逻辑编辑器中,子结构会“收缩”为单一展示节点,而宏定义则在任何引用中均处于展开状态,即所有节点和执行逻辑均可见,但不可变更。当在游戏逻辑结构中加载了宏定义数据,则按照该宏定义数据绑定的逻辑结构,展开为多个展示节点的组合进行展示。另外,宏定义不可被执行流所连接,其本身的逻辑结构是自闭合的。在使用宏定义时,会暴露多个输入参数,供调用处进行自定义的填写。在游戏逻辑结构中可添加多个宏定义,也可以重复添加同一个宏定义。在对添加宏定义数后的逻辑结构数据保存时,不会保存宏定义展开后的节点信息,只保存宏定义的全局唯一ID,和自定义的参数输入。

通过上述步骤S21至步骤S24,对于可复用的宏定义数据,可以在在游戏的逻辑结构中添加或删除,不同的游戏逻辑结构可以调用同一宏定义数据,即宏定义数据可以被多次复用,这样,可以简化游戏逻辑结构的开发过程,开发人员无需手动编辑所有的逻辑节点,可基于功能选择所需的宏定义数据添加到游戏逻辑结构中或从游戏逻辑结构中删除所需的宏定义数据,从而大大降低了游戏逻辑开发的复杂性及游戏逻辑开发门槛,提升游戏开发效率,节约大量时间成本和人力成本。

在可选实施例中,在宏定义数据中,可以使用子结构数据。当宏定义数据使用第二子结构数据时,上述步骤S22,确定宏定义数据对应的第三逻辑结构数据,包括:

步骤C1,确定第二子结构数据对应的第二展示节点,在宏定义数据中的第二入口节点信息和第二出口节点信息;

步骤C2,根据第二入口节点信息和第二出口节点信息,在宏定义数据中添加第二子结构数据,得到第三逻辑结构数据。

在可选实施例中,当需要对宏定义数据进行变更时,可以直接修改宏定义数据中绑定的逻辑结构,保存修改后的宏定义数据时无需额外生成信息,也不改变全局唯一ID。在对宏定义数据修改后,使用该宏定义数据的所有游戏逻辑结构数据都可同步被自动修改。因此,该方法还包括:当宏定义数据发生变更时,自动更新第四逻辑结构数据;将更新后的第四逻辑结构数据,转换为序列化数据进行存储。

由于第四逻辑结构数据中包括该宏定义数据的全局唯一ID,因此,当宏定义数据发生变更时,可以基于全局唯一ID查询到所有使用该宏定义数据的逻辑结构数据,进而可将对宏定义数据的变更同步到所有的游戏逻辑结构,避免开发人员一个个修改,简化对游戏逻辑的更新和维护操作,提高游戏开发效率。

在可选实施例中,上述游戏的逻辑结构数据可以基于预先定义的模板数据生成。

其中,模板数据可以为一种强制性结构数据,所有使用该模板数据的游戏,都会生成与该模板数据完全相同的结构,执行相同的逻辑。但是,使用模板数据的游戏逻辑结构数据可以自定义数据输入,从而达到逻辑复用,保证逻辑稳定性及应用的灵活性。

可选的,模板数据的具体结构如下:

1)模板名,用于游戏逻辑编辑器中的展示和筛选;

2)模板全局唯一ID,用于引用处的数据存储;

3)模板绑定的逻辑结构。

在可选实施例中,生成模板数据的过程如下:

步骤D1,获取逻辑结构,该逻辑结构可以为用户编辑得到,或者从已有的游戏逻辑中选择得到。

步骤D2,将逻辑结构转换为模板数据:

-生成模板名,其中模板名可以基于逻辑结构对应的名称生成,例如,模板名为:[模板]精英怪;

-生成模板的全局唯一ID。

图6为本申请另一实施例提供的一种逻辑结构数据处理方法的流程图。如图6所示,上述步骤S11中,获取待变更的第一逻辑结构数据,包括以下步骤:

步骤S31,加载引用的模板数据;

步骤S32,根据模板数据生成第一逻辑结构数据。

其中,一个游戏逻辑结构仅可以引用一份模板数据。

通过上述步骤S31至步骤S32,通过使用模板数据来构建游戏的逻辑结构数据,可简化游戏逻辑结构的开发过程,更加快速地实现游戏逻辑的开发,大大降低了游戏逻辑开发的复杂性及游戏逻辑开发门槛,提升游戏开发效率,节约大量时间成本和人力成本。

在可选实施例中,当引用模板生成逻辑结构数据后,可以设置模板状态为锁定或非锁定,模板状态的不同将影响后续是否自动同步模板变更。图7为本申请另一实施例提供的一种逻辑结构数据处理方法的流程图。如图7所示,该方法还包括:

步骤S41,当确定模板数据处于锁定状态,模板数据更新时,自动同步更新后的模板数据;

步骤S42,当确定模板数据处于非锁定状态时,根据被触发的预设选择操作,同步更新后的模板数据;

步骤S43,根据更新后的模板数据更新第二逻辑结构数据;

步骤S44,将更新后的第二逻辑结构数据,转换为序列化数据进行存储。

其中,当模板状态为锁定状态时,保存逻辑结构数据时,仅保存模板数据的全局唯一ID以及自定义数据,这样,当模板数据更新时,根据该全局唯一ID,可以将更新自动同步到基于模板数据生成的逻辑结构数据。当模板状态为非锁定状态时,保存逻辑结构数据时,存储模板的全部节点信息(相当于复制操作),这样,当模板数据更新时,只有用户手动选择同步更新,才会将模板数据的更新同步到基于模板数据生成的逻辑结构数据。

在另一实施例中,当需要对模板数据进行变更时,可以直接修改模板数据中绑定的逻辑结构,保存修改后的模板数据时无需额外生成信息,也不改变全局唯一ID。图8为本申请另一实施例提供的一种逻辑结构数据处理方法的流程图。如图8所示,该方法还包括:

步骤S51,获取对模板数据的修改数据;

步骤S52,使用修改数据覆盖模板数据中修改数据对应的被修改数据,得到修改后的模板数据;

步骤S53,根据修改后的模板数据修改第二逻辑结构数据;

步骤S54,将修改后的第二逻辑结构数据,转换为序列化数据进行存储。

由于修改后的第二逻辑结构数据中包括该模板数据的全局唯一ID,因此,当模板数据发生变更时,可以基于全局唯一ID查询到所有使用该模板数据的逻辑结构数据,进而可将对模板数据的变更同步到所有的游戏逻辑结构,避免开发人员一个个修改,简化对游戏逻辑的更新和维护操作,提高游戏开发效率。

下面以一个具体的实例对上述实施例中游戏逻辑结构数据的处理过程进行详细说明。

其中,游戏逻辑结构引用了模板数据T1,同时自定义修改了其中的数据D1、D2;模板数据T1中使用了宏定义数据M1、M2,同时自定义了输入参数I1、I2;模板数据T1中同时使用了子结构数据S1、S2;宏定义数据M1中使用了子结构数据S3;宏定义数据M2中使用了子结构数据S4。

图9为本申请另一实施例提供的一种逻辑结构数据处理方法的流程图。如图9所示,该方法包括以下步骤:

S61,加载模板数据T1,生成模板数据对应的逻辑结构数据G1;

S62,将子结构数据S1和S2添加到G1中,得到G1′;

S63,加载宏定义数据M1,生成逻辑结构数据G2;加载宏定义数据M2,生成逻辑结构数据G3;

S64,将子结构数据S3添加到G2中,得到G2′,将子结构数据S4添加到G3中,得到G3′;

S65,将G2′和G3′合入G1′,得到G1″;

S66,使用自定义修改数据D1和D2,覆盖G1″中相应的数据,得到游戏的最终逻辑结构数据G;

S67,调用序列化接口,生成并存储G对应的序列化数据S。

通过上述步骤S61至步骤S67,可以同时使用模板数据、宏定义数据和子结构数据来编辑生成游戏逻辑结构,开发人员无需再手动编辑所有的逻辑节点,大大降低了游戏逻辑开发的复杂性及游戏逻辑开发门槛,提升游戏开发效率,节约大量时间成本和人力成本。

下述为本申请装置实施例,可以用于执行本申请方法实施例。

图10为本申请实施例提供的一种逻辑结构数据处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图10所示,该逻辑结构数据处理装置包括:

获取模块701,用于获取待变更的第一逻辑结构以及第一子结构数据,其中,第一逻辑结构包括游戏对应的逻辑节点,第一子结构数据包括至少一个逻辑节点对应的结构数据,每个子结构数据对应一个展示节点;

逻辑节点确定模块702,用于确定第一子结构数据对应的第一逻辑节点在第一逻辑结构中的第一入口节点和第一出口节点;

变更模块703,用于根据第一入口节点和第一出口节点,在第一逻辑结构中变更第一逻辑节点,得到第二逻辑结构;

序列化模块704,用于将第二逻辑结构对应的逻辑结构数据,转换为序列化数据进行存储,其中,逻辑结构数据中包括第一子结构数据的第一子结构标识。

可选的,获取模块701,用于加载引用的模板数据;根据所述模板数据生成所述第一逻辑结构数据。

可选的,该装置还包括:同步模块705和第一更新模块706。

同步模块705,用于当确定所述模板数据处于锁定状态,所述模板数据更新时,自动同步更新后的模板数据;当确定所述模板数据处于非锁定状态时,根据被触发的预设选择操作,同步更新后的模板数据;第一更新模块706,用于根据所述更新后的模板数据更新所述第二逻辑结构数据;序列化模块704,用于将所述更新后的所述第二逻辑结构数据,转换为序列化数据进行存储。

可选的,该装置还包括:修改获取模块707、数据修改模块708和第一逻辑修改模块709。

修改获取模块707,用于获取对所述模板数据的修改数据;数据修改模块708,用于使用所述修改数据覆盖所述模板数据中所述修改数据对应的被修改数据,得到修改后的模板数据;结构修改模块709,用于根据所述修改后的模板数据修改所述第二逻辑结构数据;序列化模块704,用于将所述修改后的所述第二逻辑结构数据,转换为序列化数据进行存储。

可选的,该装置还包括:宏加载模块710、逻辑处理模块711和逻辑添加模块712。

宏加载模块710,用于加载引用的宏定义数据,所述宏定义数据包括至少一个逻辑节点对应的节点数据及待输入参数,所述宏定义数据的每个逻辑节点分别对应一个展示节点;逻辑处理模块711,用于根据所述待输入参数的输入值及所有逻辑节点对应的节点数据,确定所述宏定义数据对应的第三逻辑结构数据;逻辑添加模块712,用于在所述第二逻辑结构中添加所述第三逻辑结构数据,得到第四逻辑结构数据;序列化模块704,用于将所述第四逻辑结构数据,转换为序列化数据进行存储,其中,所述第四逻辑结构数据中包括所述宏定义数据对应的宏标识及所述待输入参数的输入值。

可选的,逻辑处理模块711,用于当所述宏定义数据使用所述第二子结构数据时,确定所述第二子结构数据对应的第二展示节点,在所述宏定义数据中的第二入口节点信息和第二出口节点信息;根据所述第二入口节点信息和第二出口节点信息,在所述宏定义数据中添加所述第二子结构数据,得到所述第三逻辑结构数据。

可选的,该装置还包括:第二更新模块713。第二更新模块713,用于当所述宏定义数据发生变更时,自动更新所述第四逻辑结构数据;序列化模块704,用于将更新后的所述第四逻辑结构数据,转换为序列化数据进行存储。

可选的,该装置还包括:第二逻辑修改模块714,用于当接收到对所述第一子结构数据的修改操作时,根据修改后的第一子结构数据,同步修改所述第二逻辑结构数据。

本申请实施例还提供一种可视化逻辑编辑处理系统。图11为本申请实施例提供的一种逻辑结构数据处理系统的框图,如图11所示,该系统包括:通过网络连接的客户端81、数据服务器82及序列化服务器83。

其中,数据服务器82,用于存储第一逻辑结构数据和第一子结构数据;其中,第一逻辑结构数据包括游戏各逻辑节点的节点数据,第一子结构数据包括至少一个逻辑节点对应的节点数据,每个子结构数据对应一个展示节点;

客户端81,用于从数据服务器读取第一逻辑结构数据以及第一子结构数据;确定第一子结构数据对应的第一展示节点,在第一逻辑结构数据中的第一入口节点信息和第一出口节点信息;根据第一入口节点信息和第一出口节点信息,在第一逻辑结构数据中变更第一子结构数据,得到第二逻辑结构数据;将第二逻辑结构数据发送给数据服务器82;

数据服务器82,用于存储第二逻辑结构数据,生成第二逻辑结构数据对应的存储日志,并更新数据时间戳;

序列化服务器83,用于监测数据服务器中的存储日志和数据时间戳;当根据存储日志和数据时间戳确定数据更新后,读取数据服务器82中的第二逻辑结构数据,将第二逻辑结构数据转换为序列化数据后存储。

图12为本申请实施例提供的客户端界面示意图,如图12所示,

在客户端上的游戏编辑可视化界面上,将游戏的逻辑结构以逻辑图的形式进行展示,例如,在“绘图区”中,将用户绘制的逻辑图展示出来。

在可视化界面上,游戏逻辑图编辑功能包括但不限于以下几种:

(1)新增、删除游戏逻辑图;

如图12所示,用户可以点击“游戏逻辑图列表”从中选择需要所需编辑的游戏逻辑图。

(2)修改已有逻辑图,其中,修改操作还包含:在游戏逻辑图中添加、删除功能逻辑节点、子结构、宏定义及引用模板数据;

如图12所示,用户可以打开“子结构列表”、“宏定义列表”或“模板列表”,从后台数据服务器处读取已有的子结构数据、宏定义数据及模板数据,选择已有的子结构数据、宏定义数据或模板数据编辑游戏逻辑图。

(3)子结构数据、宏定义数据及模板数据的生成;

用户还可直接在“绘图区”编辑逻辑图,构建所需的子结构、宏定义或模板。

其中,可以在已有子结构结构对应的展示节点(简称“子图节点”)上增加逻辑节点,或对宏定义的输入参数进行设置。

通过该客户端,用户可以复用已有的逻辑结构,如子结构数据、宏定义数据及模板数据等等,快速开发或维护游戏逻辑,提高游戏逻辑开发效率,降低时间成本和人力成本。

本申请实施例还提供一种电子设备,如图13所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。

存储器1503,用于存放计算机程序;

处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以下上述方法实施例的步骤。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下上述方法实施例的步骤。

需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号