前几天有人问我,《Candy Crush Saga》的三个星星的条件都是怎么设计出来的,当时我没有答案,昨天想了一下我觉得我有了一个大概的思路,于是记录下来,遂成此文。
首先,《Candy Crush Saga》每一关都是有着固定的步数的,我们设其为n。那么玩家在每一步都会至少消掉3个宝石。我们假设消掉不同宝石会得到不同的分数:
- 3消=x
- 4消=y
- 5消=z
那么玩家能够获得的最低分数,我们可以将其设计为1星条件:
- 1星=nx
玩家只要能够通关,得分是不可能低于这个分数的。
在一局游戏中,玩家大概能够进行多少次4消和5消,其平均所占百分比通过分析游戏的数学模型或者单纯地靠机器人测试都是可以得知的。假设4消出现的平均概率是20%,5消是10%,那么玩家玩一局的平均得分就是:
- 2星=70%nx+20%ny+10%nz
由于z>y>x,因此这个值一定大于1星的值,我们可以将其定为2星条件,其实这也是非常容易达成的。
而实际上,游戏还有着其他大量的得分机会,各种特殊的消除,道具的利用以及游戏结束时的奖励等等,玩家往往要能够大量获得这种BONUS才有可能达成3星,因此我们需要估算这种BONUS的平均值,这样就可以得出一个大致的3星分数:
- 3星=2星+BONUS
这里还有很多具体的数值我没有去求解,游戏随着关卡配置的不同每一关的具体数值肯定也有着差异,如果想要进一步地控制每个值的难度还可以简单地乘以某个系数后取整。
目前我的大致思路就是如此啦!