可视化游戏逻辑编辑方法及系统与流程

文档序号:14418923阅读:406来源:国知局
可视化游戏逻辑编辑方法及系统与流程

本发明涉及一种可视化游戏逻辑编辑方法及系统。



背景技术:

一个游戏的制作通常都需要策划人员和程序员参与,先由策划人员对游戏进行设计,再由程序员去完成游戏逻辑。其中,游戏需要让策划人员编写逻辑的部分一般都需要策划人员定下方案后再由程序员用代码去实现游戏逻辑,这个过程既低效又容易由于沟通问题造成实现不协调。

而为了在一定程度上解决上述问题,现有技术中提出了导表编辑器,通过硬编码的形式对游戏玩法的数据基础生成可执行的脚本代码,在这个编辑过程中,虽然策划可以选择一些已经被定制好的有限逻辑,但是:

1)无法通过编辑器做出复杂的游戏逻辑,除了一些仅有的简单逻辑之外,其它游戏逻辑都需要程序人员硬编码相应的代码对应,而且,其中的简单逻辑还需要程序人员专门为其制定逻辑生成代码,不但没有节省开发效率,而且还会使得游戏代码的可读性越发低下;

2)当游戏策划需要开发新的玩法或修改现有玩法的时候,可能会出现两种实际情况:第一种:要修改的可能只是一些可配置的数值变化或者有预设生成逻辑,直接使用现有编辑器修改后进行导表操作,可能不需要游戏程序干预;第二种:要修改的逻辑无法直接通过导表编辑器实现,需要让游戏程序通过硬编码代码的形式修改相应的逻辑。则出现第二种情况时,策划人员无法把设计直接实现,出现了需要等待程序人员实现的情况,而且程序人员实现的周期也是个不确定因素;

3)在硬编码实现过程中,策划人员是需求提出者,程序人员是相应的执行者,两者需要在这一过程中不断进行沟通、调整才能实现策划人员所要的。则如果过程中由于信息的传递有误,或两者的理解上发生分歧时,很有可能造成程序返工,大幅度地增加了开发周期;

4)使用导表编辑器进行逻辑编写时,由于选项只有基本类型选择,无法表示游戏内部复杂的类型对象,则编辑数据时的非强类型可能导致数据的出错,导表编辑器的实用性上受到了很大的限制。



技术实现要素:

为解决上述现有技术的缺点和不足,本发明提供了一种可视化游戏逻辑编辑方法及系统,使游戏逻辑性能方便地通过界面展示,让策划人员可自行通过编辑系统实现游戏的逻辑结构,降低对程序员的依赖,并防止编写逻辑时数据类型出错的现象发生,且本发明使用组件库管理提高了代码的重用性,避免代码只能重复实现同一组件的同样功能。

为达到本发明的其中一目的,本发明首先提供了一种可视化游戏逻辑编辑方法,其包括以下步骤:

s101:检测是否有运行指令输入,是则执行步骤s102,否则不执行任何操作;

s102:启动预置的编辑器软件,调用预存的组件库,并控制编辑器软件显示游戏逻辑编辑界面;所述组件库包括函数组件、动作组件、条件组件、数据源组件、值数据组件、预设值组件、变量组件和表达式组件;所述编辑器软件配置有以树形结构的方式组合并连接的组件库中的所有组件;所述游戏逻辑编辑界面与组件库中的所有组件绑定,且游戏逻辑编辑界面配置有根节点控件、配置于根节点控件下的多个父节点控件、配置于各父节点控件下的至少一子节点控件、以及配置于部分子节点控件下的至少一次子节点控件;每一子节点控件和每一次子节点控件内设置有至少一参数可变选项;每一参数可变选项包括不同的多个内容选项,并分别与所述组件库中相应的组件绑定;

s103:检测游戏逻辑编辑界面中的各个节点控件和/或各参数可变选项是否有编辑指令输入,是则控制相应的节点控件展开,并根据编辑指令调用相应的组件,生成相应的逻辑代码,并保存于一逻辑代码库,完成游戏逻辑编辑;否则保持显示当前游戏逻辑编辑界面。

由此,本发明通过将所述组件库中的所有组件按操作逻辑以树形结构的方式组合并连接,也即通过程序内部将一系列游戏中常用的操作逻辑形成树形结构,将所有操作、判断、数据都作为树的节点进行管理,然后通过游戏逻辑编辑界面绘制出来并响应相应的操作,给策划人员提供了一个逻辑架构,仅需根据所需逻辑选定相应的内容选项,利用不同节点控件的内容选项之间相互组合,也可变换同一节点控件的内容选项以利用相同的组件实现不同的功能,使得游戏逻辑性能方便地通过界面展示,让策划人员可自行通过编辑系统实现游戏的逻辑结构,降低对程序员的依赖,并防止编写逻辑时数据类型出错的现象发生,且本发明使用组件库管理提高了代码的重用性,避免代码只能重复实现同一组件的同样功能。

进一步,所述游戏逻辑编辑界面包括逻辑架构显示区域和选项显示区域;所述根节点控件、各父节点控件、各子节点控件和各次节点控件根据其对应的逻辑关系配置于所述逻辑架构显示区域,并分别以文字形式显示;各子节点控件和各次子节点控件内的数据以包含参数可变选项的文字段形式配置于所述选项显示区域,且各文字段中的参数可变选项以区分于其它不可编辑的文字内容的形式显示;

以及,所述步骤s103具体包括以下步骤:

s11:检测逻辑架构显示区域中是否有编辑指令输入,是则执行s13,否则执行s12;

s12:控制编辑器软件的游戏逻辑编辑界面仅显示逻辑架构显示区域,并控制逻辑架构显示区域仅显示根节点控件;

s13:判断所述编辑指令是否为一父节点展示指令,是则控制游戏逻辑编辑界面仅显示逻辑架构显示区域,逻辑架构显示区域显示根节点控件和各父节点控件,并执行步骤s14;否则,返回执行s12;

s14:继续检测逻辑架构显示区域中是否有编辑指令输入,是则判断所述编辑指令是否为一子节点展示指令,如果是子节点展示指令,则控制逻辑架构显示区域还显示与该子节点展示指令对应的子节点控件,并执行步骤s15;否则,保持当前显示界面;

s15:继续检测逻辑架构显示区域中是否有编辑指令输入,是则判断当前编辑指令是否为一参数选择指令,是则控制选项显示区域显示,选项显示区域内显示与当前参数选择指令相应的子节点控件所对应的文字段,并执行步骤s18;否则,执行步骤s16;

s16:判断当前编辑指令是否为一次子节点展示指令,是则控制逻辑架构显示区域还显示与该次节点展示指令对应的次节点控件,否则,执行步骤s17;

s17:判断当前编辑指令是否为节点展示指令,是则控制逻辑架构显示区域还显示与该子节点展示指令对应的子节点控件,并执行步骤s15;否则,保持当前显示界面;

s18:检测选项显示区域中的文字段中的参数可变选项是否有编辑指令输入,是则根据编辑指令控制选项显示区域显示当前选定的内容选项或当前键入的内容参数,并调用相应的组件库,生成相应的代码;否则,保持当前显示界面。

通过对游戏逻辑编辑界面进行区域划分,有利于让策划人员清楚地区分逻辑编辑区域和内容选项选择区域,从而使游戏逻辑能够更加简洁并清晰,避免造成混淆;通过以文字段的形式显示各控件,有利于策划人员更加直观地了解游戏逻辑,更易上手;通过将各文字段中的参数可变选项以区分于其它不可编辑的文字内容的形式显示出来,使得可编辑之处一目了然,提高编辑和修改效率;通过控制步骤s11~s18,提高了显示区域显示的准确性,并保证显示区域的显示逻辑清晰,也进一步提高逻辑调用关系的直观性,方便编辑操作和简化逻辑编辑的方法。

进一步,所述游戏逻辑编辑界面还包括选项解释区域;以及,在所述步骤s15中,控制选项显示区域显示的同时,还控制所述选项解释区域显示;所述选项解释区域显示用于说明选项显示区域中当前显示的文字段的含义的解释文本。通过增设选项解释区域,显示解释子控件的含义,进一步使得游戏逻辑简单易懂,也使得策划人员更加容易明白可变参数选项的作用,进一步方便编辑操作。

进一步,所述游戏逻辑编辑界面还包括树形逻辑区域;以及,在所述步骤s15中,控制选项显示区域显示的同时,还控制所述树形逻辑区域显示;所述树形逻辑区域显示用于表明选项显示区域中当前显示的文字段的逻辑架构;以及,在所述步骤s18中,根据编辑指令控制选项显示区域显示当前选定的内容选项或当前键入的内容参数的同时,还根据当前选定的内容选项或当前键入的内容参数更新树形逻辑区域中相应的内容。通过此处限定,利用树形逻辑区域显示选项显示区域中当前显示的文字段的逻辑架构,进一步降低了逻辑理解难度,更进一步方便编辑操作。

作为父节点控件的其中一种选择方案,所述多个父节点控件分别为事件触发控件、辅助条件控件和动作控件;所述事件触发控件下配置有一触发子控件,所述触发子控件内设置有至少一触发参数可变选项;所述辅助条件控件下配置至少一条件子控件,所述条件子控件内配置有至少一条件参数可变选项;所述动作控件下配置至少一动作子控件,所述动作子控件内配置有至少一动作参数可变选项;只有在满足当前选定的触发参数可变选项中的内容选项和当前选定的条件参数可变选项中的内容选项的前提下,动作控件中的逻辑内容才会响应并执行;通过根据编辑指令获取各参数可变选项中的内容选项,调用相应的组件,生成所需的游戏逻辑代码。此处根据游戏的常用逻辑设置了3种类型的父节点——事件触发控件、辅助条件控件和动作控件,因为,游戏中,游戏动作的响应和执行通常都是触发了一定的事件和满足了一定的条件,故通过直接在界面中以树形结构设置父节点控件类型,使得编辑更加贴合实际使用需求,避免信息冗杂,避免对内存空间和显示空间不必要的占用,也使得逻辑更加简明,易于编辑,降低游戏逻辑编辑的难度。

作为父节点控件的另一种选择方案,所述多个父节点控件分别为事件触发控件和动作控件;所述事件触发控件下配置有一触发子控件,所述触发子控件内设置有至少一触发参数可变选项;所述动作控件下配置至少一动作子控件,所述动作子控件内配置有至少一动作参数可变选项;只有在满足当前选定的触发参数可变选项中的内容选项的前提下,动作控件中的逻辑内容才会响应并执行;通过根据编辑指令获取各参数可变选项中的内容选项,调用相应的组件,生成所需的游戏逻辑代码。此处根据游戏的常用逻辑设置了2种类型的父节点——事件触发控件和动作控件,因为,游戏中,游戏动作的响应和执行通常都是触发了一定的事件(事件中可以包含条件),故通过直接在界面中以树形结构设置父节点控件类型,使得编辑更加贴合实际使用需求,避免信息冗杂,避免对内存空间和显示空间不必要的占用,也使得逻辑更加简明,易于编辑,降低游戏逻辑编辑的难度。

所述步骤s103还包括步骤s19:检测所述编辑指令是否为控件删除指令,是则删除相应的控件;否则检测所述编辑指令是否为控件增加指令,是则增加相应的控件;否则执行步骤s11~s18。通过此处设置,有利于实现对游戏逻辑架构的增减,能够满足策划人员更多的编辑需求。

进一步,各父节点下配置有不同类型的多种子节点控件;以及,完成游戏逻辑编辑后,在需要对游戏逻辑进行修改时,通过改变相应的内容选项或内容参数,或者,通过增加所需的子节点控件或删除多余的子节点控件,或者,通过修改子节点控件的类型,实现对游戏逻辑的修改并生成新的游戏逻辑代码。通过此处限定,实现在需要修改游戏逻辑时,不需要将整个游戏逻辑删除,而是直接在已存在的游戏架构上进行修改即可,大大方便了游戏修改的操作,进一步减少游戏开发周期。而通过在各父节点下配置有不同类型的多种子节点控件,保证游戏中常用的逻辑都能被配置于编辑界面中,从而方便策划人员使用,减少游戏开发周期。

为达到本发明的另一目的,本发明还提供了一种能够实现上述可视化游戏逻辑编辑方法的可视化游戏逻辑编辑系统,该系统包括存储模块、显示模块、输入模块、处理模块和编辑器软件;

所述存储模块存储有组件库、逻辑代码库和多条指令;所述组件库包括函数组件、动作组件、条件组件、数据源组件、值数据组件、预设值组件、变量组件和表达式组件;

所述显示模块显示所述编辑器软件;

所述输入模块由用户操作向处理模块输入相应的编辑指令;

所述处理模块接收所述编辑指令,并根据所述编辑指令调用所述组件库中相应的组件;且处理模块根据所述指令加载并执行上述任一项所述的可视化游戏逻辑编辑方法;

所述编辑器软件为用户提供编辑游戏逻辑的游戏逻辑编辑界面,并由所述显示模块显示;所述编辑器软件将所述组件库中的所有组件按操作逻辑以树形结构的方式组合并连接,并绑定于所述游戏逻辑编辑界面;所述游戏逻辑编辑界面配置有根节点控件、配置于根节点控件下的多个父节点控件、配置于各父节点控件下的至少一子节点控件、以及配置于部分子节点控件下的至少一次子节点控件;每一子节点控件和每一次子节点控件内设置有至少一参数可变选项;每一参数可变选项包括不同的多个内容选项,并分别与所述组件库中相应的组件绑定;

通过选定所需的各子节点控件和各次子节点控件内的内容选项,以调用相应的组件,完成游戏逻辑编辑,生成游戏逻辑代码并保存于所述逻辑代码库。

由于本发明的可视化游戏逻辑编辑系统能够实现本发明的可视化游戏逻辑编辑方法,故本发明的可视化游戏逻辑编辑系统也具有本发明的可视化游戏逻辑编辑方法所产生的技术效果,故在此不再赘述。

进一步,所述游戏逻辑编辑界面为上述任一项所述的可视化游戏逻辑编辑方法中的游戏逻辑编辑界面。

因此,本发明通过上述技术方案,实现利用本发明可视化游戏逻辑编辑方法及系统的策划人员能够方便地控制游戏逻辑的整体进行而无需程序人员直接干预,程序人员只需要实现策划人员提出的基础组件,也即根节点控件、各父节点控件、各子节点控件和各次节点控件等需要用到的组件,如函数组件、动作组件、条件组件、数据源组件、值数据组件、预设值组件、变量组件和表达式组件等,即可使得策划人员直接在游戏逻辑编辑界面中通过编辑或选择参数而应用这些组件对游戏逻辑进行掌控。实现了将现有技术中策划人员与程序人员的关系由需求提出者(也即策划人员)与实现执行者(程序人员)的单一关系转化为基础组件功能需求及基础组件使用者(策划人员)和组件实现者(程序人员)之间的关系。故,通过本发明可视化游戏逻辑编辑方法及系统,程序人员只需要关注于如何实现并提供能够使用的组件,以实现策划人员可以直接使用组件完成游戏逻辑代码生成,由此程序人员不需要参与游戏玩法设计层面这种本应由策划人员完成的事情,减少了程序人员的负担,同时也方便了策划人员的游戏玩法设计,提高了两者的工作效率,减少游戏开发周期;并通过组件的重复调用完成不同的功能,提高了组件的复用性和可利用性,由于逻辑架构中的类型事先已经预设好,故也防止策划人员编辑逻辑时出现数据类型等低级错误。

为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

图1为本发明的可视化游戏逻辑编辑系统通过游戏逻辑编辑界面对逻辑数据进行修改时的编辑器软件的内部操作流程示意图;

图2为本发明可视化游戏逻辑编辑系统的游戏逻辑编辑界面在编辑一个触发器时的界面示意图;

图3为本发明可视化游戏逻辑编辑系统的处理模块根据编辑指令对编辑器软件的控制方法流程图;

图4为本发明可视化游戏逻辑编辑系统完成的一个触发器的“事件”节点的子节点控件中所对应的选项显示区域、选项解释区域和树形逻辑区域的界面示意图;

图5为需要将图4中的触发器的监听关闭时,“动作”节点控件下的“触发器”节点控件选定的内容选项所对应的选项显示区域、选项解释区域和树形逻辑区域的界面示意图;

图6为需要将图4中的触发器的“动作”节点控件下的一些不能使用的区域设置为阴影状态时,“动作”节点控件下的“区域”节点控件选定的内容选项所对应的选项显示区域、选项解释区域和树形逻辑区域的界面示意图;

图7为通过本发明可视化游戏逻辑编辑系统对“动作”节点控件下的“视野”节点的方案进行调整时,选定的内容选项所对应的选项显示区域、选项解释区域和树形逻辑区域的界面示意图;

图8为通过本发明可视化游戏逻辑编辑系统编辑对话框类型和对话框内容时,选定的内容选项所对应的选项显示区域、选项解释区域和树形逻辑区域的界面示意图;

图9为通过本发明可视化游戏逻辑编辑系统编辑动作执行的一个判断条件时,选定的内容选项所对应的选项显示区域、选项解释区域和树形逻辑区域的界面示意图。

具体实施方式

请参阅图1,本发明提供了一种可视化游戏逻辑编辑系统,包括存储模块、显示模块、输入模块、处理模块和编辑器软件。所述存储模块存储有组件库和逻辑代码库;所述组件库包括函数组件、动作组件、条件组件、数据源组件、值数据组件、预设值组件、变量组件和表达式组件。所述显示模块显示所述编辑器软件。所述输入模块由用户操作向处理模块输入相应的编辑指令。所述处理模块接收所述编辑指令,并根据所述编辑指令调用所述组件库中相应的组件。所述编辑器软件为用户提供编辑游戏逻辑的游戏逻辑编辑界面,并由所述显示模块显示;所述编辑器软件将所述组件库中的所有组件按操作逻辑以树形结构的方式组合并连接,并绑定于所述游戏逻辑编辑界面;所述游戏逻辑编辑界面配置有根节点控件、配置于根节点控件下的多个父节点控件、配置于各父节点控件下的至少一子节点控件、以及配置于部分子节点控件下的至少一次子节点控件;每一子节点控件和每一次子节点控件内设置有至少一参数可变选项;每一参数可变选项包括不同的多个内容选项,并分别与所述组件库中相应的组件绑定。通过选定所需的各子节点控件和各次子节点控件内的内容选项,以调用相应的组件,完成游戏逻辑编辑,生成游戏逻辑代码并保存于所述逻辑代码库。

以下,对上述各个组件进行说明:

函数组件:包括多个函数,每个函数与编程语言的函数一样,拥有声明的形参,通过传入实参运行后可得到返回值,一般用于实时获取游戏中的一些数据。每个函数声明都有一个类型,用于在运行时的类型验证和在编辑器软件被使用时的类型筛选。其中,在进行游戏编辑时,设置的实参可以是函数对象,也可以是值数据组件中的值数据对象,因此,一个函数的参数可能是多个函数的嵌套。

动作组件:与函数组件差不多,但是大部分情况下没有返回值,着重描述执行了什么操作,如电脑的关机或开机操作。动作组件可以有参数也可以无参数,有参数时,参数可以从函数组件中获取,也可以通过调用变量组件、预设值组件和数据源组件获取,或通过输入模块键入自行设置的参数实现获取。

条件组件:指的是一个动作在响应和执行前必须要完成的一个条件,具有多个选择,利用“与”,“或”,“非”等逻辑语言和相关程序封装形成的条件组件。该条件组件的参数可从动作组件、函数组件、变量组件、预设值组件和数据源组件获取,也可以从输入模块获取。

数据源组件:在选择参数的时候,如果只能通过函数组件获取值的话,有时操作会显得繁琐,故在需要直接获取当前状态的某类数据的时候,直接通过使用编写好的数据源组件中的数据源对象取得一些编辑状态下的实时对象,有利于简化数据获取的操作。

值数据组件:该组件中的值数据对象拥有一个类型标识,用于标识其类型以模拟最基础的强类型语言。

预设值组件:能够为某些数据类型提供可选择的预设值,如,为布尔类型的数据提供的可选预设值为“true”或“false”。

变量组件:和编写程序一样,在可视化结构运行期间可以使用变量存储中间结果以达到复用的目的,也即,变量组件用于存储中间结果。

表达式组件:用于便于对数字进行四则运算和对字符串进行拼接。

各个组件中都具有多个数据对象,具有多个数据对象指的是,例如,函数组件中是包括多个函数的,而不是仅仅只具有一个函数;其它组件亦是如此。且各个组件都是通过程序编写好的组件,具体怎样使用,由使用者决定,故本发明的编辑器和一般开发模式的编辑器的区别在于:在一般开发模式的编辑器下,策划人员仅提供要实现的过程和结果,而需要程序人员通过代码去实现策划人员的要求;而在本发明的编辑器下,策划人员可以通过调用组件库中的组件去根据自身的思路直接实现游戏逻辑,在游戏逻辑编辑的过程中,编辑器会生成相应的逻辑代码,而不需要程序人员根据策划人员的要求编写逻辑代码,只有在组件库中缺乏所需代码时才需要程序人员加入。

本实施例中,所述输入模块为键盘和/或鼠标;所述显示模块为普通显示屏或为具有触控功能的显示屏;所述存储模块为ssd硬盘或机械硬盘等可以存储数据的器件;所述处理模块为cpu处理器。而在其它变形实施例中,所述存储模块、显示模块、输入模块和处理模块可以替换为移动设备如平板电脑或手机或笔记本电脑,此时,编辑器软件为可在移动设备上运行的app;另外,所述存储模块、显示模块、输入模块和处理模块可以用台式电脑替换,此时,编辑器软件为可在台式电脑上运行的应用软件。

本实施例中,所述游戏逻辑编辑界面的编辑功能实现是通过:编辑器软件的程序内部将涉及游戏玩法逻辑的一系列操作逻辑形成树结构,并将所有操作、判断、数据都作为树的节点进行管理,再通过界面绘制出来并响应操作;其中,通过将操作和类型数据封装成操作对象,通过mvc(modelviewcontroller)结构和相应的界面绑定起来以实现使用界面编辑逻辑。而具体的实现方法可根据本发明的技术方案和现有技术相关的技术结合即可得到,故不赘述。为了更加清楚地理解通过游戏逻辑编辑界面实现对逻辑数据的编辑,请参阅图1,图1为通过游戏逻辑编辑界面对逻辑数据进行修改时的编辑器软件的内部操作流程示意图。

为使得游戏逻辑编辑界面简明易懂,更便于策划人员上手,进一步降低编辑操作和提高编辑准确性,同时也进一步减少游戏玩法的开发周期,作为一种更优的技术方案,请参阅图2,所述游戏逻辑编辑界面包括逻辑架构显示区域a、选项显示区域c、选项解释区域d和树形逻辑区域b。所述根节点控件、各父节点控件、各子节点控件和各次节点控件根据其对应的逻辑关系配置于所述逻辑架构显示区域a,并分别以文字形式显示。各子节点控件和各次子节点控件内的数据以包含参数可变选项的文字段形式配置于所述选项显示区域c,且各文字段中的参数可变选项以区分于其它不可编辑的文字内容的形式显示。所述选项解释区域d用于显示说明选项显示区域c中当前显示的文字段的含义的解释文本。所述树形逻辑区域b用于显示表明选项显示区域c中当前显示的文字段的逻辑架构。

为清楚明白本发明的根节点控件、父节点控件、子节点控件和次节点控件在游戏逻辑编辑界面的显示方式,在此以图2中显示的内容为例说明,其中,逻辑架构显示区域a中的根节点“视野第一次扩张(条件1)”即为根节点控件;通过点击根节点的展开控件(图2中的倒三角形图标),使根节点控件展开后,会看到父节点“事件”、“条件”和“动作”这3个父节点控件,另外,也可以在根节点控件下插入其他父节点控件,以符合所需游戏逻辑;通过点击各个父节点的展开控件,会看到依序排列在各个父节点下方的子节点控件,如“事件”节点下的“最终场景,区域1变为已开放时”;而通过点击具有展开控件的子节点控件的展开控件,即可看到依序排列在子节点控件下的次子节点控件“同时满足”、“then”和“else”。而且,上述各个节点之间的逻辑顺序也是与界面显示的一致,且在编辑的过程中,编辑器软件内部已经根据逻辑顺序将各个节点的逻辑连接起来,并生成了相应的逻辑代码。

另外,上述所述的“且各文字段中的参数可变选项以区分于其它不可编辑的文字内容的形式显示”指的是,用于表示参数可变选项的文字部分会用括号括起,同时还可以在参数可变选项的文字部分下增加下划线,如图2中的选项显示区域c所示,被括号括起的内容“下拉弹窗”、“测试文本”和“林中鸣”都是参数可变选项中当前已被选定的内容选项,而通过再次点击这些参数可变选项,可以看到更多的内容选项,并可重新更改选定的内容选项。或者,将参数可变选项的文字部分用不同于其它文字部分的颜色显示。

请参阅图3,在编辑器软件已经运行时,处理模块根据所述编辑指令对编辑器软件的控制包括以下步骤:

s11:处理模块检测逻辑架构显示区域a中是否有编辑指令输入,是则执行s13,否则执行s12;

s12:处理模块控制编辑器软件的游戏逻辑编辑界面仅显示逻辑架构显示区域a,并控制逻辑架构显示区域a仅显示根节点控件;

s13:处理模块判断所述编辑指令是否为一父节点展示指令,是则控制游戏逻辑编辑界面仅显示逻辑架构显示区域a,逻辑架构显示区域a显示根节点控件和各父节点控件,并执行步骤s14;否则,返回执行s12;

s14:处理模块继续检测逻辑架构显示区域a中是否有编辑指令输入,是则判断所述编辑指令是否为一子节点展示指令,如果是子节点展示指令,则控制逻辑架构显示区域a还显示与该子节点展示指令对应的子节点控件,并执行步骤s15;否则,保持当前显示界面;

s15:处理模块继续检测逻辑架构显示区域a中是否有编辑指令输入,是则判断当前编辑指令是否为一参数选择指令,是则控制选项显示区域c显示,选项显示区域c内显示与当前参数选择指令相应的子节点控件所对应的文字段,同时控制所述树形逻辑区域b和选项解释区域d显示,并执行步骤s18;否则,执行步骤s16;

s16:处理模块判断当前编辑指令是否为一次子节点展示指令,是则控制逻辑架构显示区域a还显示与该次节点展示指令对应的次节点控件,否则,执行步骤s17;

s17:处理模块判断当前编辑指令是否为节点展示指令,是则控制逻辑架构显示区域a还显示与该子节点展示指令对应的子节点控件,并执行步骤s15;否则,保持当前显示界面;

s18:处理模块检测选项显示区域c中的文字段中的参数可变选项是否有编辑指令输入,是则根据编辑指令控制选项显示区域c显示当前选定的内容选项或当前键入的内容参数,并调用相应的组件库,生成相应的代码;同时根据当前选定的内容选项或当前键入的内容参数更新树形逻辑区域b中相应的内容;否则,保持当前显示界面。

为实现策划人员不仅可直接利用预设选项实现逻辑编辑,可以对一些数据参数直接键入,在不需要利用到函数返回参数时,直接通过键入数值,使得编辑更简单,程序响应更快,作为一种更优的技术方案,所述多个内容选项为预设选项,和/或为由输入模块键入的内容参数。

在本实施例中,所述多个父节点控件分别为事件触发控件、辅助条件控件和动作控件。所述事件触发控件下配置有一触发子控件,所述触发子控件内设置有至少一触发参数可变选项。所述辅助条件控件下配置至少一条件子控件,所述条件子控件内配置有至少一条件参数可变选项。所述动作控件下配置至少一动作子控件,所述动作子控件内配置有至少一动作参数可变选项。只有在满足当前选定的触发参数可变选项中的内容选项和当前选定的条件参数可变选项中的内容选项的前提下,动作控件中的逻辑内容才会响应并执行。通过选定各参数可变选项中的内容选项,以调用相应的组件,生成所需的游戏逻辑代码。

本实施例中,策划人员还可以根据所需的游戏逻辑自行增删子节点控件,也即,当各父节点下配置的子节点控件比所需游戏逻辑多时,可以删除多余的子节点控件;当各父节点下配置的子节点控件比所需游戏逻辑少时,可以增加所需的子节点控件。

优选地,各父节点下配置有不同类型的多种子节点控件,如图2所示,在父节点控件“动作”下,具有操作对象为触发器的子节点控件、操作对象为区域的子节点控件、操作对象为视野的子节点控件、操作对象为对话框的子节点控件、及操作对象为逻辑条件的子节点控件;由此可知,这些子节点控件的操作对象类型都是不一样的,因此,本发明的编辑器会根据常用的游戏玩法涉及到的操作对象及相关动作都配置在游戏逻辑编辑界面中,由策划人员根据游戏需求而选用所需的操作对象和操作对象的动作。另外,这些不同类型的子节点控件可以是一个一个陈列配置于相应的父节点控件下,也可以将属于同一大类的操作对象及其动作的子节点控件封装在一设置控件中,如图2中a1所指之处,此时,通过点击所述设置控件a1,即可显示出多项操作对象选项,以供策划人员选择。

另外,利用本发明可视化游戏逻辑编辑系统完成游戏逻辑编辑后,在需要对游戏逻辑进行修改时,策划人员直接通过改变相应的内容选项或内容参数,或者,通过增加所需的子节点控件或删除多余的子节点控件,或者,通过修改子节点控件的类型,实现对游戏逻辑的修改并生成新的游戏逻辑代码,即能完成对游戏逻辑的修改。

以下,以一个触发器的编辑为例说明一下通过本发明可视化游戏逻辑编辑系统的进行的编辑操作:

请参阅图2,是由本发明可视化游戏逻辑编辑系统完成的一个触发器所对应的游戏逻辑编辑界面的示意图。在单击逻辑架构显示区域a中的父节点控件“事件”的子节点控件后,选项显示区域c中会显示相关的文字段,而文字段中的参数可变选项为“最终场景,区域1”和“已开放”,如图4所示,也即,该触发器当前声明监听游戏中的“区域状态变化”事件,而监听的事件可以分为两种,一种是游戏代码中程序执行某些操作后,硬编码推送出去的事件,另一种是策划人员在本发明可视化游戏逻辑编辑系统中通过相关事件组件推送出去的事件。此时,该事件的验证条件是“最终场景的区域1更改为开放状态”,当验证条件通过后再检查父节点控件“条件”中的条件是否满足,若满足则执行父节点控件“动作”中的逻辑节点;故策划人员可通过更改参数可变选项中的内容而改变触发器的监听事件。请继续参阅图2,在还需要该场景的第二区域和第三区域都是开放的条件下才能执行“动作”中的逻辑节点时,通过在“条件”节点控件中增加“与”条件节点——“同时满足”子节点控件,即可实现当两个区域都为开放状态时才能执行“动作”节点中的逻辑节点的这一游戏逻辑要求。

当所有的条件都满足后,游戏才会执行“动作”节点中的逻辑,图2中的“动作”节点中的示例逻辑主要分为以下几步:

1)在需要将当前触发器的监听关闭,也即在“触发器”节点下编辑,选定相应的内容参数,如图5所示,即可使当前触发器的监听关闭。这么一来,即使后续还有同样的事件推送并满足条件也不会再触发这个触发器;

2)在需要将一些不能使用的区域设置为阴影状态时,也即需要增加相应数量的区域节点,并根据需求选定每一区域节点中的内容选项,从而实现不能使用的区域被设置为阴影状态,如图2和图6所示;

3)在需要对视野方案进行调整时,通过选定相应的“视野”节点,并选定相应的内容选项,如图7所示,此时选定的内容选项为“方案二”,由此即实现将视野方案调整为方案二;

4)当需要创建一个普通对话框时,通过选择“对话框”节点,并将内容选项选定为“普通对话框”,而内容和说话人都可以根据需要输入相应的参数,如图8所示,可知,对话款的类型为普通对话框,而内容为“现在我们可以向周围进军了!”,说话人为“罗贯中”。

5)当需要为动作创建一个执行条件时,例如:假设在玩家游戏币小于1000时,增加3000游戏币并弹窗提示,否则减少100游戏币,如图9所示,增设或选择“逻辑”节点控件,在“逻辑”节点控件下输入数据大小参数和选择相应的内容选项。

由此,通过上述编辑,即可完成一个触发器的编辑,实现相应的游戏逻辑代码的生成。

相应地,在本发明的可视化游戏逻辑编辑系统的基础上,本发明还提供了一种利用该可视化游戏逻辑编辑系统实现游戏逻辑编辑的可视化游戏逻辑编辑方法,该方法包括以下步骤:

s101:检测是否有运行指令输入,是则执行步骤s102,否则不执行任何操作;

s102:启动预置的编辑器软件,调用预存的组件库,并控制编辑器软件显示游戏逻辑编辑界面;所述组件库包括函数组件、动作组件、条件组件、数据源组件、值数据组件、预设值组件、变量组件和表达式组件;所述编辑器软件配置有以树形结构的方式组合并连接的组件库中的所有组件;所述游戏逻辑编辑界面与组件库中的所有组件绑定,且游戏逻辑编辑界面配置有根节点控件、配置于根节点控件下的多个父节点控件、配置于各父节点控件下的至少一子节点控件、以及配置于部分子节点控件下的至少一次子节点控件;每一子节点控件和每一次子节点控件内设置有至少一参数可变选项;每一参数可变选项包括不同的多个内容选项,并分别与所述组件库中相应的组件绑定;其中,所述编辑器软件和组件库分别与可视化游戏逻辑编辑系统中的编辑器软件和组件库相同,在此不进行详细说明;

s103:检测游戏逻辑编辑界面中的各个节点控件和/或各参数可变选项是否有编辑指令输入,是则控制相应的节点控件展开,并根据编辑指令调用相应的组件,生成相应的逻辑代码,并保存于一逻辑代码库,完成游戏逻辑编辑;否则保持显示当前游戏逻辑编辑界面。

在本实施例中,所述步骤s101~s103都由所述处理模块执行。

请参阅图3,所述步骤s103具体包括所述可视化游戏逻辑编辑方法中由处理模块执行的步骤s11~s18,也即:

s11:检测逻辑架构显示区域a中是否有编辑指令输入,是则执行s13,否则执行s12;

s12:控制编辑器软件的游戏逻辑编辑界面仅显示逻辑架构显示区域a,并控制逻辑架构显示区域a仅显示根节点控件;

s13:判断所述编辑指令是否为一父节点展示指令,是则控制游戏逻辑编辑界面仅显示逻辑架构显示区域a,逻辑架构显示区域a显示根节点控件和各父节点控件,并执行步骤s14;否则,返回执行s12;

s14:继续检测逻辑架构显示区域a中是否有编辑指令输入,是则判断所述编辑指令是否为一子节点展示指令,如果是子节点展示指令,则控制逻辑架构显示区域a还显示与该子节点展示指令对应的子节点控件,并执行步骤s15;否则,保持当前显示界面;

s15:继续检测逻辑架构显示区域a中是否有编辑指令输入,是则判断当前编辑指令是否为一参数选择指令,是则控制选项显示区域c显示,选项显示区域c内显示与当前参数选择指令相应的子节点控件所对应的文字段,同时控制所述树形逻辑区域b和选项解释区域d显示,并执行步骤s18;否则,执行步骤s16;

s16:判断当前编辑指令是否为一次子节点展示指令,是则控制逻辑架构显示区域a还显示与该次节点展示指令对应的次节点控件,否则,执行步骤s17;

s17:判断当前编辑指令是否为节点展示指令,是则控制逻辑架构显示区域a还显示与该子节点展示指令对应的子节点控件,并执行步骤s15;否则,保持当前显示界面;

s18:检测选项显示区域c中的文字段中的参数可变选项是否有编辑指令输入,是则根据编辑指令控制选项显示区域c显示当前选定的内容选项或当前键入的内容参数,并调用相应的组件库,生成相应的代码;同时根据当前选定的内容选项或当前键入的内容参数更新树形逻辑区域b中相应的内容;否则,保持当前显示界面。

在进行游戏逻辑编辑过程中,处理模块通过根据编辑指令获取各参数可变选项中的内容选项,调用相应的组件,生成所需的游戏逻辑代码。

另外,为对应于可视化游戏逻辑编辑系统中的“当各父节点下配置的子节点控件比所需游戏逻辑多时,可以删除多余的子节点控件;当各父节点下配置的子节点控件比所需游戏逻辑少时,可以增加所需的子节点控件”这一内容,所述可视化游戏逻辑编辑方法的步骤s103还包括步骤s19:检测所述编辑指令是否为控件删除指令,是则删除相应的控件;否则检测所述编辑指令是否为控件增加指令,是则增加相应的控件;否则执行步骤s11~s18。

完成游戏逻辑编辑后,在需要对游戏逻辑进行修改时,通过改变相应的内容选项或内容参数,或者,通过增加所需的子节点控件或删除多余的子节点控件,或者,通过修改子节点控件的类型,实现对游戏逻辑的修改并生成新的游戏逻辑代码。另外,至于对本发明的可视化游戏逻辑编辑方法的技术方案的进一步理解和细节之处的得知,可基于本发明的可视化游戏逻辑编辑系统得到,故在此不赘述。

另外,本发明还具有其它变形实施例,例如:

1)将游戏逻辑编辑界面中的选项解释区域d删除,和/或,将游戏逻辑编辑界面中的树形逻辑区域b删除,和/或,将游戏逻辑编辑界面中的各个区域合并成同一区域,不做区别划分。

2)作为父节点控件的另一种变形实施例,所述多个父节点控件分别为事件触发控件和动作控件。所述事件触发控件下配置有一触发子控件,所述触发子控件内设置有至少一触发参数可变选项;所述动作控件下配置至少一动作子控件,所述动作子控件内配置有至少一动作参数可变选项;只有在满足当前选定的触发参数可变选项中的内容选项的前提下,动作控件中的逻辑内容才会响应并执行;通过选定各参数可变选项中的内容选项,以调用相应的组件,生成所需的游戏逻辑代码。此处,仅设置了2种类型的父节点——事件触发控件和动作控件,因为,游戏中,游戏动作的响应和执行通常都是触发了一定的事件,而事件中可以包含条件类型的控件,也能使得编辑更加贴合实际使用需求,避免信息冗杂,避免对内存空间和显示空间不必要的占用,也使得逻辑更加简明,易于编辑。

相对于现有技术,本发明可视化游戏逻辑编辑方法及系统通过将所述组件库中的所有组件按操作逻辑以树形结构的方式组合并连接,也即通过程序内部将一系列游戏中常用的操作逻辑形成树形结构,将所有操作、判断、数据都作为树的节点进行管理,然后通过游戏逻辑编辑界面绘制出来并响应相应的操作,给策划人员提供了一个逻辑架构,仅需根据所需逻辑选定相应的内容选项,利用不同节点控件的内容选项之间相互组合,也可变换同一节点控件的内容选项以利用相同的组件实现不同的功能,使得游戏逻辑性能方便地通过界面展示,让策划人员可自行通过编辑系统实现游戏的逻辑结构,降低对程序员的依赖,并防止编写逻辑时数据类型出错的现象发生,且本发明使用组件库管理提高了代码的重用性,避免代码只能重复实现同一组件的同样功能。也即,利用本发明可视化游戏逻辑编辑方法及系统的策划人员能够方便地控制游戏逻辑的整体进行而无需程序人员直接干预,程序人员只需要实现策划人员提出的基础组件,也即根节点控件、各父节点控件、各子节点控件和各次节点控件等需要用到的组件,如函数组件、动作组件、条件组件、数据源组件、值数据组件、预设值组件、变量组件和表达式组件等,即可使得策划人员直接在游戏逻辑编辑界面中通过编辑或选择参数而应用这些组件对游戏逻辑进行掌控。实现将现有技术中策划人员与程序人员的关系由需求提出者(也即策划人员)与实现执行者(程序人员)的单一关系转化为基础组件功能需求及基础组件使用者(策划人员)和组件实现者(程序人员)之间的关系。故,通过本发明可视化游戏逻辑编辑方法及系统,程序人员只需要关注于如何实现并提供能够使用的组件,以实现策划人员可以直接使用组件完成游戏逻辑代码生成,由此程序人员不需要参与游戏玩法设计层面这种本应由策划人员完成的事情,减少了程序人员的负担,同时也方便了策划人员的游戏玩法设计,提高了两者的工作效率,减少游戏开发周期;并通过组件的重复调用完成不同的功能,提高了组件的复用性和可利用性,由于逻辑架构中的类型事先已经预设好,故也防止策划人员编辑逻辑时出现数据类型等低级错误。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

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