欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 一种可视化编辑树结构游戏逻辑的方法及介质独创技术17252字

一种可视化编辑树结构游戏逻辑的方法及介质

2021-01-01 12:10:11

一种可视化编辑树结构游戏逻辑的方法及介质

  技术领域

  本发明涉及一种可视化编辑树结构游戏逻辑的方法及介质,属于游戏开发技术领域

  背景技术

  开发游戏时往往需编辑复杂的游戏逻辑,一般都是由程序人员通过文本编程的方式来实现。在游戏开发中常见的文本编程语言有C#、Lua、JAVA等,这些语言的学习成本较高,如果没有通过专业地学习很难掌握与应用。而对于非专业的游戏开发者,他们通常不具备使用文本编程语言的能力,因此在独立开发游戏的过程中,他们很难实现较复杂的游戏逻辑。

  为了解决上述问题,现有技术提出了将代码转换为通俗语言指令的可视化编辑方法。这类方法是将封装好的函数转换成通俗语言的指令,开发者编辑游戏逻辑时,只需在固定的指令行里选择不同的指令。游戏编辑器在打包游戏时,将开发者编辑好的指令集转换为相应的函数,生成实际运行的游戏逻辑代码。

  然而,现有技术有以下缺点:

  1.指令集的可读性较差,使用树结构的指令集,指令较多或结构较复杂时,会一层套一层地向里延伸。因此阅读时容易看错指令的层级、看漏指令等,导致容易出BUG。

  2.受编辑方式的限制,不能灵活地调整指令的执行结构,需要逐条删除再创建,降低开发效率。

  3.调试游戏时,需要经常断开树结构中的某条分支,但是在指令集中无法暂时断开某条分支,只能将其删除,导致重复的劳动,不便于调试。

  4.对于层级较深的指令参数,无法在编辑页面直接显示,需要点开指令的内部进行编辑和查看。

  5.无法将指令进行封装,不便于复用。

  发明内容

  为了解决上述问题,本发明提供一种可视化编辑树结构游戏逻辑的方法及介质,以降低编辑游戏逻辑的难度,使没有掌握编程能力的开发者也能自行实现游戏逻辑。同时对于树状的代码结构,提供通过连线建立分支的编辑方式,可以更灵活地断开或连接分支,提高编辑效率和可读性,降低出BUG的风险;以及通过对树结构的各个节点进行封装,提高相似功能的复用性。

  本发明实施例涉及一种可视化编辑树结构游戏逻辑的方法,包括以下步骤:A.接入底层数据,更新和获取游戏编辑资源和数据;B.提供游戏逻辑编辑界面,所述游戏逻辑编辑界面包括编辑工具区、触发器标签栏和逻辑编辑区;C.将所述游戏逻辑资源和数据加载到用户配置的逻辑编辑区以及所述逻辑编辑区中的节点元件,以配置和显示所述节点元件的名字、参数及返回值;D.启动测试游戏时,将用户完成编辑的逻辑编辑区和逻辑编辑区中的节点元件数据转换为游戏引擎可读数据;其中,所述逻辑编辑区包括触发节点元件、各个参数节点元件和画布;所述节点元件以图块的形式显示在所述画布中,所述节点元件在所述画布中随意拖动位置;所述触发节点元件与当前所编辑的触发器绑定,作为触发器逻辑树的根节点,各个参数节点元件作为所述触发器逻辑树的分支节点横向展开。

  进一步,所述参数节点元件包括游戏条件节点元件、游戏动作节点元件及数据获取节点元件。将游戏条件节点元件、游戏动作节点元件与数据获取节点元件均视为参数节点元件。

  进一步,所述步骤A还包括:根据游戏引擎数据定义所述游戏逻辑编辑资源和数据;所述游戏逻辑编辑资源和数据包括:触发器列表、节点列表、节点参数和返回值、节点ID和位置、节点分类及游戏模块资源。

  进一步,所述步骤B包括:根据用户的编辑行为,提供设置所述节点元件的状态,所述状态包括:选中状态、取消选中状态、与其他节点元件相连状态及与其他节点元件断开连接状态。

  进一步,所述触发器标签栏以标签分页的方式显示同一对象的不同触发器;所述触发器标签栏显示当前编辑对象的触发器,所述触发器选中后,所述逻辑编辑区显示所述触发器下的节点元件。

  进一步,所述步骤C包括:提供所述节点元件的参数和参数编辑区,所述参数和参数编辑区均显示在所述节点元件的图块中;根据参数的数据类型,在所述参数编辑区显示不同的编辑方式,所述编辑方式包括:文本输入框、资源选择按钮及数据获取按钮;对于坐标类型和区域类型的参数,所述数据获取按钮跳转并获取编辑器场景中的位置和区域数据。

  进一步,所述步骤C还包括:提供所述节点元件的参数接口和返回值接口,通过连线为所述节点元件建立流程连接,以配置整个触发器执行顺序;父节点元件的参数接口通过连线与子节点元件的返回值接口相连,表示所述父节点元件的参数来源为所连接的所述子节点元件。

  进一步,所述步骤C还包括:所述父节点元件的参数接口监听到点击或双击或拖拽事件时,显示符合所述参数接口的数据类型的节点元件列表;某项节点元件选中后,在所述画布中创建新的节点元件实例,并自动与父节点元件的参数接口相连。

  进一步,所述步骤D包括:基于用户完成配置的数据利用Lua脚本生成引擎格式文件。

  本发明实施例还涉及一种计算机可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施上述方法。

  本发明实施例的有益效果如下:相对于现有技术,本发明以图块的形式显示游戏逻辑,以连线的形式组织游戏逻辑的树状结构。本发明对于分支和节点的修改更为灵活,可随时断开与重连分支,便于组织分支,提高编辑和调试效率。而且本发明采用了平铺展开的节点展示方式,树结构逻辑更为清晰,大大提升了可读性和阅读逻辑。本发明还可将树结构的各个节点进行封装,提高相似功能的复用性。

  附图说明

  以下结合附图和实施例对本发明作进一步说明。

  图1为本发明方法实施例的步骤流程图;

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

  图3为本发明实施例的参数节点元件的界面示意图;

  图4为本发明实施例编辑一个触发器的操作示意图;

  图5为本发明实施例编辑示例游戏逻辑的示意图。

  具体实施方式

  以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

  参照图1,本发明方法的实施例包括以下步骤:

  A.接入底层数据,更新和获取游戏逻辑编辑资源和数据。在本实施例中,所述游戏逻辑编辑资源和数据包括:触发器列表、节点列表、节点参数和返回值、节点ID和位置、节点分类、游戏模块资源。

  B.提供游戏逻辑编辑界面,该游戏逻辑编辑界面包括编辑工具区、触发器标签栏和逻辑编辑区。在本实施例中,所述逻辑编辑区包含触发节点元件、各个参数节点元件和画布。根据用户的编辑行为,提供设置节点元件的状态,包括:节点元件的选中状态、取消选中状态、与其它节点元件相连状态、与其它节点元件断开连接状态。

  C.将所述游戏逻辑资源和数据加载到用户配置的逻辑编辑区以及编辑区中的节点元件,以配置和显示节点元件的名字、参数、返回值等数据。在本实施例中,参数和参数编辑区均显示在节点元件的图块中。根据参数的数据类型,在参数编辑区显示不同的编辑方式,例如文本输入框、资源选择按钮等。

  进一步,在本实施例中提供节点元件的参数接口与返回值接口,通过连线为逻辑编辑区的节点元件建立流程连接,以配置整个触发器执行顺序。

  进一步,在本实施例中,将游戏条件节点元件、游戏动作节点元件与数据获取节点元件均视为参数节点元件,以降低用户在使用时的理解成本,也使得树状的逻辑架构更为简明。

  D.启动测试游戏时,将用户完成编辑的逻辑编辑区和编辑区中的节点元件数据转换为游戏引擎可读数据。

  由此,本发明实施例通过将所述游戏逻辑编辑资源和数据提供的节点元件以连线的形式组成树结构,将触发器、游戏条件逻辑、游戏动作逻辑和获取参数逻辑都作为树结构中的节点进行管理。用户可通过创建节点元件和删除节点元件、连接节点元件和断开节点元件来组合成不同的游戏逻辑,以实现不同的游戏功能。

  为具体阐述本发明中的触发节点元件、参数节点元件和画布等在游戏逻辑编辑界面中的显示方式,以图2为例进行说明。参照图2,图中的每个图块即为节点元件,其中A节点元件“当单位进入游戏时”即为触发节点元件,其它节点元件即为参数节点元件,例如B节点元件“设置单位队伍”即为参数节点元件。各个节点元件之间通过连线建立流程连接,父节点元件的参数接口通过连线与子节点元件的返回值接口相连,表示其父节点元件的参数来源为所连接的子节点。由此,各个节点元件通过连线组成树状结构的游戏逻辑。

  为具体阐述本发明中的节点元件的参数、参数编辑区、参数接口和返回值接口等在游戏逻辑编辑界面中的显示方式,以图3为例进行说明。参照图3,通过将游戏逻辑编辑资源和数据加载到节点元件中,在节点元件的图块中显示节点名字(如图3的A区域),返回值接口(如图3的B区域),参数名(如图3的C区域),参数编辑区(如图3的D区域),参数的数据类型(如图3的E区域),参数接口(如图3的F区域)。另外,当参数接口与其它节点元件相连时,其参数的数据类型以深色背景显示,且置灰该参数的参数编辑区,不允许直接编辑该参数的值。

  以下,以一个触发器的编辑为例说明本发明方法的编辑操作:

  请参照图4,在单击“新建”按钮后会弹出“新建事件列表”,点击或双击“新建事件列表”中的一项“当单位进入游戏时”,则为当前对象创建一个“当单位进入游戏时”的触发器。该触发器声明监听游戏中的“当单位进入游戏时”事件,即当前模块的实例进入游戏时,则触发该触发器,只有触发了触发器,才会执行触发节点元件后面的各个子节点元件对应的游戏逻辑。

  编辑图2中的示例游戏逻辑主要分为以下几步:

  1)参照图5,当需要给玩家分配队伍时,通过点击或双击或拖拽父节点元件的参数接口,会显示符合该参数接口数据类型的节点元件列表。点击“队伍”分类进行展开,点击或双击该分类下的节点元件“设置单位队伍”,则在画布中创建一个“设置单位队伍”的节点元件,并自动将其返回值接口与父节点的参数接口相连。在“设置单位队伍”的节点元件中,可在参数编辑区根据需要输入队伍ID。另外由于entity类型的参数无法在参数编辑区直接编辑,则需要从其它节点元件获取返回值,在示例逻辑中,需要给进入游戏的单位设置队伍,因此以类似方法创建“获取事件参数”节点元件并将其返回值连到“单位”参数即可。

  2)其它节点元件也可通过类似方法进行创建,例如需要给玩家添加货币时,在触发节点元件的第二个执行项的参数接口创建“给玩家添加货币”的节点元件。也可根据需要,在参数编辑区输入相应的货币类型和货币数量。对于“单位”参数,根据实例逻辑,通过类似方法创建“获取事件参数”节点元件并将其返回值连到“单位”参数即可。

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

  在本实施例中所实现的游戏逻辑主要为:

  1)等待触发器“当单位进入游戏”被触发,若触发器被触发,则执行以下步骤,否则保持等待;

  2)给触发“当单位进入游戏时”触发器的玩家分配队伍;

  3)给触发“当单位进入游戏时”触发器的玩家添加货币;

  上述节点元件分别对应游戏引擎封装好的方法,具体见下表:

  对游戏逻辑编辑完成后,在启动测试游戏时,将节点元件数据转换位游戏引擎可读数据,最后导出的bts格式的配置文件,文件格式概要如下:

  

  其中ENTITY_ENTER是游戏逻辑的触发器,玩家满足触发这一条件后会按顺序执行内部的逻辑;

  其中SetEntityTeam是游戏逻辑的子节点元件,entity,teamId均为该子节点元件的参数;$obj1和1均为该子节点元件的参数的值。

  在本实施例中,用户还可以根据所需的游戏逻辑自行增删触发节点元件的顺序执行项,以及自由的增删参数节点元件。触发节点元件下可配置有不同类型的多种参数节点元件,另外,利用本发明的方法完成游戏逻辑的编辑后,在需要对游戏逻辑进行修改时,可直接在节点元件的参数编辑区直接修改参数值,或将参数接口与相应的参数节点元件连接。

  应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

  此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

  进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还可以包括计算机本身。

  计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

  以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

《一种可视化编辑树结构游戏逻辑的方法及介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)