CN105289001A - 一种游戏关卡配置方法、装置及终端 - Google Patents
一种游戏关卡配置方法、装置及终端 Download PDFInfo
- Publication number
- CN105289001A CN105289001A CN201510702056.6A CN201510702056A CN105289001A CN 105289001 A CN105289001 A CN 105289001A CN 201510702056 A CN201510702056 A CN 201510702056A CN 105289001 A CN105289001 A CN 105289001A
- Authority
- CN
- China
- Prior art keywords
- monster
- scene
- game
- coordinate
- strange
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
- Brushes (AREA)
Abstract
本发明公开了一种游戏关卡配置方法,包括如下步骤:构建关卡坐标系,并在所述关卡坐标系中为游戏关卡配置关卡难度曲线;其中,所述关卡坐标系的x轴表示游戏进度,y轴表示游戏难度,所述关卡难度曲线表示游戏难度随着游戏进度的变化情况;在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值;从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。本发明实施例还提供一种游戏关卡配置装置及终端,可实现快速自动的对游戏关卡进行怪物配置。
Description
技术领域
本发明涉及游戏领域,尤其涉及一种游戏关卡配置方法、装置及终端。
背景技术
随着计算机和移动智能机的普及,游戏已经成为一种越来越普遍的娱乐形式,随着游戏市场规模不断扩大,游戏业的竞争日益激烈,如何在更短的时间内以更小的成本产出能迎合市场需求的游戏,是各游戏厂商关注的焦点。
对于关卡类游戏,整个游戏是由多个关卡组成,而每个关卡中会有预定的怪物排布。即使非关卡类游戏类似于RPG游戏,虽然用到了大世界的概念,仍然会在不同的区域分布不同的怪物。怪物的排布看似简单,实际上涉及到很多的考虑点:关卡的整体难度、怪物种类、怪物数量、怪物搭配组合等。
目前大多数游戏的关卡都是依靠关卡编辑器来制作的,需要依赖策划人员手动进行怪物的排布。
发明内容
然而对于现在的关卡类游戏,少则包括数十个关卡,多则包括上百个关卡,仅依靠手动编辑的效率很低,需耗费大量的开发时间,而且生成的关卡如果没有经过反复的试玩和调整,质量不高。
此外,对于通过手动编辑得到的关卡,由于玩家每次进行关卡的怪物排布都是固定的,游戏体验也不佳,无法长期吸引玩家。
针对上述问题,本发明的目的在于提供一种游戏关卡配置方法、装置及终端,可自动对游戏关卡进行配置,快速生成游戏关卡。
第一方面,提供了一种游戏关卡配置方法,包括如下步骤:
构建关卡坐标系,并在所述关卡坐标系中为游戏关卡配置关卡难度曲线;其中,所述关卡坐标系的x轴表示游戏进度,y轴表示游戏难度,所述关卡难度曲线表示游戏难度随着游戏进度的变化情况;
在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值;
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
作为上述方案的改进,所述在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值,具体为:
在所述游戏关卡的游戏进度根据预设的步长行进的过程中,判断当前游戏进度所到达的点在x轴上的坐标是否符合预设的出怪坐标;
若是,则确定所述游戏关卡的游戏进度行进到一个刷怪点,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值;
若否,则根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
作为上述方案的改进,所述根据所述关卡难度曲线及在所述刷怪点之前已出现怪物的难度值总和,获得所述刷怪点的剩余难度值,具体包括:
计算所述关卡坐标系中,所述关卡难度曲线、x轴、y轴及x值等于所述刷怪点的直线所围成的图形的面积;
将所述面积减去所述难度值总和,获得所述刷怪点下的剩余难度值。
作为上述方案的改进,在根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值之后,还包括:
根据预设的怪物密度分布函数及所述剩余难度值判断是否在所述刷怪点配置怪物,其中,所述怪物密度分布函数是关于所述剩余难度值的函数;
若是,则从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中;
若否,则根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
作为上述方案的改进,所述x轴上划分有至少两个区间,且每个区间与至少一个怪物库相关联;其中,不同的怪物库内的怪物的类型不同;
则所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
获取所述刷怪点的坐标所属的区间,从与所述区间关联的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
作为上述方案的改进,所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体包括:
从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的序列;
从所有怪物集合中,获取难度值相加之和最大的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
作为上述方案的改进,所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体包括:
从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
根据所述怪物集合的难度值的大小关系,为每个怪物集合分配一个出现概率,并根据所述出现概率选择一个怪物集合配置到所述刷怪点对应的游戏场景中,其中,所述出现概率与所述怪物集合的难度值成正比。
作为上述方案的改进,所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体包括:
从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
将每个怪物集合存储在一个多叉树中,并随机从所述多叉树中选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
作为上述方案的改进,所述游戏场景为二维游戏场景,并包括场景长度轴,且所述场景长度轴上的点与所述x轴上的点一一对应;
则从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,根据所述刷怪点的坐标获取所述怪物集合在所述场景长度轴上的坐标,并将所述怪物集合配置到所述场景长度轴的所述坐标上。
作为上述方案的改进,所述游戏场景为二维游戏场景,并包括由场景长度轴和场景高度轴组成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
根据所述怪物集合在场景长度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
作为上述方案的改进,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴和场景宽度轴构成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
根据所述怪物集合在场景长度轴上的坐标及在所述场景宽度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
作为上述方案的改进,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴、场景宽度轴和场景高度轴构成的场景空间,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
根据所述怪物集合在场景长度轴上的坐标、在所述场景宽度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景空间中的位置,并将所述怪物集合配置到所述位置上。
第二方面,提供了一种游戏关卡配置装置,包括如下步骤:
构建单元,用于构建关卡坐标系,并在所述关卡坐标系中为游戏关卡配置关卡难度曲线;其中,所述关卡坐标系的x轴表示游戏进度,y轴表示游戏难度,所述关卡难度曲线表示游戏难度随着游戏进度的变化情况;
剩余难度值计算单元,用于在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值;
配置单元,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
作为上述方案的改进,所述剩余难度值计算单元包括第一判断单元、计算单元及刷新单元,其中,包括:
所述第一判断单元,用于在所述游戏关卡的游戏进度根据预设的步长行进的过程中,判断当前游戏进度所到达的点在所述x轴上的坐标是否符合预设的出怪坐标;
若是,则确定所述游戏关卡的游戏进度行进到一个刷怪点,并通知所述计算单元根据所述关卡难度曲线及在所述刷怪点之前已出现怪物的难度值总和,获得所述刷怪点的剩余难度值;
若否,则通知所述刷新单元根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
作为上述方案的改进,所述计算单元具体包括:
面积计算单元,用于计算所述关卡坐标系中,所述关卡难度曲线、x轴、y轴及x值等于所述刷怪点的直线所围成的图形的面积;
减法单元,用于将所述面积减去所述难度值总和,获得所述刷怪点下的剩余难度值。
作为上述方案的改进,所述游戏关卡配置装置还包括第二判断单元:
所述第二判断单元,用于根据预设的怪物密度分布函数及所述剩余难度值判断是否在所述刷怪点配置怪物,其中,所述怪物密度分布函数是关于所述剩余难度值的函数;
若是,则通知所述配置单元从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中;
若否,则通知所述刷新单元根据预设的步长刷新所述刷怪点的坐标。
作为上述方案的改进,所述x轴上划分有至少两个区间,且每个区间与至少一个怪物库相关联;其中,不同的怪物库内的怪物的类型不同;
则所述配置单元具体用于,获取所述刷怪点的坐标所属的区间,从与所述区间对应的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
作为上述方案的改进,所述配置单元具体包括:
第一选择单元,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
获取单元,用于从所有怪物集合中,获取难度值相加之和最大的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
作为上述方案的改进,所述配置单元具体包括:
第二选择单元,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
概率分配单元,用于根据所述怪物集合的难度值的大小关系,为每个怪物集合分配一个出现概率,并根据所述出现概率选择一个怪物集合配置到所述刷怪点对应的游戏场景中,其中,所述出现概率与所述怪物集合的难度成正比。
作为上述方案的改进,所述配置单元具体包括:
第三选择单元,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
随机单元,用于将每个怪物集合存储在一个多叉树中,并随机从所述多叉树中选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
作为上述方案的改进,所述游戏场景为二维游戏场景,并包括场景长度轴,且所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元具体用于,从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,根据所述刷怪点的坐标获取所述怪物集合在所述场景长度轴上的坐标,并将所述怪物集合配置到所述场景长度轴的所述坐标上。
作为上述方案的改进,所述游戏场景为二维游戏场景,并包括由场景长度轴和场景高度轴组成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元具体包括:
第一坐标获取单元,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第二坐标获取单元,用于根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
第一怪物配置单元,用于根据所述怪物集合在场景长度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
作为上述方案的改进,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴和场景宽度轴构成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元具体包括:
第三坐标获取单元,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第四坐标获取单元,用于根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
第二怪物配置单元,用于根据所述怪物集合在场景长度轴上的坐标及在所述场景宽度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
作为上述方案的改进,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴、场景宽度轴和场景高度轴构成的场景空间,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元具体包括:
第五坐标获取单元,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第六坐标获取单元,用于根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
第七坐标获取单元,用于根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
第三怪物配置单元,用于根据所述怪物集合在场景长度轴上的坐标、在所述场景宽度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景空间中的位置,并将所述怪物集合配置到所述位置上。
第三方面,提供了一种终端,其特征在于,包括上述的游戏关卡自动生成装置。
本发明实施例提供的游戏关卡配置方法、装置及终端,根据游戏进度的行进,计算一个刷怪点的剩余难度值,并根据所述剩余难度值自动从预设的怪物库中选择匹配的怪物集合,将所述怪物集合按照一定的规则配置到所述刷怪点对应的游戏场景中,实现了自动为所述游戏关卡配置怪物,节省游戏的开发时间。此外,还可以在保持游戏体验大致相当的情况下,配置不同的怪物集合方案,提高了玩家的游戏体验。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的游戏关卡配置方法的流程示意图。
图2是在游戏关卡中构建的关卡坐标系的示意图。
图3是配置怪物后的游戏关卡的示意图。
图4是本发明第二实施例提供的游戏关卡配置装置的结构示意图。
图5是图4所示的剩余难度值计算单元的结构示意图。
图6是图5所示的计算单元的结构示意图。
图7是图4所示的配置单元的一种结构示意图。
图8是图4所示的配置单元的一种结构示意图。
图9是图4所示的配置单元的一种结构示意图。
图10是本发明另一实施例提供的游戏关卡配置装置的结构示意图。
图11是图4所示的配置单元的一种结构示意图。
图12是图4所示的配置单元的一种结构示意图。
图13是图4所示的配置单元的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明第一实施例提供的游戏关卡配置方法的流程示意图。所述游戏关卡配置方法可由游戏关卡配置装置来执行,其可包括如下步骤:
S101,构建关卡坐标系,并在所述关卡坐标系中为游戏关卡配置关卡难度曲线;其中,所述关卡坐标系的x轴表示游戏进度,y轴表示游戏难度,所述关卡难度曲线表示游戏难度随着游戏进度的变化情况。
在本发明实施例中,所述游戏关卡配置装置既可以应用于自动生成预设关卡,也可以用于实时计算生成关卡。
在本发明实施例中,对于一个游戏关卡,从整体上看,需要考虑两个最重要的因素:关卡难度和关卡节奏。关卡难度表示整个游戏关卡对于玩家过关的难易程度,关卡难度过高,会让玩家产生挫败感,关卡难度过低,会让玩家觉得没有趣味性,因此合理的关卡难度设定是游戏关卡良好体验的第一步,而关卡节奏表示整个关卡给玩家松紧的体验,合理的紧张和舒缓节奏的分布,可以给玩家良好的节奏体验。
这两种要素对于游戏关卡的体验都至关重要,本发明实施例通过引入关卡难度曲线来量化关卡难度和关卡节奏。
具体地,请一并参阅图2,在本发明实施例中,所述游戏关卡配置装置首先构建一个关卡坐标系,并在所述关卡坐标系中为所述游戏关卡配置关卡难度曲线。其中,所述关卡坐标系的x轴表示游戏进度,y轴表示游戏难度,所述关卡难度曲线表示游戏难度随着游戏进度的变化情况。
在图2中,所述关卡难度曲线为一条直线。然而,应当理解的是,在其他实施例中,所述游戏难度曲线也可以是一条多次函数曲线,或其他任意曲线。还可以是由多个分段函数构成的曲线,这可根据实际的需要进行设定,本发明不做具体限定。
S102,在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值。
在本发明实施例中,所述游戏关卡配置装置可根据一个预设的步长来控制所述游戏进度的行进,即游戏进度是位于x轴上的,而每经过一个步长的扫描后,游戏进度即在所述x轴上行进一个步长的距离。
需要说明的是,两个难度值为M的怪物同时出现和相隔距离L后再出现,对于玩家来说难度是不同的,简单来说:同时出现的两个难度值为M的怪物的总难度值可以认为是2*M,而随着间隔地增大,难度值逐渐递减至M。因而,在对步长进行设置时,因考虑两个怪物之间的距离对怪物整体难度值的影响。
在本发明的一个实施例中,在所述游戏关卡的游戏进度根据预设的步长行进的过程中,所述游戏关卡配置装置会先判断当前游戏进度所到达的点在所述x轴上的坐标是否符合预设的出怪坐标;若是,则确定所述游戏关卡的游戏进度行进到一个刷怪点,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值;若否,则根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
具体地,由于玩家刚进入游戏关卡后,可能需要一定的准备时间来调整和适应操作,此时,可在所述x轴的初始阶段设置一段不刷怪区间(如图2中从坐标原点到出怪坐标这段区间),即在这段区间内是不会出现怪物的。如此,可使玩家获得充分的准备时间。当然,应当理解的是,所述不刷怪区间的长度可根据实际需要进行设定。此外,对于一些难度较高的关卡,也可不设置所述不刷怪区间(可通过令所述出怪坐标等于坐标原点来实现),则玩家一进入到关卡,就有可能马上面对怪物,加快整个游戏关卡的节奏。
在本发明实施例中,当确定所述游戏关卡的游戏进度行进到一个刷怪点,所述游戏关卡配置装置将根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值。
具体地,
首先,计算所述关卡坐标系中,所述关卡难度曲线、x轴、y轴及x值等于所述刷怪点的直线所围成的图形的面积。
如图2所示,所述关卡难度曲线、x轴、y轴及x值等于所述刷怪点的直线所围成的图形的面积,如图2中所围成的三角形的面积。应当说明的是,图2中,由于关卡难度曲线经过坐标原点,所以在围成所述图形时,未利用到y轴,然而,当所述关卡难度曲线不经过坐标原点时,在围成所述图形时,就必须利用到y轴。
然后,将所述面积减去所述难度值总和,获得所述刷怪点下的剩余难度值。
在本发明实施例中,所述游戏关卡配置装置将所述面积减去所述难度值总和,获得所述刷怪点下的剩余难度值。例如,所述面积的值为100,而在所述刷怪点之前已出现的所有怪物的难度值总和为60,则所述刷怪点下的剩余难度值为100-60=40。
从上述的定义可知,通过调节所述关卡难度曲线可调节整个游戏关卡的节奏,例如,对于关卡难度曲线比较陡的区域(或波峰区域),则表明这个区域的难度较大(即一个难度爆发点),而对于关卡难度曲线比较平缓的区域(或波谷位置),则表明这个区域的难度一般或比较小。
S103,从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
在一个实施例中,步骤S103包括:
S1031,从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的序列。
具体地,在选择时,所述游戏关卡配置装置可先从预设的怪物库中选择一个怪物或者怪物组,并判断所述怪物或怪物组的难度值(记为M1)减去所述剩余难度值(记为MS)的差是否小于一个预设的阈值(阈值记为e,这里的e可以是一个非负数),即判断M1-MS<e是否成立。若成立,则说明可以将这个怪物或怪物组配置到所述刷怪点。若不成立,则说明这个怪物或怪物组的难度值超过了所述刷怪点的难度要求,不能将所述怪物或怪物组配置到所述刷怪点。其中,对于不成立的情况,所述游戏关卡配置装置将继续在所述怪物库中选择怪物或怪物组,直至查询到一个满足成立条件的怪物或怪物组。而对于成立的情况,所述游戏关卡配置装置继续从所述怪物库中选择一个怪物或怪物组(可与已经选择的怪物或怪物组相同,也可定义为必须与已选择的怪物或怪物组不同),并判断所述怪物或怪物组的难度值(记为M2)与难度值为M1的怪物的难度值之和减去所述剩余难度值的差是否小于一个阈值,即判断M1+M2-MS<e是否成立。若不成立,则说明这两个个怪物或怪物组的难度值超过了所述刷怪点的难度值要求,不能将这两个怪物或怪物组配置到所述刷怪点,此时,所述游戏关卡配置装置将继续在所述怪物库中查询满足成立条件的怪物或怪物组;若成立,则说明可以将这两个怪物或怪物组配置到所述刷怪点,所述游戏关卡配置装置继续寻找下一个怪物或怪物组。
在本发明实施例中,所述游戏关卡配置装置通过连续执行上述的步骤对整个怪物库进行遍历,以从所述怪物库中选择出满足难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将获得的所述的至少一个怪物和/或怪物组放入一个怪物集合中。
例如,假设所述剩余难度值为40,而怪物库中的怪物或怪物组的难度值为{M1:30,M2:25,M3:40,M4:8},所述阈值为5,则此时,生成的怪物集合包括{M3:40},{M1:30,M4:8},{M2:25,M4:8,M4:8},{M4:8,M4:8,M4:8,M4:8,M4:8}。
需要说明的是,在选择放置一个怪物时,可简单的通过判断该怪物的难度值与所述剩余难度值的差是都小于预设的阈值,若是,则可将这个怪物放置到所述刷怪点。当然,每放置一个怪物后,所述刷怪点的剩余难度值将发生改变,即更新为所述剩余难度值减去放置的怪物的难度值。这样,在遍历所述怪物库后,即获得满足条件的至少一个怪物。
需要说明的是,在本发明实施例中,由于各种怪物的类型不同,因此不同的怪物会给游戏关卡带来不同的体验。同理,不同的怪物组合在一起,也会给游戏关卡带来不同的体验,例如:单独一个远程攻击怪是一种体验,假设攻击力为k,如果在远程攻击怪的前方搭配一个攻击力为m的带护盾的怪,体验将是完全不一样的,并且这两只怪搭配在一起的给玩家的难度体验将不再是简单的m+k,同样特定的怪物搭配将会带来更多的趣味性。本发明实施例将将不同的怪物进行搭配的形式称为怪物组,由于不同的怪物组会带来不同的体验,因此将怪物组看成一个整体,而不是多个单独的怪物。
在本发明实施例中,所述怪物组是一组预先配置好的多个怪物的序列,该序列中的每个怪物的相对位置固定。例如对于一个由场景长度轴和场景高度轴组成的游戏场景,假设怪物序列为S(△x,△h):A1(x1,h1),A2(x2,h2),B1(x3,h3),A3(x4,h4),其中S(△x,△h)表示怪物整体组成的重心在游戏长度轴和场景高度轴上的偏移,取值为(-△x,-△h)至(△x,△h),为了能尽可能不偏离配置的重心,偏移某一距离的概率和偏移的距离的大小成反比。此外,应注意A1,A2,B1,A3的坐标都是相对的,即怪物组中的第一个怪物的坐标为x1=0,h1=0,后面的坐标都是相对于第一个怪物A1的。这里的h表示怪物在游戏场景中所处的场景高度(若所述游戏场景不包含场景高度这个维度,则将所有h设置为0)。此外,应该说明的是,在本发明实施例中,用于表示游戏进度的x轴与场景长度轴是一一对应的,即所述x轴上的一个点对应于游戏长度轴上的一个点。为了方便,这里也采用x轴表示场景长度轴,即这里的x还可以表示在所述场景长度轴上的位置。因而,(x,h)即表示了游戏场景中的一个实际的点的坐标。
在本发明实施例中,在选择怪物时,应优先选择怪物组,这主要是由于(1)、怪物组是经过多次测试得出来较好的一种组合形式,能给玩家带来较好的体验,是一种比较合适的一种出怪方式;(2)如果刷出了怪物组,就不会出现有些刷怪点怪物很少的情况(例如,上述实施例中,假设M3:40是一个独立的怪物,那么在所述刷怪点将只会出现一个怪物),也不会出现有些刷怪点由于始终无法满足难度需求,而添加了很多难度值很小的怪物(例如,上述实施例中的{M4:8,M4:8,M4:8,M4:8,M4:8}这个例子,需要放置5个难度值为8的怪物才能满足剩余难度值的要求),导致这一刷怪点的怪物过于密集的情况;(3)怪物组由于其怪物的相对位置是固定的,因而不会使怪物的分布过于稀疏。
在本发明实施例中,在判断所述怪物组能否放置到所述刷怪点时,应满足怪物组放置后,遍历所述怪物组中所有怪物的x轴坐标,并减去剩余怪物难度总和小于阈值e,具体地:
假设当前刷怪点的在x轴上的坐标为Lx,对于一个怪物组S1(△x,△h):A1(x1,h1),A2(x2,h2),B3(x3,h3),A4(x4,h4)进行判断时:
首先,根据概率计算怪物组重心偏移位置x',h',并定义重心偏移位置在(-△x,-△h)至(△x,△h)之间;
然后,计算怪物A1处的难度值减去x坐标为L(x+x1+x')处的剩余难度值H(x+x1+x')是否小于阈值e,即e1=M(A1)-H(x+x1+x')<e是否成立,其中,M(A1)为怪物A1的难度值;
若成立,接着判断怪物A2处,即e2=M(A1)+M(A2)-H(x+x2+x')<e,M(A2)为怪物A2的难度值;
若成立,接着判断怪物B3处,即e3=M(A1)+M(A2)+M(B3)-H(x+x3+x')<e,M(B3)为怪物B3的难度值;
若成立,接着判断怪物A4处,即M(A1)+M(A2)+M(B3)+M(A4)-H(x+x4+x')<e是否成立,M(A4)为怪物A4的难度值。
若上述所有条件均成立,则说明可将怪物组S1配置在所述刷怪点对应的游戏场景,反之,只要有一个条件不成立,则不能将怪物组S1配置在所述刷怪点对应的游戏场景。
在本发明实施例中,在已经将一个怪物组S1配置在所述刷怪点对应的游戏场景后,可继续选择配置怪物组或怪物,具体的步骤如上所述,在此不做赘述。
在本发明实施例中,所述游戏关卡配置装置将满足上述成立条件的至少一个怪物和/或怪物组放入一个怪物集合。
S1032,从所有怪物集合中,获取难度值相加之和最大的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
在本发明实施例中,一般来说,将会生成多个满足条件的怪物集合。因而需要通过规则来选择一个怪物集合。
在本发明实施例中,所述游戏关卡配置装置,获取难度值相加之和最大的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
在一个实施例中,步骤S103具体包括:
S1033,从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合。
S1034,根据所述怪物集合的难度值的大小关系,为每个怪物集合分配一个出现概率,并根据所述出现概率选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
在本发明实施例中,所述游戏关卡配置装置根据所述怪物集合的难度值的大小关系,为每个怪物集合分配一个出现概率,并根据所述出现概率选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
例如,将所有满足条件的怪物集合按照难度值从大到小进行排序,并为最大难度值配置出现概率为0.5,接下来按照二分法计算出每个怪物集合的出现概率,如:如第二大的为出现概率0.25,第三大的出现概率为0.125等。
在一个实施例中,步骤S103具体包括:
S1035,从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
S1036,将每个怪物集合存储在一个多叉树中,并随机从所述多叉树中选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
具体地,所述游戏关卡配置装置将每个怪物集合存储在一个多叉树中,并随机从所述多叉树中选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
所述游戏关卡配置装置将每个满足条件的怪物集合都保存下来,即存储了一棵多叉树:这样不断的递归下去,会得到一个有多分支的树,将每一个分支都存储起来,那么每一个分支上怪物集合内的怪物的数量可能会不相等,但整体的难度是大致相等的,当对游戏关卡进行刷怪时,可以选择其中一条,成为一个预设关卡;也可以在进入游戏关卡前实时计算得到这棵多叉树,并随机从中选择一条分支,得到一个随机生成的游戏关卡,这种游戏关卡每次进入都不一样,但关卡难度和节奏体验是大致一样的。
需要说明的是,在将怪物集合配置到所述刷怪点对应的游戏场景中时,对于单个的怪物来说,与所述刷怪点对应的游戏场景的坐标即为这个怪物的在游戏场景中的坐标值,对于怪物组来说,与所述刷怪点对应的游戏场景的坐标是这个怪物组水平方向最右边一只怪物的坐标值。
综上所述,本发明实施例提供的游戏关卡配置方法,根据游戏进度的行进,计算所述刷怪点的剩余难度值,并根据所述剩余难度值自动从怪物库中选择匹配的怪物集合,将所述怪物集合按照一定的规则配置到所述刷怪点对应的游戏场景中,实现了自动为所述游戏关卡配置怪物,加快了游戏的开发时间。此外,还可以在保持游戏体验大致相当的情况下,配置不同的怪物方案,提高了玩家的游戏体验。
需要说明的是,在本发明的一个实施例中,所述x轴上划分有至少两个区间,且每个区间与至少一个怪物库相关联;其中,不同的怪物库内的怪物的类型不同。
则所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
获取所述刷怪点的坐标所属的区间,从与所述区间关联的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
具体地,对于一个游戏关卡中的怪物,可能包括不同类型的怪物,如按照出现的位置分类,可能会包括地面怪、空中怪,则此时可分别设置一个地面怪怪物库和一个空中怪怪物库来存放对应的怪物。而按照攻击类型分类,则可能会包括物理怪、魔法怪、防御怪等。在本发明实施中,所述x轴上划分有多个区间,如图2所示,所述x轴上包括第一区间(假设与空中怪怪物库关联)、第二区间(假设与地面怪怪物库关联)及第三区间(假设同时与空中怪怪物库和地面怪怪物库关联),在进行配置时,所述游戏关卡配置装置获取所述刷怪点的坐标所属的区间,当所述刷怪点位于第一区间时,则所述游戏关卡配置装置只会从所述空中怪怪物库中选择怪物。当所述刷怪点位于第二区间时,则所述游戏关卡配置装置只会从所述地面怪怪物库中选择怪物。当所述刷怪点位于第三区间时,则所述游戏关卡配置装置可同时从所述空中怪怪物库和地面怪怪物库中选择怪物。
这样做的好处在于,如果一个游戏关卡中既有空中怪,又有地面怪,而整个游戏关卡中这些不同种类的怪物经常一起出现,会引发视觉上的压力,导致玩家无法获取关注的视觉焦点,因此需要解决视觉焦点的问题,缓解视觉压力。而通过将空中怪和地面怪分别配置在独立的区间,只有在指定的几个区间里可以同时出现空中怪和地面怪,这样玩家的视觉焦点才会更集中,不会因为多次同时出现空中怪和地面怪而导致视觉压力过大,没有焦点的情况。此外,还可以通过不同类型怪物的混合出现增加游戏的难度和趣味性。
此外,还应当说明的是,上述实施例中,所述区间的长度可以是预先指定的,也可以是由随机算法随机生成的,这些方案也在本发明的保护范围之内。
需要说明的是,在本发明实施例中,为了防止每次都只能配置难度比较小的怪物。例如,每次根据步长刷新刷怪点的坐标得到的剩余难度值都比较小,那么此时只能配置难度值比较小的怪物,则在步骤S102之后包括:
根据预设的怪物密度分布函数及所述剩余难度值判断是否在所述刷怪点配置怪物,其中,所述怪物密度分布函数是关于所述剩余难度值的函数;
若是,则从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中;
若否,则根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
这里的怪物密度分布函数是关于所述剩余难度值的函数,并且,所述剩余难度值越大,所述怪物密度分布函数值也越大(最大为1),所述剩余难度值越小,所述怪物密度分布函数的值也越小(最小为0),这样在进行配置的时候,当剩余难度值较小的时候,就有较大的可能不配置怪物集合,而将这个剩余难度值累积到下一个步长。当然,应当加入必要的限制条件保证累积的剩余难度值不大于当前游戏关卡所能承受的最大难度值。
需要说明的是,在本发明实施例中,也可以在游戏中根据玩家的实际战斗力实时配置怪物,例如,可将玩家的实际战斗力作为一个系数加入到关卡难度曲线中,在进入游戏关卡前实时计算得到所述多叉树,并随机从中选择一条分支,得到一个随机生成的游戏关卡,这种游戏关卡每次进入都不一样,但难度和节奏体验是大致一样的。从而达到玩家每次进入游戏关卡,都能得到符合自己当前战斗力的体验,视觉表现更加丰富多样,增加游戏关卡的可玩性。
需要说明的是,针对步骤S103,从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,当游戏场景的维度不同时,其配置方法也不同。
在本发明的一个实施例中,所述游戏场景为二维游戏场景(如2D游戏中的场景),并包括场景长度轴,且所述场景长度轴上的点与所述x轴上的点一一对应。注意,如上面实施例所述,用于表示游戏进度的x轴与场景长度轴是一一对应的,为了方便,这里假设场景长度轴与x轴重合,并采用x轴表示场景长度轴,即这里的x还可以表示游戏场景长度轴上的位置。
则步骤S103,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,根据所述刷怪点的坐标获取所述怪物集合在所述场景长度轴上的坐标,并将所述怪物集合配置到所述场景长度轴的所述坐标上。
在本发明实施例中,所述怪物集合仅分布在场景长度轴上,可理解为所述怪物全部分布在地面上。
在本发明的一个实施例中,所述游戏场景为二维游戏场景,并包括由场景长度轴和场景高度轴组成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应。
则步骤S103,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标。
根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数。
根据所述怪物集合在场景长度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
如图3所示,在本发明实施例中,怪物可能会分别在游戏场景中的不同高度(图3中的实心圆点均表示怪物),因而需要将怪物配置到游戏场景的指定场景高度上。所述游戏关卡配置装置可通过一个高度分布函数将所述怪物集合配置到的指定场景高度上,其中,所述高度分布函数是关于所述场景高度的函数。
例如,所述高度分布函数可设置一条推荐位置Yk(空中怪生成基准线)或者Yd(地面怪生成基准线),并定义离基准线越近的位置,怪物的出现概率越大,离基准线越远则出现概率越小。当然,也可以不设置所述基准线,而仅进行纯随机分布,也可以根据怪物种类设置多条基准线,来实现基于基准线的随机分布,这些方案均在本发明的保护范围之内。
此外,本发明实施例的游戏关卡配置方法也可推广到3D游戏中,具体地:
在本发明的一个实施例中,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴和场景宽度轴构成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应。
则步骤S103具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标。
根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数。
根据所述怪物集合在场景长度轴上的坐标及在所述场景宽度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
对于这种情况,所有怪物在场景高度轴上的坐标值均为0,例如很多RPG类游戏,只涉及到地面怪。这种情况下,所述游戏关卡配置装置只需要将游戏关卡上怪物的排布看作是2D游戏中的只有x轴和场景高度轴(把场景高度轴变为场景宽度轴)的情况即可,只需进行两处的调整:
1.不再区分空中怪和地面怪,也不需要空中怪和地面怪的分布基线(除非有特殊需求,例如就需要怪物差不多呈两列的形式出现),得到了在x轴上应该放置的怪物之后,根据所述宽度分布函数在场景宽度轴上进行纯随机或者通过宽度分布函数计算得到场景宽度进行放置即可;
2.对于RPG游戏中,游戏存在障碍物的设置,因此在怪物的排布上,一旦怪物被计算在了障碍物中,则将怪物进行偏移或者重新计算直至没有落在障碍物上即可。
在本发明的一个实施例中,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴、场景宽度轴和场景高度轴构成的场景空间,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则步骤S103具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
根据所述怪物集合在场景长度轴上的坐标、在所述场景宽度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景空间中的位置,并将所述怪物集合配置到所述位置上。
对于这种情况,所有怪物在场景高度轴上的坐标存在0和非0的情况,像很多FPS类游戏,不但涉及到地面怪还涉及到空中怪,这种情况下,算法就需要进一步向场景高度轴扩展。扩展方式如下:
1.不再在x轴和场景宽度轴上区分空中怪和地面怪,也不需要空中怪和地面怪的分布基线(除非有特殊需求,例如就需要怪物差不多呈两列的形式出现),得到了在x轴上应该放置的怪物之后,通过场景宽度函数在场景宽度上进行纯随机或者制定一定的规则计算得到场景宽度;
2.确定了怪物的在场景长度轴和场景宽度轴上的坐标之后,需要判断该怪物是空中怪还是地面怪,如果是地面怪,则在场景高度轴上的坐标值为0,如果是空中怪,则在在不超过边界的情况下(例如屋顶或者水底)进行纯随机,或者根据预设的高度分布函数计算得到在场景高度轴上的坐标值;
3.对于RPG游戏中,游戏存在障碍物的设置,因此在怪物的排布上,一旦怪物被计算在了障碍物中,则将怪物进行偏移或者重新计算直至没有落在障碍物上即可。
需要说明的是,本发明实施例提供的游戏关卡配置方法也可以用于复刻一个良好体验的游戏关卡。
具体地,当已经有一个体验良好的游戏关卡时,所述游戏关卡配置装置可以将本游戏关卡配置方法的输入和输出部分进行对调,将现有体验较好的游戏关卡作为输入,通过对该游戏关卡进行扫描遍历,可以得到如下输出信息:
1.怪物的种类;
2.所述游戏关卡的关卡难度曲线,其中,x轴即为游戏进度轴(或游戏长度轴),通过扫描遍历,记录下游戏关卡的不同位置处的难度值,从而得到关卡难度曲线,难度曲线上波峰和波谷的间隔即为关卡节奏;
3.所述游戏关卡中最近的两只怪物间的水平距离,即为怪物密度或者每次扫描的步长;
有了以上这些输出信息,就可以利用这些输出信息来可复制具有相同体验的游戏关卡,实现对该游戏关卡的真正复刻,从而批量生成不同表现的体验良好的游戏关卡,极大的减少手动配置的工作。
请一并参阅图4,图4是本发明第二实施例提供的游戏关卡配置装置的结构示意图。所述游戏关卡配置装置200包括:
构建单元210,用于构建关卡坐标系,并在所述关卡坐标系中为游戏关卡配置关卡难度曲线;其中,所述关卡坐标系的x轴表示游戏进度,y轴表示游戏难度,所述关卡难度曲线表示游戏难度随着游戏进度的变化情况。
剩余难度值计算单元220,用于在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值。
配置单元230,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
请一并参阅图5,在一个实施例中,所述剩余难度值计算单元220包括第一判断单元221、计算单元222及刷新单元223,其中,
所述第一判断单元221,用于在所述游戏关卡的游戏进度根据预设的步长行进的过程中,判断当前游戏进度所到达的点在所述x轴上的坐标是否符合预设的出怪坐标;
若是,则确定所述游戏关卡的游戏进度行进到一个刷怪点,并通知所述计算单元222根据所述关卡难度曲线及在所述刷怪点之前已出现怪物的难度值总和,获得所述刷怪点的剩余难度值。
若否,则通知所述刷新单元223根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
具体地,由于玩家刚进入游戏关卡后,可能需要一定的准备时间来调整和适应操作,此时,可在所述x轴的初始阶段设置一段不刷怪区间(如图2中从坐标原点到出怪坐标这段区间),即在这段区间内是不会出现怪物的。如此,可使玩家获得充分的准备时间。当然,应当理解的是,所述不刷怪区间的长度可根据实际需要进行设定。此外,对于一些难度较高的关卡,也可不设置所述不刷怪区间(可通过令所述出怪坐标等于坐标原点来实现),则玩家一进入到关卡,就有可能马上面对怪物,加快整个游戏关卡的节奏。
请一并参阅图6,在一个实施例中,所述计算单元221具体包括:
面积计算单元2211,用于计算所述关卡坐标系中,所述关卡难度曲线、x轴、y轴及x值等于所述刷怪点的直线所围成的图形的面积;
减法单元2212,用于将所述面积减去所述难度值总和,获得所述刷怪点下的剩余难度值。
在一个实施例中,所述x轴上划分有至少两个区间,且每个区间与至少一个怪物库相关联;其中,不同的怪物库内的怪物的类型不同;
则所述配置单元230具体用于,获取所述刷怪点的坐标所属的区间,从与所述区间对应的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
具体地,对于一个游戏关卡中的怪物,可能包括不同类型的怪物,如按照出现的位置分类,可能会包括地面怪、空中怪,则此时可分别设置一个地面怪怪物库和一个空中怪怪物库来存放对于的怪物。而按照攻击类型分类,则可能会包括物理怪、魔法怪、防御怪等。在本发明实施中,所述x轴上划分有多个区间,如图2所示,所述x轴上包括第一区间(假设与空中怪怪物库关联)、第二区间(假设与地面怪怪物库关联)及第三区间(假设同时与空中怪怪物库和地面怪怪物库关联),在进行配置时,所述配置单元230获取所述刷怪点的坐标所属的区间,当所述刷怪点位于第一区间时,则所述配置单元230只会从所述空中怪怪物库中选择怪物。当所述刷怪点位于第二区间时,则所述配置单元230只会从所述地面怪怪物库中选择怪物。当所述刷怪点位于第三区间时,则所述配置单元230可同时从所述空中怪怪物库和地面怪怪物库中选择怪物。
这样做的好处在于,如果一个游戏关卡中既有空中怪,又有地面怪,而整个游戏关卡中这些不同种类的怪物经常一起出现,会引发视觉上的压力,导致玩家无法获取关注的视觉焦点,因此需要解决视觉焦点的问题,缓解视觉压力。而所述配置单元230通过将空中怪和地面怪分别配置在独立的区间,只有在指定的几个区间里可以同时出现空中怪和地面怪,这样玩家的视觉焦点才会更集中,不会因为多次同时出现空中怪和地面怪而导致视觉压力过大,没有焦点的情况。此外,还可以通过不同类型怪物的混合出现增加游戏的难度和趣味性。
此外,还应当说明的是,上述实施例中,所述区间的长度可以是预先指定的,也可以是由随机算法随机生成的,这些方案也在本发明的保护范围之内。
请一并参阅图7,在一个实施例中,所述配置单元230具体包括:
第一选择单元231,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
获取单元232,用于从所有怪物集合中,获取难度值相加之和最大的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
请一并参阅图8,在一个实施例中,所述配置单元230具体包括:
第二选择单元233,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合。
概率分配单元234,用于根据所述怪物集合的难度值的大小关系,为每个怪物集合分配一个出现概率,并根据所述出现概率选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
例如,所述概率分配单元234将所有满足条件的怪物集合按照难度值从大到小进行排序,并为最大难度值配置出现概率为0.5,接下来按照二分法计算出每个怪物集合的出现概率,如:如第二大的为出现概率0.25,第三大的出现概率为0.125等。
请一并参阅图9,在一个实施例中,所述配置单元230具体包括:
第三选择单元235,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合。
随机单元236,用于将每个怪物集合存储在一个多叉树中,并随机从所述多叉树中选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
所述随机单元236可将每个满足条件的怪物集合都保存下来,即存储了一棵多叉树:这样不断的递归下去,会得到一个有多分支的树,将每一个分支都存储起来,那么每一个分支上怪物集合内的怪物的数量可能会不相等,但整体的难度是大致相等的,当对游戏关卡进行怪物时,所述随机单元236选择其中一条,成为一个预设关卡;也可以在进入游戏关卡前实时计算得到这棵多叉树,并随机从中选择一条分支,得到一个随机生成的游戏关卡,这种游戏关卡每次进入都不一样,但关卡难度和节奏体验是大致一样的。
请一并参阅图10,在一个实施例中,所述游戏关卡配置装置200还包括第二判断单元240,
所述第二判断单元240,用于根据预设的怪物密度分布函数及所述剩余难度值判断是否在所述刷怪点配置怪物,其中,所述怪物密度分布函数是关于所述剩余难度值的函数;
若是,则通知所述配置单元230从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中;
若否,则通知所述刷新单元213根据预设的步长刷新所述刷怪点的坐标。
这里的怪物密度分布函数是关于所述剩余难度值的函数,并且,所述剩余难度值越大,所述怪物密度分布函数值也越大(最大为1),所述剩余难度值越小,所述怪物密度分布函数的值也越小(最小为0),这样在进行配置的时候,当剩余难度值较小的时候,就有较大的可能不配置怪物集合,而将这个剩余难度值累积到下一个步长。当然,应当加入必要的限制条件保证累积的剩余难度值不大于当前游戏关卡所能承受的最大难度值。
本发明实施例提供的游戏关卡配置装置200,根据游戏进度的行进,所述剩余难度值计算单元220计算所述刷怪点的剩余难度值,所述配置单元根据所述剩余难度值自动从怪物库中选择匹配的怪物集合,将所述怪物集合按照一定的规则配置到所述刷怪点对应的游戏场景中,实现了自动为所述游戏关卡配置怪物集合,加快了游戏的开发时间。此外,还可以在保持游戏体验大致相当的情况下,配置不同的怪物集合方案,提高了玩家的游戏体验。
需要说明的是,当游戏场景的维度不同时,所述配置单元230的配置过程也不同。
在本发明的一个实施例中,所述游戏场景为二维游戏场景(如2D游戏中的场景),并包括场景长度轴,且所述场景长度轴上的点与所述x轴上的点一一对应。注意,如上面实施例所述,用于表示游戏进度的x轴与场景长度轴是一一对应的,为了方便,这里假设场景长度轴与x轴重合,并采用x轴表示场景长度轴,即这里的x还可以表示游戏场景长度轴上的位置。
则所述配置单元230具体用于,从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,根据所述刷怪点的坐标获取所述怪物集合在所述场景长度轴上的坐标,并将所述怪物集合配置到所述场景长度轴的所述坐标上。
在本发明实施例中,所述怪物集合仅分布在场景长度轴上,可理解为所述怪物全部分布在地面上。
请一并参阅图11,在本发明的一个实施例中,所述游戏场景为二维游戏场景,并包括由场景长度轴和场景高度轴组成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应。
则所述配置单元230具体包括:
第一坐标获取单元2301,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第二坐标获取单元2302,用于根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
第一怪物配置单元2303,用于根据所述怪物集合在场景长度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
此外,所述游戏关卡配置装置200也适用于3D游戏的怪物配置。具体地:
请一并参阅图12,在本发明的一个实施例中,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴和场景宽度轴构成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应。
则所述配置单元230具体包括:
第三坐标获取单元2304,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第四坐标获取单元2305,用于根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
第二怪物配置单元2306,用于根据所述怪物集合在场景长度轴上的坐标及在所述场景宽度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
对于这种情况,所有怪物在场景高度轴上的坐标值均为0,例如很多RPG类游戏,只涉及到地面怪。这种情况下,所述配置单元230只需要将游戏关卡上怪物的排布看作是2D游戏中的只有x轴和场景高度轴(把场景高度轴变为场景宽度轴)的情况即可,只需进行两处的调整:
1.不再区分空中怪和地面怪,也不需要空中怪和地面怪的分布基线(除非有特殊需求,例如就需要怪物差不多呈两列的形式出现),得到了在x轴上应该放置的怪物之后,根据所述宽度分布函数在场景宽度轴上进行纯随机或者通过宽度分布函数计算得到场景宽度进行放置即可;
2.对于RPG游戏中,游戏存在障碍物的设置,因此在怪物的排布上,一旦怪物被计算在了障碍物中,则将怪物进行偏移或者重新计算直至没有落在障碍物上即可。
请一并参阅图13,在本发明的一个实施例中,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴、场景宽度轴和场景高度轴构成的场景空间,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元230具体包括:
第五坐标获取单元2307,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第六坐标获取单元2308,用于根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
第七坐标获取单元2309,用于根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
第三怪物配置单元2310,用于根据所述怪物集合在场景长度轴上的坐标、在所述场景宽度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景空间中的位置,并将所述怪物集合配置到所述位置上。
对于这种情况,所有怪物在场景高度轴上的坐标存在0和非0的情况,像很多FPS类游戏,不但涉及到地面怪还涉及到空中怪,这种情况下,所述配置单元230就需要进一步向场景高度轴扩展。扩展方式如下:
1.不再在x轴和场景宽度轴上区分空中怪和地面怪,也不需要空中怪和地面怪的分布基线(除非有特殊需求,例如就需要怪物差不多呈两列的形式出现),得到了在x轴上应该放置的怪物之后,通过场景宽度函数在场景宽度上进行纯随机或者制定一定的规则计算得到场景宽度;
2.确定了怪物的在场景长度轴和场景宽度轴上的坐标之后,需要判断该怪物是空中怪还是地面怪,如果是地面怪,则在场景高度轴上的坐标值为0,如果是空中怪,则在在不超过边界的情况下(例如屋顶或者水底)进行纯随机,或者根据预设的高度分布函数计算得到在场景高度轴上的坐标值;
3.对于RPG游戏中,游戏存在障碍物的设置,因此在怪物的排布上,一旦怪物被计算在了障碍物中,则将怪物进行偏移或者重新计算直至没有落在障碍物上即可。
本发明实施例还提供一种终端,所述终端包括上述任一实施例所述的游戏关卡配置装置200。
具体的,在本发明一个实施例中,所述终端可为游戏开发者使用的游戏开发终端,此时,所述终端可自动将所述怪物预先配置到游戏关卡的游戏场景内,生成一个预设的游戏关卡,从而加快了游戏的开发进度。此外,还可以在保持游戏体验大致相当的情况下,配置不同的怪物放置方案,提高了玩家的游戏体验。
此外,在本发明的另一个实施例中,所述终端还可为游戏客户端(如智能手机、平板电脑、计算机等)或/和服务端,此时,所述终端可在玩家进入到游戏时,实时将怪物配置到游戏关卡的游戏场景内,关卡可以根据玩家的实际战力实时计算生成,以达到玩家进入关卡,都能得到符合自己当前战斗力的关卡,同时在难度系数和节奏体验一致的情况下,视觉表现更加丰富多样,增加游戏关卡的可玩性。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
Claims (25)
1.一种游戏关卡配置方法,其特征在于,包括如下步骤:
构建关卡坐标系,并在所述关卡坐标系中为游戏关卡配置关卡难度曲线;其中,所述关卡坐标系的x轴表示游戏进度,y轴表示游戏难度,所述关卡难度曲线表示游戏难度随着游戏进度的变化情况;
在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值;
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
2.根据权利要求1所述的游戏关卡配置方法,其特征在于,所述在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值,具体为:
在所述游戏关卡的游戏进度根据预设的步长行进的过程中,判断当前游戏进度所到达的点在x轴上的坐标是否符合预设的出怪坐标;
若是,则确定所述游戏关卡的游戏进度行进到一个刷怪点,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值;
若否,则根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
3.根据权利要求1所述的游戏关卡配置方法,其特征在于,所述根据所述关卡难度曲线及在所述刷怪点之前已出现怪物的难度值总和,获得所述刷怪点的剩余难度值,具体包括:
计算所述关卡坐标系中,所述关卡难度曲线、x轴、y轴及x值等于所述刷怪点的直线所围成的图形的面积;
将所述面积减去所述难度值总和,获得所述刷怪点下的剩余难度值。
4.根据权利要求1所述的游戏关卡配置方法,其特征在于,在根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值之后,还包括:
根据预设的怪物密度分布函数及所述剩余难度值判断是否在所述刷怪点配置怪物,其中,所述怪物密度分布函数是关于所述剩余难度值的函数;
若是,则从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中;
若否,则根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
5.根据权利要求1所述的游戏关卡配置方法,其特征在于,所述x轴上划分有至少两个区间,且每个区间与至少一个怪物库相关联;其中,不同的怪物库内的怪物的类型不同;
则所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
获取所述刷怪点的坐标所属的区间,从与所述区间关联的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
6.根据权利要求1至5任意一项所述的游戏关卡配置方法,其特征在于,所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体包括:
从预设的怪物库中,选择出难度值之和减去所述剩余难度值的差小于预设阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的序列;
从所有怪物集合中,获取难度值相加之和最大的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
7.根据权利要求1至5任意一项所述的游戏关卡配置方法,其特征在于,所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体包括
从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
根据所述怪物集合的难度值的大小关系,为每个怪物集合分配一个出现概率,并根据所述出现概率选择一个怪物集合配置到所述刷怪点对应的游戏场景中,其中,所述出现概率与所述怪物集合的难度值成正比。
8.根据权利要求1至5任意一项所述的游戏关卡配置方法,其特征在于,
所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体包括
从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
将每个怪物集合存储在一个多叉树中,并随机从所述多叉树中选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
9.根据权利要求1至5任意一项所述的游戏关卡配置方法,其特征在于,所述游戏场景为二维游戏场景,并包括场景长度轴,且所述场景长度轴上的点与所述x轴上的点一一对应;
则从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,根据所述刷怪点的坐标获取所述怪物集合在所述场景长度轴上的坐标,并将所述怪物集合配置到所述场景长度轴的所述坐标上。
10.根据权利要求1至5任意一项所述的游戏关卡配置方法,其特征在于,所述游戏场景为二维游戏场景,并包括由场景长度轴和场景高度轴组成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
根据预设的高度分布函数,获取所述怪物集合在所述场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
根据所述怪物集合在所述场景长度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
11.根据权利要求1至5任意一项所述的游戏关卡配置方法,其特征在于,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴和场景宽度轴构成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
根据所述怪物集合在场景长度轴上的坐标及在所述场景宽度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
12.根据权利要求1至5任意一项所述的游戏关卡配置方法,其特征在于,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴、场景宽度轴和场景高度轴构成的场景空间,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中,具体为:
从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
根据所述怪物集合在场景长度轴上的坐标、在所述场景宽度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景空间中的位置,并将所述怪物集合配置到所述位置上。
13.一种游戏关卡配置装置,其特征在于,包括如下步骤:
构建单元,用于构建关卡坐标系,并在所述关卡坐标系中为游戏关卡配置关卡难度曲线;其中,所述关卡坐标系的x轴表示游戏进度,y轴表示游戏难度,所述关卡难度曲线表示游戏难度随着游戏进度的变化情况;
剩余难度值计算单元,用于在所述游戏关卡的游戏进度行进到一个刷怪点时,根据所述关卡难度曲线及在所述刷怪点之前已出现的所有怪物的难度值总和,获得所述刷怪点的剩余难度值;
配置单元,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
14.根据权利要求13所述的游戏关卡配置装置,其特征在于,所述剩余难度值计算单元包括第一判断单元、计算单元及刷新单元,其中,包括:
所述第一判断单元,用于在所述游戏关卡的游戏进度根据预设的步长行进的过程中,判断当前游戏进度所到达的点在所述x轴上的坐标是否符合预设的出怪坐标;
若是,则确定所述游戏关卡的游戏进度行进到一个刷怪点,并通知所述计算单元根据所述关卡难度曲线及在所述刷怪点之前已出现怪物的难度值总和,获得所述刷怪点的剩余难度值;
若否,则通知所述刷新单元根据预设的步长刷新所述游戏关卡的游戏进度,继续查找下一个刷怪点。
15.根据权利要求13所述的游戏关卡配置装置,其特征在于,所述计算单元具体包括:
面积计算单元,用于计算所述关卡坐标系中,所述关卡难度曲线、x轴、y轴及x值等于所述刷怪点的直线所围成的图形的面积;
减法单元,用于将所述面积减去所述难度值总和,获得所述刷怪点下的剩余难度值。
16.根据权利要求13所述的游戏关卡配置装置,其特征在于,所述游戏关卡配置装置还包括第二判断单元:
所述第二判断单元,用于根据预设的怪物密度分布函数及所述剩余难度值判断是否在所述刷怪点配置怪物,其中,所述怪物密度分布函数是关于所述剩余难度值的函数;
若是,则通知所述配置单元从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中;
若否,则通知所述刷新单元根据预设的步长刷新所述刷怪点的坐标。
17.根据权利要求13所述的游戏关卡配置装置,其特征在于,所述x轴上划分有至少两个区间,且每个区间与至少一个怪物库相关联;其中,不同的怪物库内的怪物的类型不同;
则所述配置单元具体用于,获取所述刷怪点的坐标所属的区间,从与所述区间对应的怪物库中选择与所述剩余难度值匹配的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
18.根据权利要求13至17任意一项所述的游戏关卡配置方法,其特征在于,所述配置单元具体包括:
第一选择单元,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
获取单元,用于从所有怪物集合中,获取难度值相加之和最大的怪物集合,并将所述怪物集合配置到所述刷怪点对应的游戏场景中。
19.根据权利要求13至17任意一项所述的游戏关卡配置装置,其特征在于,所述配置单元具体包括:
第二选择单元,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
概率分配单元,用于根据所述怪物集合的难度值的大小关系,为每个怪物集合分配一个出现概率,并根据所述出现概率选择一个怪物集合配置到所述刷怪点对应的游戏场景中,其中,所述出现概率与所述怪物集合的难度值成正比。
20.根据权利要求13至17任意一项所述的游戏关卡配置方法,其特征在于,所述配置单元具体包括:
第三选择单元,用于从预设的怪物库中,选择出难度值相加之和减去所述剩余难度值的差小于预设的阈值的至少一个怪物和/或怪物组,并将所述的至少一个怪物和/或怪物组放入一个怪物集合;其中,所述怪物组为预先配置好的多个怪物的组合;
随机单元,用于将每个怪物集合存储在一个多叉树中,并随机从所述多叉树中选择一个怪物集合配置到所述刷怪点对应的游戏场景中。
21.根据权利要求13至17任意一项所述的游戏关卡配置装置,其特征在于,所述游戏场景为二维游戏场景,并包括场景长度轴,且所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元具体用于,从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,根据所述刷怪点的坐标获取所述怪物集合在所述场景长度轴上的坐标,并将所述怪物集合配置到所述场景长度轴的所述坐标上。
22.根据权利要求13至17任意一项所述的游戏关卡配置装置,其特征在于,所述游戏场景为二维游戏场景,并包括由场景长度轴和场景高度轴组成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元具体包括:
第一坐标获取单元,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第二坐标获取单元,用于根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
第一怪物配置单元,用于根据所述怪物集合在场景长度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
23.根据权利要求13至17任意一项所述的游戏关卡配置装置,其特征在于,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴和场景宽度轴构成的场景平面,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元具体包括:
第三坐标获取单元,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第四坐标获取单元,用于根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
第二怪物配置单元,用于根据所述怪物集合在场景长度轴上的坐标及在所述场景宽度轴上的坐标,得到所述怪物集合在所述场景平面中的位置,并将所述怪物集合配置到所述位置上。
24.根据权利要求13至17任意一项所述的游戏关卡配置装置,其特征在于,所述游戏场景为三维游戏场景,且所述三维游戏场景包括由场景长度轴、场景宽度轴和场景高度轴构成的场景空间,其中,所述场景长度轴上的点与所述x轴上的点一一对应;
则所述配置单元具体包括:
第五坐标获取单元,用于从预设的怪物库中选择与所述剩余难度值匹配的怪物集合,并根据所述刷怪点的坐标获取所述怪物集合在场景长度轴上的坐标;
第六坐标获取单元,用于根据预设的宽度分布函数,获取所述怪物集合在场景宽度轴上的坐标;其中,所述宽度分布函数是关于所述场景宽度的函数;
第七坐标获取单元,用于根据预设的高度分布函数,获取所述怪物集合在场景高度轴上的坐标;其中,所述高度分布函数是关于所述场景高度的函数;
第三怪物配置单元,用于根据所述怪物集合在场景长度轴上的坐标、在所述场景宽度轴上的坐标及在所述场景高度轴上的坐标,得到所述怪物集合在所述场景空间中的位置,并将所述怪物集合配置到所述位置上。
25.一种终端,其特征在于,包括权利要求13至24任意一项所述的游戏关卡自动生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510702056.6A CN105289001B (zh) | 2015-10-23 | 2015-10-23 | 一种游戏关卡配置方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510702056.6A CN105289001B (zh) | 2015-10-23 | 2015-10-23 | 一种游戏关卡配置方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105289001A true CN105289001A (zh) | 2016-02-03 |
CN105289001B CN105289001B (zh) | 2019-03-29 |
Family
ID=55187237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510702056.6A Active CN105289001B (zh) | 2015-10-23 | 2015-10-23 | 一种游戏关卡配置方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105289001B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871640A (zh) * | 2016-06-07 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 关卡配置数据配置方法、游戏服务器及系统 |
CN106422326A (zh) * | 2016-08-31 | 2017-02-22 | 北京像素软件科技股份有限公司 | 基于游戏关卡难度调整关卡副本的方法 |
CN106582025A (zh) * | 2016-11-24 | 2017-04-26 | 北京暴风魔镜科技有限公司 | 游戏作品制作系统和方法 |
CN106621335A (zh) * | 2017-01-12 | 2017-05-10 | 珠海金山网络游戏科技有限公司 | 一种游戏场景的怪物分配方法和系统 |
CN107982920A (zh) * | 2017-11-28 | 2018-05-04 | 上海波克城市网络科技股份有限公司 | 基于关卡类游戏精细化难度调整方法 |
CN108014499A (zh) * | 2016-11-03 | 2018-05-11 | 北京金山云网络技术有限公司 | 一种应用参数调整方法及装置 |
CN109011578A (zh) * | 2018-07-24 | 2018-12-18 | 合肥爱玩动漫有限公司 | 一种游戏场景内的怪物分配方法 |
CN111530081A (zh) * | 2020-04-17 | 2020-08-14 | 成都数字天空科技有限公司 | 游戏关卡设计方法、装置、存储介质及电子设备 |
CN111841011A (zh) * | 2019-04-30 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 游戏关卡的配置信息生成方法、系统及服务器和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1803237A (zh) * | 2005-01-11 | 2006-07-19 | 中兴通讯股份有限公司 | 一种游戏系统的自动生成方法及其装置 |
US20080301211A1 (en) * | 2007-06-01 | 2008-12-04 | United States of America as represented by the Administrator of the National Aeronautics and | Systems, methods and apparatus for d-dimensional formulation and implementation of recursive hierarchical segmentation |
CN103106340A (zh) * | 2013-01-21 | 2013-05-15 | 天津大学 | 基于数据挖掘和数据融合的游戏关卡自动生成系统及方法 |
-
2015
- 2015-10-23 CN CN201510702056.6A patent/CN105289001B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1803237A (zh) * | 2005-01-11 | 2006-07-19 | 中兴通讯股份有限公司 | 一种游戏系统的自动生成方法及其装置 |
US20080301211A1 (en) * | 2007-06-01 | 2008-12-04 | United States of America as represented by the Administrator of the National Aeronautics and | Systems, methods and apparatus for d-dimensional formulation and implementation of recursive hierarchical segmentation |
CN103106340A (zh) * | 2013-01-21 | 2013-05-15 | 天津大学 | 基于数据挖掘和数据融合的游戏关卡自动生成系统及方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871640A (zh) * | 2016-06-07 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 关卡配置数据配置方法、游戏服务器及系统 |
CN105871640B (zh) * | 2016-06-07 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 关卡配置数据配置方法、游戏服务器及系统 |
CN106422326A (zh) * | 2016-08-31 | 2017-02-22 | 北京像素软件科技股份有限公司 | 基于游戏关卡难度调整关卡副本的方法 |
CN108014499A (zh) * | 2016-11-03 | 2018-05-11 | 北京金山云网络技术有限公司 | 一种应用参数调整方法及装置 |
CN106582025A (zh) * | 2016-11-24 | 2017-04-26 | 北京暴风魔镜科技有限公司 | 游戏作品制作系统和方法 |
CN106621335A (zh) * | 2017-01-12 | 2017-05-10 | 珠海金山网络游戏科技有限公司 | 一种游戏场景的怪物分配方法和系统 |
CN107982920A (zh) * | 2017-11-28 | 2018-05-04 | 上海波克城市网络科技股份有限公司 | 基于关卡类游戏精细化难度调整方法 |
CN109011578A (zh) * | 2018-07-24 | 2018-12-18 | 合肥爱玩动漫有限公司 | 一种游戏场景内的怪物分配方法 |
CN111841011A (zh) * | 2019-04-30 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 游戏关卡的配置信息生成方法、系统及服务器和存储介质 |
CN111530081A (zh) * | 2020-04-17 | 2020-08-14 | 成都数字天空科技有限公司 | 游戏关卡设计方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105289001B (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105289001A (zh) | 一种游戏关卡配置方法、装置及终端 | |
US11090562B2 (en) | Method and apparatus for generating virtual resources in three-dimensional game scene | |
EP0137110A1 (en) | Apparatus for generating successive picture frames depicting a feature to create an illusion of movement | |
US20100323799A1 (en) | Service providing method using on-line game, and recording media recording program for implementing the method | |
EP3932504A1 (en) | Map generation method and apparatus, electronic device, and computer storage medium | |
WO2002001250A2 (en) | Optimal paths for marine data collection | |
AU2001271539A1 (en) | Optimal paths for marine data collection | |
CN102646152B (zh) | 一种游戏地图切换方法及系统 | |
US9878244B2 (en) | Storage medium having stored therein game program, game apparatus, game system, and game processing method | |
US20110050689A1 (en) | Method and Apparatus for Creating of 3D Direction Displaying | |
CN104854622A (zh) | 形成基于优化的多边形的外壳网格的方法 | |
CN110288688A (zh) | 虚拟植被的渲染方法、装置、存储介质与电子设备 | |
CN104050709A (zh) | 一种三维图像处理方法及电子设备 | |
CN105103197A (zh) | 三维地图显示系统 | |
CN111013146B (zh) | 超大地图的可动态修改的寻路导航方法和装置 | |
KR20160077548A (ko) | 실감 효과 메타데이터 생성 장치 및 방법 | |
US20190329133A1 (en) | Game apparatus and program | |
CN103914877A (zh) | 一种基于扩展合并的三维模型多细节层次结构 | |
CN114255160A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN105320958A (zh) | 一种基于位置信息的图像识别方法及系统 | |
CN105474271A (zh) | 立体地图显示系统 | |
CN110544284B (zh) | 一种自动规划最优布局流程图的方法 | |
CN112288885A (zh) | 一种基于三维地球应用的漫游定位方法及相关装置 | |
CN100444203C (zh) | 一种在3d游戏中绘制草坪的方法和系统 | |
CN103247077A (zh) | 一种基于多顶点对处理的三维模型边折叠简化的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |