一种基于触发器的可视化游戏关卡编辑方法和系统
技术领域
本发明涉及一种基于触发器的可视化游戏关卡编辑方法和系统,属于游戏开发技术领域。
背景技术
关卡设计逻辑比较复杂,大多游戏制作都是程序根据策划文案,直接代码硬编码实现。每个关卡都需要写大量的代码来实现,策划没法调整关卡玩法逻辑,只能调整怪物的位置,朝向等参数。
在一个游戏开发项目的关卡代码文件和实现代码片段中,文件数量或者代码量与关卡数量,关卡难度等相关联,一般达数十个甚至上百个。而且关卡的玩法需要不断的体验和调整,才能有把关卡做得更有娱乐性。故这种实现有如下缺陷:
1、策划没办法独立改变关卡玩法,需要程序配合,降低效率;
2、不能在关卡场景里直接编辑逻辑,细节很难调整到位;
3、逻辑没有可视化,只能通过代码检查,容易出bug;
4、大量功能差异不大的代码,重复代码多且代码量大,维护成本较高。
发明内容
针对上述技术问题,本发明通过提供一种基于触发器的可视化游戏关卡编辑方法和系统,显著降低了游戏关卡开发成本,提高代码的重用性以及可维护性。
本发明采用的技术方案一方面包括一种基于触发器的可视化游戏关卡编辑方法,包括以下步骤:A、接入游戏开发数据库,更新和获取游戏关卡设计资源和数据;B、提供人机交互界面,该人机交互界面包括机关编辑区、关卡编辑区和参数配置活动区,其中,所述机关编辑区包含依次连接的输入事件元件、机关判断元件、触发器元件和输出事件元件,所述关卡编辑区包含与机关编辑区中的元件关联的机关组合元件,所述参数配置活动区与机关编辑区和关卡编辑区关联并且接入对应的游戏关卡设计资源和数据;C、对用户完成配置的机关编辑区和关卡编辑区中的元件载入所述游戏关卡设计资源和数据,将测试完成的至少一个机关组合元件转译为关卡数据格式文件且传输到游戏关卡编辑工具中以创建或更新关卡。
进一步,所述的游戏关卡设计资源和数据包括:机关事件列表、机关行为列表、状态触发参数、执行函数接口和机关影音资源。
进一步,所述步骤B包括:通过默认或由用户编辑方式,分别提供设置所述触发器元件的状态触发前行为模式、状态触发时行为模式和状态触发后行为模式。
作为所述基于触发器的可视化游戏关卡编辑方法的进一步改进,其中:状态触发前行为模式包括满足预设的机关条件以允许执行状态变化前的行为调用步骤;状态触发时行为模式包括设置机关状态以执行状态生效时的行为函数接口对接步骤;状态触发后行为模式包括执行状态生效后的行为函数接口对接步骤。
进一步,所述步骤B还包括:根据用户在机关编辑区和关卡编辑区编辑激活的元件,实时获取所述游戏关卡设计资源和数据并且动态地生成候选窗体。
进一步,所述步骤B还包括:配置所述触发器元件的状态表现参数,用于指定相应的机关影音的播放动作。
进一步,所述步骤C包括:将一组完整的输入事件元件、机关判断元件、触发器元件和输出事件元件封装为一个机关组合元件;提供连接图元和接口,为关卡编辑区中的机关组合元件建立流程连接,以配置整个关卡的机关执行顺序。
优选地,所述步骤C还包括:根据机关触发行为顺序以及整个关卡的机关执行顺序,检验所述至少一个机关组合元件的执行逻辑,当通过检验时才执行转译操作。
优选地,所述基于触发器的可视化游戏关卡编辑方法利用LUA脚本生成关卡数据格式文件。
本发明另一方面提供一种基于触发器的可视化游戏关卡编辑系统,包括:第一模块,用于接入游戏开发数据库,更新和获取游戏关卡设计资源和数据;第二模块,用于提供人机交互界面,该人机交互界面包括机关编辑区、关卡编辑区和参数配置活动区,其中,所述机关编辑区包含依次连接的输入事件元件、机关判断元件、触发器元件和输出事件元件,所述关卡编辑区包含与机关编辑区中的元件关联的机关组合元件,所述参数配置活动区与机关编辑区和关卡编辑区关联并且接入对应的游戏关卡设计资源和数据;第三模块,用于对用户完成配置的机关编辑区和关卡编辑区中的元件载入所述游戏关卡设计资源和数据,将测试完成的机关组合元件转译为关卡数据格式文件且传输到游戏关卡编辑工具中以创建或更新关卡。
本发明的有益效果为:1、缩短关卡的开发时间,使策划能按自己的意愿设计关卡,不用和程序描述设计,减少沟通成本;2、增强代码可维护性与可重用性,关卡内逻辑抽象成有限的机关,只需维护机关和事件触发的代码,方便增加功能(加一个机关即可)和统一修改功能;3、方便各种职位的人员分工合作,优化流程,设计者和实现者用同种规范来达成目标,分离了程序与策划的分工,策划只需考虑现有的机关能不能满足他的设计,需要新加机关的时候才提需求给程序。
本发明还能够增强游戏的体验和表现,包括:a)在关卡场景直接编辑,精确配置各种参数;b)可以把使用场景内的某个部件设为机关,和场景融为一体;c)所见即所得,编辑好后可以立刻体验,不符合可以再次编辑。
附图说明
图1所示为根据本发明的方法的流程框图;
图2所示为根据本发明一实施例的图形化示意图。
具体实施方式
下面通过参照附图的方式描述本发明的实施例。
参照图1,在一个实施例中,根据本发明的方法包括A、接入游戏开发数据库,更新和获取游戏关卡设计资源和数据;B、提供人机交互界面,该人机交互界面包括机关编辑区、关卡编辑区和参数配置活动区,其中,所述机关编辑区包含依次连接的输入事件元件、机关判断元件、触发器元件和输出事件元件,所述关卡编辑区包含与机关编辑区中的元件关联的机关组合元件,所述参数配置活动区与机关编辑区和关卡编辑区关联并且接入对应的游戏关卡设计资源和数据;C、对用户完成配置的机关编辑区和关卡编辑区中的元件载入所述游戏关卡设计资源和数据,将测试完成的至少一个机关组合元件转译为关卡数据格式文件且传输到游戏关卡编辑工具中以创建或更新关卡。其中,所述的游戏关卡设计资源和数据包括:机关事件列表、机关行为列表、状态触发参数、执行函数接口和机关影音资源。
在一个优选的实施例中,所述步骤B包括:通过默认或由用户编辑方式,分别提供设置所述触发器元件的状态触发前行为模式、状态触发时行为模式和状态触发后行为模式。其中:状态触发前行为模式包括满足预设的机关条件以允许执行状态变化前的行为调用步骤;状态触发时行为模式包括设置机关状态以执行状态生效时的行为函数接口对接步骤;状态触发后行为模式包括执行状态生效后的行为函数接口对接步骤。在本实施例中,根据用户在机关编辑区和关卡编辑区编辑激活的元件,实时获取所述游戏关卡设计资源和数据并且动态地生成候选窗体。还配置所述触发器元件的状态表现参数,用于指定相应的机关影音的播放动作。
在一个优选的实施例中,所述步骤C包括:将一组完整的输入事件元件、机关判断元件、触发器元件和输出事件元件封装为一个机关组合元件;提供连接图元和接口,为关卡编辑区中的机关组合元件建立流程连接,以配置整个关卡的机关执行顺序。优选地,所述步骤C还包括:根据机关触发行为顺序以及整个关卡的机关执行顺序,检验所述至少一个机关组合元件的执行逻辑,当通过检验时才执行转译操作。优选地,所述基于触发器的可视化游戏关卡编辑方法利用LUA脚本生成关卡数据格式文件。
在一些实施例中,根据本发明的游戏关卡机关处理装置包括用于储存应用程序存储器和处理器,其中所述处理器包括:第一模块,用于接入游戏开发数据库,更新和获取游戏关卡设计资源和数据;第二模块,用于提供人机交互界面,该人机交互界面包括机关编辑区、关卡编辑区和参数配置活动区,其中,所述机关编辑区包含依次连接的输入事件元件、机关判断元件、触发器元件和输出事件元件,所述关卡编辑区包含与机关编辑区中的元件关联的机关组合元件,所述参数配置活动区与机关编辑区和关卡编辑区关联并且接入对应的游戏关卡设计资源和数据;第三模块,用于对用户完成配置的机关编辑区和关卡编辑区中的元件载入所述游戏关卡设计资源和数据,将测试完成的机关组合元件转译为关卡数据格式文件且传输到游戏关卡编辑工具中以创建或更新关卡。
图2所示为根据本发明一优选实施例的图形化示意图。具体地,本发明实施的系统分三部分完成,第一部分机关设计和程序接口;第二部分机关类型和行为、机关表现;第三部分机关组合成关卡逻辑和执行过程。下面进行详细说明。
第一部分机关设计和程序接口
通过分析关卡内的玩法可以知道,关卡过程就是根据玩家的行为不断的发生一些事件,故而设计出触发器,游戏中通常叫做机关。
在本实施例中,利用机关编辑去设计机关可以通过如下过程:1、等待输入事件,判断能否触发;2、条件满足,执行状态变化前的行为;3、设置状态,执行状态生效时的行为;4、执行状态生效后的行为,发出事件。然后在关卡编辑器,对一系列的机关分别进行编辑,每个机关可以对应上述4个过程进行编辑,通过多个机关各自的输入和输出连接起来就可以实现一个关卡。其中,输出事件元件可以封装有程序接口。程序主要接口和功能要求通用,方便扩展新功能的机关,设计的函数和方法如下,重载以下部分函数即可实现,具体见下表:
方法名称 |
功能 |
init |
初始化机关 |
reset |
重置机关状态 |
before_activated |
机关状态切换前调用的行为 |
on_activated |
机关状态生效时执行的函数 |
after_activated |
机关状态生效后执行的函数 |
output_event |
输出事件,以触发下一个机关 |
第二部分机关的分类、行为和表现
在具体的编辑过程中,根据本发明的方法和装置可以提供各种机关信息,比如机关的分类、行为和表现。
1、按触发类型可把机关划分为:
AOI机关
玩家或者怪物NPC进入设定的区域后触发的机关。参数配置如下表:
事件机关
怪物死亡、怪物受击、玩家受击等事件触发的机关。参数配置如下表:
选择怪物 |
10829_骷髅刀兵 |
召唤数量 |
1 |
召唤半径 |
0.5 |
刷怪间隔 |
1 |
出生动画 |
Spawn_02 |
2、机关触发时有三个时机执行行为,根据实际需求把行为放置在相应的时机执行,常见的行为有:
开关战斗区域的门
召唤怪物
播放剧情
释放技能
掉落物品。
3、机关的表现,按照设计,机关在游戏中需要5个动画,分别是:
未激活动画(Disable)
状态0切换动画(Close)
状态0保持动画(Closed)
状态1切换动画(Open)
状态1保持动画(Opened)
举个例子说明,机关处于状态0,机关循环播放状态0保持动画Closed,当收到事件后,切换到状态1,机关先播放切换动画Open,播完后则循环播放状态1保持动画Opened。
在本实施例中,参照图2,通过参数配置活动区配置本部分所述的机关分类、行为和表现。优选地,在用户点击或者激活相应的元件时,才会生成相应的参数配置活动区,以保持编辑器的显示界面清楚间接,以提高工作效率。
第三部分机关组合成完整的关卡玩法和执行过程
用户(比如游戏策划)在关卡场景摆放好怪物和机关,利用根据本发明的方法和装置,将输入输出事件连接起来,就行成了整个关卡的玩法。最后导出LUA格式的配置文件,文件格式概要如下:
1return
2→[“NPC_DATA”]={…
180},
181→[“TRIGGER_DATA”]={…
209}
210}
……
其中NPC_DATA是怪物配置数据;TRIGGER_DATA是机关配置数据。然后,将所述打包的配置文件导入到游戏关卡开发工具中,即可解析生成新的关卡,使得新关卡满足用户设计的输入事件和触发行为动作。例如,一个生成关卡的执行过程描述如下:玩家进入关卡,触发第一个机关(一般是AOI机关,或者杀死怪物);机关触发时的行为反馈给玩家形成关卡的玩法;机关触发后发出事件触发下一系列的机关,如此循环;最后触发结束关卡的机关,比如杀死boss(关卡成功)或者某些条件不达到(关卡失败);结束关卡。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。