三消游戏的自动关卡测试机制
原文/偶尔和咖啡
作者自述:
8年游戏策划经验,5年制作人经验,现任某中型手游公司工作室负责人。擅长卡牌和休闲类游戏。策划方向偏重于核心玩法和数值设定。
对于一款推图式的三消游戏而言,关卡设计是其游戏设计工作的重中之重。一款三消游戏动辄200~300关的设计量,对于任何团队都是其研发工作中的一个巨大的难点。大体来讲,三消游戏的关卡设计分为以下的四个步骤:
关卡的初始定位,使用哪些特殊元素(比如冰,炸弹,传送门等等)
这往往是由该关卡在整个游戏推图流程中的定位决定的,比如它所在的章节主打的特殊元素有哪些,在这个章节中缺少哪种类型的关卡,这个关卡在整个游戏中的难度定义,等等。
关卡的核心创意
策划通过脑洞大开的方式来对于一个关卡进行发散式的设定,比如A关卡需要在特定的时间内干掉10个炸弹,B关卡需要在XX东西消失前将其送到特定的位置,C关卡需要先解开N块冰然后收集冰块上面的几十个糖果,以上等等。
关卡的可行性验证与布局实现
基于上一步产出的核心创意,策划需要对该关卡进行详细的编制和设定。这里编制设定的要素包括:
设置核心创意所需的基本环境。
对于玩家游戏过程中可能出现的,不符合设计者设计意图的其他过关方式进行一定程度的防止。
配合核心创意,进行关卡目标的具体设定。在很多三消游戏的关卡中,过关目标往往是由核心目标和伴随目标共同构成的。
进行具体的地图编制,初始形态,下落概率等等具体设置。
由于本文的重心并不在于关卡设计,因此对以上部分就不过多展开探讨了,欢迎有兴趣的同学可以通过文末的作者联系方式和作者联系,私下探讨^_^
4.关卡的难度测试和调整。
在大多数团队的三消关卡设计开发工作中,这一环节是最为枯燥,单调,但也却是最重要和最浪费人力时间成本的。笔者已知的大部分团队目前仍然采用的是纯手工测试的方式。而在这里笔者想要提出的,是一种在笔者之前的三消项目开发过程中成功运用的自动关卡测试机制。这一自动关卡测试机制的基本原理如下:
下面我们分四个核心部分来讲解这一关卡测试系统的实现机制。
自动测试的输入与输出
一个基本的自动测试输入包括:
所需测试的关卡ID
所需测试的次数
测试的输出精度
我们会需要两种测试输出精度:
是用于大规模量级测试,只需输出每一次测试的通过回合数
最基本的输出格式如下:
测试次数 | 实际使用步数 | 是否成功达成目标 | 随机参数 |
1 | 7 | TRUE | 319 |
2 | 7 | TRUE | 408 |
3 | 12 | TRUE | 509 |
4 | 6 | TRUE | 603 |
5 | 6 | TRUE | 734 |
其中随机参数的作用会在后文中详细阐述。
用于对于异常的数据进行详细跟进,需要输出每一步的详细步骤。
最基本的输出格式如下:
移动步数 | 起始点X坐标 | 起始点Y坐标 | 终结点X坐标 | 终结点Y坐标 |
1 | 4 | 7 | 5 | 7 |
2 | 4 | 8 | 3 | 8 |
3 | 5 | 5 | 5 | 6 |
4 | 6 | 4 | 6 | 3 |
5 | 3 | 6 | 3 | 5 |
6 | 7 | 7 | 7 | 8 |
7 | 4 | 3 | 5 | 3 |
8 | 1 | 4 | 1 | 3 |
9 | 6 | 4 | 5 | 4 |
10 | 1 | 7 | 1 | 6 |
11 | 2 | 4 | 2 | 3 |
12 | 3 | 5 | 2 | 5 |
核心AI算法
首先介绍一下,AI(人工智能)算法的基本模式:
建立评价函数体系,然后对于当前状态下的每一个可能的选择给出评分,然后基于评分选出最优解。