下文都为一本正经胡说八道,暂时还没有论文支撑,等待组建课题小组进行项目研究(?
如果要试图得到相对量化和客观的难度系数,参考了已有的一些“难度系数”比如跳水评分等,得到几个想法(可以起个名字,难度估计框架?Difficulty Evaluation Framework for Games?(逃)。
1、减少“难度”的外延
即难度由游戏要素决定,而不考虑玩家反馈和训练时间等因素。这一点虽然看上去有违最终的“为游戏设计服务”的概念,但在大框架的游戏分析中还是有用的,并且如果假设找到的难度系数足够合理,那么玩家的反馈将围绕难度系数呈现正态分布,尽管方差不同,但依然有分析层面意义,方便进行跨游戏的横向比较。
2、拆分游戏元素
就像运动中的难度是对动作进行拆分一样,也可以拆分具体的游戏要素来探讨难度的高低,并且着重于量化。如果把游戏分解成任务的形式(比如一个关卡、一场战斗都可以看做任务,任务之间可以嵌套),由此就引入两个值得分析的角度:最低级的任务(“原子”任务)的难度值如何计算、一个父任务如果包含若干子任务那么它的难度值如何计算(聚集)。
3、对单个要素的难度值估计
考虑一些“原子”任务,比如动作游戏中boss发动一招,这一招的难度如何估算。一个粗略的公式可以写作伤害量乘以命中概率,而命中概率粗略估计可以写作某个密度函数在招式的范围下的积分。伤害量可以使用离散化成容错次数或者百分比之类的方式来达到更加普适的值。概率方面,如果角色移动比较快并且招式范围比较大,可以认为密度函数接近于均值,除此之外可以使用心理学手段的方式对玩家习惯和反射进行挖掘。
4、对若干要素聚集的难度估计
一个最简单的聚集函数为D=max{D_i},在整个流程中取最难的点作为全过程的难度代表。它的适用范围是每个点之间互不影响的场合(不论是数值上的影响还是玩家疲劳度等因素的影响),比如连续若干场回合制战斗,每一场之间全恢复。对于更多的情形还需要更加复杂的聚集函数,比如对于长时间的boss条件,难度系数可能介于所有动作的max和sum之间。从另一方面,如果上述分解的方式是正交的,比如角色需要一边和boss战斗一边躲避陷阱机关,那么两者就应该用乘积方式进行聚集。
5、一些特殊元素的处理方式
在游戏中死亡惩罚或者失败惩罚是衡量难度的重要因素,影响到任务分解的方式。比如,如果是从接关点重新开始的形式,那么死亡的作用就是维持它“下层”的聚集函数为加法(因为考验续航),而让它“上层”的聚集函数更接近max(因为相对独立)。
游戏的表现方式对难度的影响,主要在于单个原子任务的难度值估计数值上。比如,游戏的画面如果很“花”,容易引起误判,则需要对“密度函数”进行修正(因为玩家更容易高估或者低估可行范围)。这些因素可以从最底层开始影响单个任务的难度,但是并不会对聚集函数造成改变。
以上的讨论更加适合流程短规模简单的游戏,而对于RPG等长流程游戏,就可以得到近似传统上“难度曲线”或“体验曲线”的概念了。首先把游戏分解为若干相对独立的单位片段,然后对每一段计算难度值即可。如果是非线性的场合,则按照上述定义每一条可能的路径都是难度曲线,因此讨论特定的“难度曲线”并没有足够意义,相反每一个局部的难度值更值得研究。