在介绍具体内容之前,我们先聊一下,为什么要做数值拆解。确定了具体的目标,才可以衡量是否达到了预期。
我认为数值拆解的目的大概可以分为三种:
01竞品游戏分析
这部分人往往都是游戏从业者,大部分的数值拆解工作都是针对竞品游戏进行。主要是通过拆解竞品游戏了解对应模块的设计思路。
02学习
对于一些准备进入游戏策划行业的或者刚进入行业的新人来说,有些人可能把数值拆解作为了游戏行业入门的敲门砖,数值拆解的确是一个快速熟悉游戏的过程。通过对于其他游戏的拆解,可以了解到游戏设计都有哪些工作。
当然非新手可能也带着学习的目标进行拆解,这时候学习的主要目的可能就是了解一些并不是很擅长的品类的设计思路或者是对已有知识进行迭代。
03兴趣
俗话说“兴趣是最好的老师“,这个在游戏行业内也是这个样子。好多玩家抱着对游戏的热爱会主动地去收集整理游戏的设计思路或者是升级数值。像是经常提到的魔兽世界的”圆桌理论“就是来自玩家的猜测以及验证。
以下内容的介绍可能更偏向于竞品游戏分析的工作场景,希望通过分享的工具和技巧等内容,帮助大家快速地完成拆解目标。
---
(一) 准备阶段
准备阶段主要有三件事情要做,确定拆解目标、玩游戏、常用基础知识的储备。
1. 确定拆解目标
首先我们需要确定游戏的拆解目标,拆解目标并不是说我们要拆解XXX游戏,而且要更加具象化究竟哪些需要拆解。
所谓知己知彼百战不殆,要拆解游戏就需要了解要拆解的究竟是一款什么样的游戏。
在拆解之前先自问一下自己,以下这些信息你都知道么?
这款游戏类型是什么?MOBA?MMORPG?SLG?RTS?
这款游戏是在什么平台上玩的?手机?PC?Console?
这款游戏的核心玩法是什么?Roguelike?PVE?PVP?三消?
针对不同游戏类型,设计的侧重点也是不一样的,所以拆解目标也会有所不同,大部分游戏拆解的目的都是希望拆解到游戏的核心内容,所以这里列举两个常见的游戏类型以及拆解目标。
以MOBA为例:
这类游戏是以PVP为核心玩法,主要特点是公平竞技下的职业之间的平衡关系。因此拆解的重点可以放在与英雄平衡相关的内容上。可以拆解以下几个内容:
-英雄之间的差异:是什么构成不同的英雄(属性和技能的差异、伤害类型、攻击方式、移动速度)
-伤害计算公式:各属性在计算中的作用,培养这个属性的性价比
-属性在各模块之间的关系:角色属性、符文、装备的数值占比关系是什么样子的,究竟每一部分对于英雄的影响有多大
-单局战斗节奏:局内战斗主要是通过经济的积累提升数值,主要比拼的是经济获取的速度,那么究竟经济的来源是什么,经济获取的属性在游戏的不同阶段有什么影响(假如1金币购买1点属性,到高级装备的时候是不是也是一样)
以RPG为例:
这类游戏的主要特点是通过不断的数值养成实现实力的增强,因此拆解的重点可以放在与数值养成相关的核心内容。可以拆解以下几个内容:
-伤害计算公式:涉及到属性相关的内容必不可少要拆到这部分
-属性在个模块之间的关系:属性都会通过哪些养成模块获取,并且在每一个模块的占比是什么样子的
-成长节奏:每升一级需要多长的时间,完成这条养成线需要多久,不同付费的用户达到满级所需要的时间分别是多久。
为什么需要确定拆解目标呢,我觉得主要是有几点好处:
-首先,确定工作量。就是拆解这部分内容究竟需要多久的时间。
-其次,确定要关注的重点。根据目标分析目标究竟包含哪部分内容。
-最后,确定要对比的游戏。同类型的游戏这部分都是如何设计的,这样有什么优缺点。
以《英雄联盟》为例,假如拆解目标是伤害计算公式。
首先,评估工作量。
《英雄联盟》伤害属性种类简单,主要复杂度并不在战斗公式。拆解难点在于英雄之间的平衡以及装备附加的被动技能效果上,所以可以很容易的就把伤害计算公式整理出来。
其次,确定拆解目标下的关注的重点。
关注重点主要围绕着和伤害计算公式相关的。例如属性在伤害计算公式里面的什么位置。该属性是否存在计算上限,是否会有动态计算。
最后,选择需要对比的游戏。
与《英雄联盟》游戏类型接近的是王者荣耀和DOTA2。为了更好的理解这款游戏的公式,还需要了解这两款游戏的公式和《英雄联盟》都有什么区别以及都有什么样的特点。
2. 玩游戏
说到玩游戏,可能觉得拆解游戏肯定是需要玩游戏的,这里主要说的是,究竟需要玩到什么程度。
没有一个明确的时间标准,对游戏的理解最基础的是要熟悉要拆解游戏的基础功能,例如这款游戏是什么类型的、在什么平台上、要如何操作、核心玩法是什么。
从程度上来衡量,我觉得至少要达到可以明确的判断出来要收集的数据是否是合理的。
3. 常用基础知识储备
常用知识的储备主要是辅助判断数据的准确度,正确的数据更有利于找规律,从而推导出设计思路。
这里罗列几个常用的知识,并不做更多的篇幅解释,感兴趣可以自行了解。
Excel常用的函数、图表
Excel是常规处理数据的方法,对于基础功能的使用可以帮助快速的处理数据。
常用的函数例如Ceiling、Countif、Vlookup。图表例如折线图、辅助趋势公式可以帮忙分析养成模块下的成长曲线。
游戏中常用的战斗公式
熟悉减法、乘法公式的优缺点,可以对游戏初始有一个大概的判断,这样就可以快速定位到要拆解的核心。
游戏中常用的升级公式
指数函数和线性函数都是比较常用的升级方式,在分析数据的时候,可以辅助图表来快速猜测更偏向于哪种。
线性函数,像是y=ax+b。a、b均为常数,根据a的不同控制增速,x与当前等级相关。
[ 线性关系示意图 ]
指数函数,例如y=a^x,a为常数,且大部分情况都是a>1的情况,x与当前等级相关。
[ 指数关系示意图 ]
这里特殊说明一下,好多时候,我们看到的曲线,看起来像是指数关系,往往可能是分段的。这个主要是因为照顾游戏体验,在后面养成节奏的部分会有具体的说明。
像是另外一种常见到的曲线形式,大概是下图这个样子。
[ 可能看到过的曲线形式 ]
[ 对数函数曲线 ]
看起来感觉和对数函数的曲线很像,不过这个往往用的公式是y=X/(aX+b)。用到这个公式主要是在属性之间关系转换的时候,成长里面不常用。像是乘法公式里面防御值和伤害减免的转换用的这个公式,主要表示的是随着防御值的增加,可提升的伤害减免越小。
---
(二) 数据收集
这里罗列一些常见的数据收集方式:
专业网站游戏分析
例如游戏官网、游戏媒体,这类网站的资料准确度较高,不过大部分的网站更多的是在介绍功能是怎么玩的,对于更底层的数据会少一些。
玩家论坛发帖
融入玩家群也是一个很好的办法,玩家会自发的收集/制作一些游戏整理。这类信息大部分会有更多的数据细节,不过准确度较低,需要更多的进行数据甄别,这类数据建议更多的采用他的客观数据,而不是主观观点。
逆向代码(反编译代码)
这个方法并不是特别常见,主要是大家对于游戏代码的加密意识越来越强。这样的数据获取是最准确的,不过需要有一些程序相关的知识积累。
这里也同时提醒大家信息加密的重要性。
同行交流。
---
(三) 分析数据规律
分析数据的规律大部分是基于日常设计的积累。这里介绍几个我熟悉的隐藏规则设计。
以国产的RPG游戏为例:
战斗公式的设计
战斗公式大家都知道有两类,一种是减法公式,一种是乘法(除法)公式。减法公式大部分都是源于《石器时代》、《传奇》类游戏的设计思路;乘法公式大部分都是从魔兽世界的公式简化来的。这个主要也是因为早期的游戏策划都从那个年代的游戏玩过来的。
早几年由于卡牌游戏的盛行,乘法公式比较流行。从把《神仙道》的战斗公式从减法改成乘法,一直到14年《刀塔传奇》开始的卡牌时代,人们都更倾向使用乘法公式,试图通过乘法公式带来更深的养成线以及更平滑的数值体验。
最近又开始流行减法公式,可能也是由于卡牌类的数值养成游戏减少,另外从设计上猜测可能还有两个原因,一个原因是因为RPG用户数量基本恒定,新进较少,游戏更多是考虑深挖付费ARPU;另外一个是因为更强调偏单机的玩法体验,减法公式可以更好的表现出升级带来明显的数值差异。
系统模块数值占比关系
大部分的游戏的装备模块(包含宝石镶嵌、装备洗炼)在系统模块中的占比都比较大。主要是由于在进行模块切分的时候,装备属于最基础的功能,并且随着等级成长装备会有明显的数值变化,定义为玩家的必需品,所以往往养成重心都会围绕装备进行扩展。
单模块养成节奏设计
在非线性的养成节奏中,单模块的养成模块成长节奏都是分段的,根据目标不同可以拆成三段。
第一段是前期。主要是因为照顾新手引导体验。游戏至少第一天的内容是需要精确地控制成长节奏的,所以这部分的养成节奏都是手动调的,往往都是线性成长,并且性价比极高。
第二段是中期。这部分设计的时候更多的是根据养成预期时间做的设计。这个阶段没有明确的时间段的划分,对比后期来说,可能是从新手阶段第2天到第一个月,也可能是更长时间。不同的养成预期养成时间也会存在一些差异,一般会采用线性或者是幂次公式。
第三段是后期。这部分主要是为了进行设计上的调优。后期可能更多的是指稳定运营期的阶段。这个阶段的特点在于,养成的性价比很低,并且升级时间延长,主要也是因为大部分公式采用的都是非线性的设计,到后期就会存在明显的升级瓶颈,或者是有的时候因为程序问题(数值越界)倒是很难进行更高的提升。所以针对这样的问题进行了分段,主要是为了把养成时间优化到合理的范围内。
---
(四) 提出猜想
提出猜想可能就是比较玄学的事情的,这部分主要还是针对之前的经验去提出合理的解释。
这里主要说一下猜不出来的时候要怎么办。
有的时候往往我们发现数据并没有找到有效对应的规律。这个时候需要对内容进行一下判断,这个判断首先要保证确认在数据的准确性的情况下。
例如说收集了100条数据,
-如果只有1条数据不符合规律,那这个数据可以考虑把它记录成异常数据。
-如果有20条数据都不符合规律,那就要看数据是不是分类别的,在某些指定条件下是满足要求的。
-如果发现明明看起来同样的设计思路,但是还有数据不符合规律,这个时候可能就是猜错了。
如果进行了判断之后,发现还是有数据猜不出来规律。那可能是两类问题了
-第一种,就是数据支撑不够,需要更多的数据辅助。
-第二种,就是自身的知识储备不够。
这个时候就需要根据实际上的重要程度判断是否需要进行知识的补充了。如果对于并不是必须了解的内容,是允许部分内容拆解不出来逻辑的。
---
(五) 根据数据验证猜想
验证猜想是否符合规律,最有办法就是代入法。抽取收集到确定准确的数据代入到公式里面,看是否可以得到预期的结论。
这个时候需要注意的点就是要注意养成节奏的分段。有的时候发现公式不对,可能只是因为带入的数据位置不对。
(六) 拆解的应用
游戏拆解之后,有的时候更多的是希望可以学习到相应的知识。拆解数值其实只是一个过程。对于现在的环境来说,没有完全一样的数值,但是有完全一样的公式。一模一样的数值我们往往叫这类游戏是换皮游戏。
所以往往我们拆解游戏的应用主要有以下两种方式:
第一种:学习设计思路。例如我们想要做一个类似的模块,要怎么设计体验和节奏,这个时候我们就可以看看竞品游戏都是如何做的。
第二种:学习模块定位。学习系统模块和模块之间的如何构建关联的或者模块之间的差异化都是如何形成。
---
总结
从我的理解来说,数值拆解是一个循环积累的过程。
在没有相应知识的情况下,数值拆解是最快获取、熟悉游戏设计思路的方式。因为数据的规律已经包含了游戏设计的一定方法。
对于已有相应知识储备的情况下,利用这些储备可以快速完成拆解过程,从而帮助自己进行更好内容的学习与迭代。
以上内容是我对数值拆解总结的一些经验,希望大家可以多交流,谢谢。