一种可视化的配置编辑方法及装置与流程

文档序号:12463112阅读:412来源:国知局
一种可视化的配置编辑方法及装置与流程

本发明涉及游戏配置编辑领域,尤其涉及一种可视化的配置编辑方法及装置。



背景技术:

为了满足玩家的娱乐需求,在游戏中会实现大量的玩法模块,而这些模块又各有自己的功能。通常,游戏设计人员在设计某一项功能的时候,并不会把功能描述成固定的形式,而会把功能中可变的参数写到配置文件中。程序人员在实现功能的时候,设计人员可以不断的调整这些参数,让功能达到自己期望的程度。

有些功能要求更复杂的配置格式,比如技能系统或是AI系统,它们需要大量的参数和语句来描述一个技能是怎么执行的。这通常是设计成一种约定好格式的配置文件,比如用Json设计好技能的配置格式,程序人员再依据这些格式去实现。但设计人员怎么编辑这些配置成为了一个重要的问题。

在现有技术中,通常有下面几种方法去编辑比较复杂的配置:1、使用Excel来编辑配置,用表格的形式描述功能;2、让程序人员专门为每种配置编写可视化的编辑器,比如针对技能配置,设计人员给出一份规格说明书,程序使用一种通用的编程语言,比如C++,Python之类的,实现出设计要求的可视化界面,然后设计人员使用这个界面去编辑技能。3、直接编辑文本格式。例如使用一种支持Json的文本编辑器,设计人员直接在上面编辑。



技术实现要素:

上述的方法1对于简单的配置是个不错的选择,但有些功能配置,例如技能配置是非常复杂的,用表格很难直观的描述期望的行为,且通过表格进行描述往往会显得很复杂。而方法2的缺点在于,由于游戏有许多像技能这样复杂的配置格式,如果需要对每个功能专门编写编辑器,需要耗费大量的人力资源在编辑器的制作上的。另一方面,如果设计人员对配置格式进行修改,则程序人员必须同步的修改编辑器以达到最新的需求,这大大增加了程序人员的个工作负担。对于方法3,如果对配置格式了然于胸,编辑起来确实是最直接最快速的,但是文本编辑器只会依据Json的规范检查语法错误,而不会告诉你哪个参数写错了,哪些值超出范围了,设计人员需要花费很多精力用于检查输入的参数是否正确,从而造成了时间的浪费,并影响了设计人员对真正逻辑的思考,降低了工作效率。

针对上述问题,本发明的目的在于提供一种可视化的配置编辑方法及装置,可实现方便快捷的配置编辑,满足设计人员的需求。

本发明提供了一种可视化的配置编辑方法,包括:

读取基于Json Schema描述的原始配置文件,生成具有预定格式规范的可视化编辑界面;

监听在所述可视化编辑界面的输入栏中输入的参数;

根据所述格式规范对输入到所述输入栏内的参数进行检查;

当输入的所述参数符合与其对应的输入栏定义的格式规范时,根据输入的参数生成Json配置文件。

上述技术方案中,通过读取基于Json Schema描述的原始配置文件,生成具有预定格式规范的可视化编辑界面,并基于所述格式规范对设计人员输入的参数进行自动检查,从而保证设计人员输入的参数是符合格式规范要求,设计人员仅需简单进行数据填写,而无需花费太多精力用于人工检查填写的数据的格式、类型或者数值范围是否出现错误,节省了检查的时间,提升了工作的效率。此外,可视化的编辑界面还进一步提升了设计人员的使用体验和友好度。

优选地,在所述当输入的所述参数符合与其对应的输入栏定义的格式规范时,根据输入的参数生成Json配置文件之后,还包括:

将所述Json配置文件转换成与应用开发语言对应的脚本文件。

上述技术方案中,为了提高游戏加载速度,还将Json配置文件转换成与应用开发语言对应的脚本文件。例如,用python脚本开发的游戏需要把Json配置文件转换成python脚本,从而提高游戏加载速度。

优选地,在所述将所述Json配置文件转换成与应用开发语言对应的脚本文件之后,还包括:

在所述可视化编辑界面上显示所述脚本文件中的代码。

本优选方案还同时集成了即时的脚本文件的代码显示,设计人员在进行编辑时,可视化编辑界面会对设计人员的编辑内容进行实时显示,对于熟悉脚本的设计人员,实时看见编辑结果可以有效提高工作效率。

优选地,所述将所述Json配置文件转换成与应用开发语言对应的脚本文件具体为:

将所述Json配置文件按照转换规则转换成与应用开发语言对应的初始脚本文件;

查找所述初始脚本文件中的自定义关键字及与所述自定义关键字对应的数据结构;

从预先配置的自定义解析器中获取与查找到的所述自定义关键字对应的变换方法,根据所述变换方法对与所述自定义关键字对应的数据结构进行变换并删除所述自定义关键字,生成脚本文件;其中,所述变换方法包括变换所述数据结构的类型。

优选地,还包括:

获取所述原始配置文件中的不可变数组;

当所述不可变数组内的元素的个数小于预设的阈值时,通过CSS样式表控制将所述不可变数组内的各个元素显示在所述可视化编辑界面的同一显示栏。

本发明还提供了一种可视化的配置编辑装置,包括:

可视化界面生成单元,用于读取基于Json Schema描述的原始配置文件,生成具有预定格式规范的可视化编辑界面;

参数监听单元,用于监听在所述可视化编辑界面的输入栏中输入的参数;

检查单元,用于根据所述格式规范对输入到所述输入栏内的参数进行检查;

配置文件生成单元,用于当输入的所述参数符合与其对应的输入栏定义的格式规范时,根据输入的参数生成Json配置文件。

优选地,还包括:

文件转换单元,用于将所述Json配置文件转换成与应用开发语言对应的脚本文件。

优选地,还包括:

代码显示单元,用于在所述可视化编辑界面上显示所述脚本文件中的代码。

优选地,所述文件转换单元具体包括:

初始转换模块,用于将所述Json配置文件按照转换规则转换成与应用开发语言对应的初始脚本文件;

关键字查找模块,用于查找所述初始脚本文件中的自定义关键字及与所述自定义关键字对应的数据结构;

变换模块,用于从预先配置的自定义解析器中获取与查找到的所述自定义关键字对应的变换方法,根据所述变换方法对与所述自定义关键字对应的数据结构进行变换并删除所述自定义关键字,生成脚本文件;其中,所述变换方法包括变换所述数据结构的类型。

优选地,还包括:

不可变数组获取单元,用于获取所述原始配置文件中的不可变数组;

显示控制单元,用于当所述不可变数组内的元素的个数小于预设的阈值时,通过CSS样式表控制将所述不可变数组内的各个元素显示在所述可视化编辑界面的同一显示栏。

附图说明

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

图1是本发明实施例提供的一种可视化的配置编辑方法的流程示意图。

图2是本发明实施例提供的一种原始配置文件的示意图。

图3是本发明实施例提供的一种可视化编辑界面的示意图。

图4是本发明实施例提供的一种原始配置文件中的不可变列表的表示示意图。

图5是本发明实施例提供的另一种原始配置文件中的不可变列表的表示示意图。

图6是本发明实施例提供的原始配置文件中的元组的定义示意图。

图7是本发明实施例提供的原始配置文件中的可变字典的定义示意图。

图8是图7转换为脚本文件后的示意图。

图9是本发明实施例提供的可视化的配置编辑装置的结构示意图。

具体实施方式

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

请参阅图1,本发明实施例提供了一种可视化的配置编辑方法,其可由可视化的配置编辑装置(以下简称配置编辑装置)来执行,并包括如下步骤:

S101,读取基于Json Schema描述的原始配置文件,生成具有预定格式规范的可视化编辑界面。

在本发明实施例中,由于目前大多数的配置文件都是采用Json格式,因此这里的原始配置文件采用Json Schema这种描述语言来描述。其中,Json Schema也是一种Json格式,它用于描述Json文件的正确格式,并验证其正确性。

例如,如图2所示,图2中的基于Json Schema的原始配置文件描述了一个人的基本属性,包括名字、年龄和性别。对于各个属性,可以用Json Schema定义其数据类型、描述属性的信息以及设定属性的默认值等。例如设定名字的数据类型为字符型,最小长度为4;年龄的数据类型为整型,范围是18~99,性别的数据类型为字符型,并且只能选择male或者female两个选项。

请参阅图3,图3是所述配置编辑装置读取原始配置文件后生成的一种具有格式规范的可视化编辑界面的示意图。

S102,监听在所述可视化编辑界面的输入栏中输入的参数。

S103,根据所述格式规范对输入到所述输入栏内的参数进行检查。

S104,当输入的所述参数符合与其对应的输入栏定义的格式规范时,根据输入的参数生成Json配置文件。

如图3所示,设计人员可以在可视化编辑界面的输入栏中输入参数(可以是用户自行输入参数,也可以是可视化编辑界面提供选项供用户选择,具体由原始配置文件决定)。其中,在设计人员自行输入参数后,所述配置编辑装置会监听用户在所述可视化编辑界面的输入栏中输入的参数,并检查该输入的参数是否符合该输入栏的格式规范。例如,如果一个输入栏的格式规范(由原始配置文件的定义决定)是输入的参数的数据类型为字符型(string),而设计人员输入的参数的数据类型为整型(integer),则所述配置编辑装置在进行检查时就会发出错误提醒。再例如,一个输入栏的格式规范是输入的参数的数据类型为整型,而设计人员输入的参数的类型为浮点型(float),则所述配置编辑装置在进行检查时就会发出错误提醒。再例如,一个输入栏的格式规范是输入的参数的数据类型为整型,且其范围为18~50,而设计人员输入的参数为15,则所述配置编辑装置在进行检查时就会发出错误提醒。

综上所述,本发明实施例提供的可视化的配置编辑方法,通过读取基于Json Schema描述的原始配置文件,生成具有预定格式规范的可视化编辑界面,并基于所述格式规范对设计人员输入的参数进行自动检查,从而保证设计人员输入的参数符合预先设置的格式规范要求,设计人员仅需进行参数填写,如果填写错误会自动生成错误提醒,因而无需花费太多精力用于人工检查填写的参数的格式、类型或者数值范围是否出现错误,节省了检查的时间,提升了工作的效率。此外,可视化的编辑界面还进一步提升了设计人员的使用体验和友好度。

为了便于对本发明的理解,下面将对本发明的一些优选实施例做更进一步的描述。

第一个优选实施例:

优选地,在步骤S104之后,好包括:

S105,将所述Json配置文件转换成与应用开发语言对应的脚本文件。

在本发明实施例中,当设计人员完成配置的编辑后,会得到相应的Json配置文件,表示该配置的内容。为了提高游戏加载速度,所述配置编辑装置还对Json配置文件进行格式转换,转换成与应用开发语言对应的脚本文件。例如,用python脚本开发的游戏需要把Json配置文件转换成python脚本,从而提高游戏加载速度。

在本发明实施例中,以python脚本为例,由于Json和Python的字典比较相像,通过现有技术可以很容易将Json配置文件转换成Python代码的脚本文件。而如果需要转换为其他语言的脚本,只需要根据其与Json的差别进行转换即可,本发明在此不做赘述。

第二个优选实施例:

优选地,在步骤S105之后,还包括:

S106,在所述可视化编辑界面上显示所述脚本文件中的代码。

如图3所示,本优选实施例还同时集成了即时的脚本文件的代码显示,设计人员在进行编辑时,所述配置编辑装置会将转换的脚本文件的代码实时显示在可视化编辑界面上,对于熟悉脚本的设计人员,实时看见脚本文件可以有效提高工作效率,并减小bug的出现。

第三个优选实施例:

优选地,还包括:

S107,获取所述原始配置文件中的不可变数组。

S108,当所述不可变数组内的元素的个数小于预设的阈值时,通过CSS样式表控制将所述不可变数组内的各个元素显示在所述可视化编辑界面的同一显示栏。

目前Json Schema支持的数据类型有string,numberic,object,array,boolean,null。但是在游戏开发中,一方面,复杂的配置往往需要复杂的数据结构进行表示;另一方面为,为了优化效率,有时需要用列表或者元组替代字典(object),因此有时原始配置文件中还包含了对目前的Json Schema进行扩展的数据结构。则在读取时,所述配置编辑装置还需要考虑对拓展的数据结构的处理,其中,增加的数据结构可包括不可变列表,元组和可变字典等。

以不可变列表为例,不可变列表用于描述简单的属性集合。例如技能节点的执行参数由动作名和动作类型ID组成:'args':['attack_0',111]。Json Schema中的array可以表示列表,但是array是可变的,并且array默认其中的每个元素的类型都是一样的,难以满足需求。在此提供两种不可变列表的表示方法。

第一种方法如图4所示,array作为基本类型,但是其items是数组而不是对象,items中包含的每个object则是对应不可变列表中的每个元素,minItems规定该列表的元素个数,最后在options中设定该数组不可增加元素,这样就可以得到一个不可变列表,并且其中每个元素的类型可以根据需求设定。

第二种方法如图5所示,以object作为基本类型,然后对于每个不可变列表中的元素,用一个object的属性(properties)表示。属性的键(key)为$i$(1<=i<=n,n为列表元素的个数),属性的值(value)是元素的具体描述,如类型说明等。因为是不可变列表,因此通过设定Json Schema的disable_properties阻止属性的增加。如果需要控制每个列表的元素是否是必须的,可以通过Json Schema的required属性进行设定。

在本发明实施例中,所述配置编辑装置可对其可视化编辑界面的显示样式进行控制,使其更紧凑,提高界面的利用效率,从而更适合用户的编辑习惯,提高编辑效率。

具体地,例如,一般情况下,数组是一行一行分开显示的,而对应本发明实施例中,由于大多数组设置为不可变数组,其内的元素数量很少且不需要在扩展增加,所以可通过CSS样式表控制这些元素在一行显示栏中显示即可,这可以使得所述可视化编辑界面的外观更加紧凑一致,避免了在一些情况下需要对可视化编辑界面的大小进行调整才能看到全部的内容。

第四个优选实施例:

优选地,步骤S105具体包括:

S1051,将所述Json配置文件按照转换规则转换成与应用开发语言对应的初始脚本文件。

S1052,查找所述初始脚本文件中的自定义关键字及与所述自定义关键字对应的数据结构。

S1053,从预先配置的自定义解析器中获取与查找到的所述自定义关键字对应的变换方法,根据所述变换方法对与所述自定义关键字对应的数据结构进行变换并删除所述自定义关键字,生成脚本文件;其中,所述变换方法包括变换所述数据结构的类型。

例如,如果需要在最终生成的python脚本文件中生成元组这种数据类型(元组与不可变列表相似,区别是元组用圆括号表示,而不可变列表则用方括号表示),但是元组是python的特有数据类型,Json Schema本身并不支持。为了兼容python脚本,可以在原始配置文件中用不可变列表来表示元组,如图6所示,通过设定了一个自定义关键字$tuple$来对不可变列表和元组进行区分。

在进行转换时,首先,将所述Json配置文件按照转换规则转换成与应用开发语言对应的初始脚本文件。这个初始脚本文件中会包括自定义关键字,然后,查找所述初始脚本文件中的自定义关键字及与所述自定义关键字对应的数据结构。最后,从预先配置的自定义解析器中获取与查找到的所述自定义关键字对应的变换方法,根据所述变换方法对与所述自定义关键字对应的数据结构进行变换并删除所述自定义关键字,生成脚本文件。

以图6为例,在转换成初始脚本文件后,仍然包含有$tuple$这个自定义关键字,其在自定义解析器中的变换方法是将与其对应的不可变列表转换成元组。这样,当在初始脚本文件中查找到自定义关键字$tuple$后,就查找与$tuple$对应的不可变列表,然后在最终显示的脚本文件中将这个不可变列表变换为元组,并删除$tuple$这个自定义关键字。

再例如,可变字典是配置中常用的数据结构。图7所示为当关键帧到达时触发对应的一系列技能节点,用户增加数据时需要同时编辑关键帧名字(key)和触发的技能列表(value)。在Json Schema中,object用于表示字典,但是当需要往object中增加属性(key)时,难以对key进行规范说明,容易导致用户输入不符合规范的数据,因此,可设计了一个新的可变字典表示方式,使用Json Schema中的array描述可变字典,对于字典中的每个元素,增加了$key$和$value$两个自定义关键字来进行描述。此时,转换后的初始脚本文件如图8所示,包含了$key$和$value$两个自定义关键字,在将初始脚本文件转换为最终的脚本文件后,则如图8所示,将字典变为可变字典,并删除这两个自定义关键字。

综上所述,本优选实施例实现了对原始配置文件的扩展的数据结构的支持和变换,并可将扩展的数据结构转换为符合脚本文件格式的数据结构,使得配置的编辑方式更灵活,适用范围更广。

请一并参阅图9,本发明还提供了一种可视化的配置编辑装置100,包括:

可视化界面生成单元10,用于读取基于Json Schema描述的原始配置文件,生成具有预定格式规范的可视化编辑界面。

参数监听单元20,用于监听在所述可视化编辑界面的输入栏中输入的参数。

检查单元30,用于根据所述格式规范对输入到所述输入栏内的参数进行检查。

配置文件生成单元40,用于当输入的所述参数符合与其对应的输入栏定义的格式规范时,根据输入的参数生成Json配置文件。

本发明实施例提供的可视化的配置编辑装置100,通过读取基于Json Schema描述的原始配置文件,生成具有预定格式规范的可视化编辑界面,并基于所述格式规范对设计人员输入的参数进行自动检查,从而保证设计人员输入的参数是符合格式规范要求,设计人员仅需简单进行数据填写,而无需花费太多精力用于人工检查填写的数据的格式、类型或者数值范围是否出现错误,节省了检查的时间,提升了工作的效率。此外,可视化的编辑界面还进一步提升了设计人员的使用体验和友好度。

优选地,还包括:

文件转换单元50,用于将所述Json配置文件转换成与应用开发语言对应的脚本文件。

优选地,还包括:

代码显示单元60,用于在所述可视化编辑界面上显示所述脚本文件中的代码。

优选地,所述文件转换单元50具体包括:

初始转换模块51,用于将所述Json配置文件按照转换规则转换成与应用开发语言对应的初始脚本文件。

关键字查找模块52,用于查找所述初始脚本文件中的自定义关键字及与所述自定义关键字对应的数据结构。

变换模块53,用于从预先配置的自定义解析器中获取与查找到的所述自定义关键字对应的变换方法,根据所述变换方法对与所述自定义关键字对应的数据结构进行变换并删除所述自定义关键字,生成脚本文件;其中,所述变换方法包括变换所述数据结构的类型。

本优选实施例实现了对原始配置文件的扩展的数据结构的支持和变换,并可将扩展的数据结构转换为符合脚本文件格式的数据结构,使得配置的编辑方式更灵活,适用范围更广。

优选地,还包括:

不可变数组获取单元70,用于获取所述原始配置文件中的不可变数组;

显示控制单元80,用于当所述不可变数组内的元素的个数小于预设的阈值时,通过CSS样式表控制将所述不可变数组内的各个元素显示在所述可视化编辑界面的同一显示栏。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1