本发明涉及一种游戏场景的怪物分配方法和系统,属于计算机游戏开发领域。
背景技术:
怪物系统在很多的游戏里都是一个重要的系统。很多游戏都脱离不了怪物系统,如MMORPG(大型多人在线角色扮演游戏)、ACT(动作游戏),包括策略游戏等,游戏策划需要设计一个怪物系统,整合到游戏的系统玩法,如PVE(Player VS Environment)、PVP(Player VS Player)玩法里,每个不场景,怪物的外形,怪物的数量、数值都不一样,既让玩爱家从与怪物的对抗中找到乐趣,又体验到丰富多彩怪物设计。因而,游戏公司设定者往往会花大量的时间在怪物系统的设计和布怪上面。传统的游戏布方案多是去一个场景一个场景地进行布怪。当怪物进行调整时,如属性发生变化,体型变化,或者删掉时,也引起怪物重新布置,这将会导至大量的返工去重新布怪,影响布怪者的工作效率,尤其是在后期,当需要增删修改怪物时,面对上百个需要重新布怪的场景,这是巨大的工作量。另一方面,当布完怪后,进入游戏体验玩时发现,这布怪的设计,不是自己想要的,因而又需要推倒重新布置。在保证实现布怪策划者的想法的同时,为了提高布怪的效率。
技术实现要素:
针对现有技术的不足,本专利提出一种游戏场景的怪物分配方法和系统,根据规则,可以快速生成以场景的怪物,同时方便进行修改调整,以提高布怪的开发效率。。针对现有的技术缺陷,本专利收集及整理游戏布怪的需求和开发流程,提出新的布怪的方法和流程。
本发明的技术方案包括一种游戏场景的怪物分配方法,其特征在于,该系统包括:S1,获取游戏指定场景区域,得到场景区域模型配置;S2,根据所述步骤S1得到的区域模型配置使用布怪编辑器对区域内的怪物划分进行自定义配置,并生成指定区域的怪物配置数据表;S3,游戏程序运行时,加载所述步骤S2得到的怪物配置数据表对怪物进行生成。
在一个优选的实施方案中,所述的步骤S1还包括:S21,加载游戏程序指定场景区域,得到模型配置分布信息;S22,根据所述S21得到模型配置分布信息对场景区域划分为多个类型。
在一个优选的实施方案中,所述的步骤S22中的区域类型包括:矩形区域类型、扇形区域类型、圆形区域类型。
在一个优选的实施方案中,所述的步骤S2还包括:使用数据表对怪物定义信息进行分类存储;使用数据表对布怪规则进行分类存储。
在一个优选的实施方案中,所述的布怪编辑器包括:加载模块,用于对场景区域模型配置、怪物定义数据表、布怪规则数据表进行加载;编辑模块,用于提供编辑界面对怪物定义数据表、布怪规则数据表进行自定义编辑;生成模块,用于对已编辑的怪物定义数据表、布怪规则数据表生成游戏配置文件。
在一个优选的实施方案中,所述的步骤S3中游戏程序执行步骤包括:加载指定区域场景数据;读取指定区域对应的布怪规则,在指定区域依照布怪规则生成对应的怪物。
在一个优选的实施方案中,该方法还包括:若识别为矩形区域,根据布怪规则,生成范围在该矩形区域,其中矩形区域设计在布怪编辑器里,且需要输入起点、宽高,则怪物会生成在场景区域的矩形区域;若识别为扇形区域,根据布怪规则,生成范围在该扇形区域,其中扇形区域设计在布怪编辑器里,且需要输入起点、朝向、半径、弧度,则怪物会生成在场景区域的扇形区域;若识别为圆形区域,根据布怪规则,生成范转在该圆形区域,其中圆形区域一般设计在布怪编辑器里,且需要输入起点、半径,则怪物会生成在场景区域的圆形区域。
在一个优选的实施方案中,若所述步骤S2没有生成布怪规则则:遍历场景获取场景大小数据,进一步,对遍历步长进行设定;选定场景区域的多个点作为联通点,进一步,对场景区域的所有点进行遍历,其中联通点用于两点间进行寻路查询,如果路径不为空,则说该两点之间联通,该点为有效点,可以布怪;依次执行垂直射线检查、点的阻挡检查、联通检查,若均检查通过则记录该点并在点的区域生成怪物,若其中任意一项检查不通过则不生成怪物。
本发明的技术方案还包括上述任意方法的游戏场景的怪物分配系统,其特征在于,该系统包括:场景区域划分模块,用于获取游戏指定场景区域,得到场景区域模型配置;布怪规则生成模块,用于根据所述场景区域划分模块得到的区域模型配置使用布怪编辑器对区域内的怪物划分进行自定义配置,并生成指定区域的怪物配置数据表;游戏执行模块,游戏程序运行时,加载所述布怪规则生成模块得到的怪物配置数据表对怪物进行生成。
本发明的有益效果为:对于怪物设计者,可以在指定区域,使用指定的布怪规则。让程序根据规则自动布怪,同时,设计者也保留了调的权限,既提高布怪的工作效率,同时可以灵活修改;随机场景的运行时根据规则布怪,可以提高怪物生成的随机性,每次进入场景,怪物都不同,提高游戏可玩性;方便拓展与修改。需要添加布怪规则时,填表、修改表就可以。
附图说明
图1所示为根据本发明实施方式的总体流程图;
图2所示为根据本发明实施方式的无布怪规则生成流程图;
图3所示为根据本发明实施方式的场景布怪流程图;
图4所示为根据本发明实施方式的游戏场景怪物生成流程图;
图5所示为根据本发明实施方式的布怪定义表;
图6所示为根据本发明实施方式的布怪规则表;
图7所示为根据本发明实施方式的布怪配置表。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的游戏场景的怪物分配方法和系统适用于游戏怪物摆放的开发。
图1所示为根据本发明实施方式的总体流程图。及实施具体包括:
分析场景地形特点,包括获取和分类场景数据;
划分场景数据;
使用布怪编辑器对布怪规则进行自定义编辑;
生成怪物数据表;
调整怪物属性,通常为再次对布怪规则进行编辑时执行;
生成布怪配置,其形式为数据表形式;
在游戏程序中依照布怪规则生成怪物。
图2所示为根据本发明实施方式的无布怪规则生成流程图。怪可能生成在场景允许的任意区域。这种时不需要设计摆区域或刷区域,程序可以逐格子描述,根据该点与场景其它点是否连通,进行判断该点是否可以摆怪。如果有布怪规则则根据区域形状进行对应的生成
矩形区域,怪根据规则,生成范围在该矩形区域。矩形区域一般设计在布怪编辑器里,布怪设计者输入: 起点(x,y),宽高(w,h),则可场景相应的区域。
扇形区域,怪根据规则,生成范围在该扇形区域。扇形区域一般设计在布怪编辑器里,布怪设计者输入: 起点(x,y),朝向,半径,弧度,则可场景相应的区域。
圆形区域,怪根据规则,生成范转在该圆形区域。圆形区域一般设计在布怪编辑器里,布怪设计者输入: 起点(x,y),半径,则可场景相应的区域。
最后,导出成一个场景对应的区域配置:如场景001,导出的配置文件。
图3所示为根据本发明实施方式的场景布怪流程图。其实施流程为:
场景布怪开始;
读取布景区域;
读取布怪规则;
根据布怪规则在指定区域加载对应数量的怪物直到要求;
生成怪物;
并在场景中进行显示;
如果需要手动时,则可以进行手动调整,调整时,动态更新数据表布怪规则数据;
生成布怪规则配置表。
图4所示为根据本发明实施方式的游戏场景怪物生成流程图。其实施流程为:
进入游戏场景;
读取布怪规则;
生成怪物。
当然,也可以不提前生成布怪的配置数据,直接在游戏运行时,动态生成,这样可以保证每次进入场景怪物位置、种类等都不一样,增加游戏的随机性, 同时,减少布怪者的工作量,这种布怪方式在随机的场景或迷宫非常适用。
本发明进一步高开了布怪生成规则,主要是将规则,用表管理起来。当我们需要调整规则时,我们只需要改表,即可以做到场景的怪布置出来是根据根生成,完成不一样。考虑怪物的数值,可能布怪物需要修改。
图5为怪物定义表。 里面记录了所有的怪,并且对怪物的分类:如种族分类,等级分类,是否肉盾,是否ADC、是否精英怪,是否关联(配合)怪及其关联的怪有哪些,参考如图5。
其中:
typeid:指的是怪物的id。
Desc: 怪物的描述信息。
是否精英:怪物设计者用此进行分类。
是否关联怪:是指当要布这个怪,需要同时布关联的怪。
关联怪的id: 需要布的怪id以及数据。格式:怪物的id=数量。如图中的:7=3;
特殊的出场方式:副本,当玩家第一次遇到该怪,该怪的出现的方式。
怪物设计者可以根据游戏的需要增加、删除列,以便控制怪的分类、行为。
图6为布怪规则表。里面记录了布怪的规则。设计可以增加减少布怪规则。不同的游戏,不同的设计者,其布怪规则也不同。本文只列举一些常见的布怪规则。
规则1 : 区域按密度生成怪物A。如区域1,该面积有25%是怪物A。计算时即:布怪点/有效点 = 25%。从区域1里随机取出25%有效点,布置上怪物即可。
规则2 : 特别点布置特别怪。即往SpecialPointList 里布置相应的boss或者怪物。以及怪的出场景方式:跳、钻、爬等出场。
规则3 : 从怪物列表里,按规则如等级,种族等分类,随机选择怪进行布置。
规则4 : 约束规则:当布置了怪B时,需要布置怪C进行配合。
规则5 : 按比例布怪,如D怪占20%, E怪占30%等。
规则6 : 按某一队形布怪。如竖着一排;横着一排;方阵等。
其中:ruleId:指的是布怪规则id.
Desc:指用的布怪规则的大类。
密度:密度=布怪点/可布怪总点。
怪物编号:一个列表类型的数据结构,当布怪时,随机从列表里取怪的id。
怪物的比例:填写格式:怪物的id=比例百分比。如:6=30;表示布置怪6的概率是30%.
形状: 如有特殊形状,则按特殊形状进行布置。
间隔:是指每多少个格子,就布一个怪。怪物类型从怪物编号列表里取。
图7为游戏所读取的布怪配置表。场景表里记录区域信息,区域信息再对应布怪规则。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。