zoukankan      html  css  js  c++  java
  • 做好平衡有多难?谈MMO的职业设计

    转自:http://www.gameres.com/804893.html

    首先要明确个概念:平衡不是在YY好的职业设计基础上去做调整,而是从游戏设计的开始就要打造一套有标准、可调节的游戏设计框架。

    1、设计核心战斗的操作方式和玩法

    首先需要解决的,是核心战斗的操作方式。

    这一步决定了游戏的节奏感和可玩性。

    这一步更依赖于策划对游戏目标人群和游戏节奏的理解,也是更依赖脑洞的一步。一个好的方向作为游戏设计的指南针,才能保证游戏开发中不会跑偏,不会南辕北辙。


    2、标准职业模型

    作为一个从0开始重新设计的项目,一定是从一个标准模型开始,再把每个职业向不同方向进行职业变化的。

    这时我们需要一个最中庸的职业设定:一般是半肉近战,有一定伤害,一定AOE,一定的生存能力。并以这个职业为基础进行第3步的数值设定。

    3、构建属性价值体系

    构建属性价值体系,是指将所有属性统一到一个相同的单位上,建造游戏的基础数值模型:

    3.1:需要根据游戏特点,确定大概是加法公式,还是乘法公式;

    3.2:根据想要的战斗时长,设定基础攻防比;

    3.3:根据游戏的复杂程度来设定血、攻、甲、爆等一级属性。(这里说明下,一级属性不是越多越好的,要合理控制游戏的复杂度。)

    3.4:根据一级属性来构建价值相等的二级属性。(敏捷、耐力、攻击强度等)。

    一套好的二级属性要尽量保证“一单位的各种不同属性”带来的战斗收益,对于标准职业模型来说是相近的。

    (对于1级属性,1攻击力的效果不可能等于1血量,但通过计算,可以保证二级属性性价比基本相同,即1敏捷=a攻击力=b血量=1耐力)

    这样做的好处,一是降低玩家的计算成本,可以让玩家直接看属性种类和数值大小就可以,不用像策划一样就计算每种数值的收益。二是降低玩家的理解成本,例如可以将某几种同类型属性合并(暴击 攻击力=敏捷等),降低二级属性的种类数。三是转化后的二级属性也将用作策划平衡数值的标准和参考,例如在做不同职业设定时,可以根据平衡过的二级属性,直接将战士等量的耐力属性替换为敏捷属性,再稍作修正,作为刺客的基础数值模型。这样会比无头苍蝇一样先胡乱设定个数值好的多。)

    (当然,二级属性也不一定需要展示给玩家,看游戏取舍)

    3.5:将二级属性扩大为游戏内所有特征。

    我胡编的啊,暂时管它叫做三级属性吧。

    即把游戏内所有的相关特征统一到以2级属性的单位1为标准的数值体系中。例如攻击距离、移动速度、位移技能的距离、AOE效果衰减比、眩晕效果等,都以数值的形式统一到二级属性中的单位1。

    这样,我们则可以把每个技能、每种效果都换算为统一的数值单位。

    典型的例如《炉石传说》,我们可以清晰的看到它将所有玩法元素统一到以1水晶为单位的价值体系中(与我们的二级属性类似),1血1攻=1费,卡牌本身=0.5费,过牌=2费,战吼=0.5费,亡语=-0.5费等等。

    这样做的好处,一是可以在“做职业设定”和“建立职业的基础模型”时更加高效和准确,只需要把此职业的所有二级、三级属性加起来,即可初步评判此职业的强弱,来作为职业平衡的基础参考;二是可以在不调节每个英雄的属性的前提下,通过调节2级属性和1级属性的换算比,直接调整游戏中的大生态平衡:例如调节战斗时长,T和DPS的平衡,法术和物理平衡,近战远程平衡,控制技能和伤害技能的平衡等等。

    3.6:计算每个属性的衰减系数。

    单个属性随着数值的不断叠加,收益是递减的。

    例如作为防战,经常要牺牲攻击去堆血量,这样会导致整体的战斗力(攻击*血量)下滑,在与标准职业的PVP中处于劣势。

    为了平衡这一劣势,经常需要让有明显倾向的职业,二级属性总和略大于平衡型职业。

    此时我们需要计算每个属性的收益衰减系数,就是血量提升至a倍时,需要把耐力属性乘以一个额外系数。

    在每个职业的设计开始前,先把a对应的一系列系数计算出来,将使得职业设计事半功倍。

    以上与属性价值体系相关的所有内容,是帮助设计职业时,提供基础属性参考的。在做具体职业设定时,还需根据具体情况进行各职业的修正,也需要根据新的理解回头调整各系数。

    4、职业区分和平衡

    制定一套可平衡的属性价值框架后,就可以进行职业区分了。

    在标准职业模型的基础上做出差异性,进行有倾向性的改动,例如:将部分生存属性1:1替换为进攻属性,再替换一部分进攻型技能,则可以设计出新职业的标准参考模型,并在此基础上通过大量测试,来进行平衡性调整。

    在标准模型的基础上,调整的数值占比越大,则职业特性越明显,越难平衡。

    具体的差异性要区分到什么程度,则是仁者见仁,智者智障的过程,没有标准可言。可以在前期设定的框架下,无限开动脑洞。只要不至过于影响平衡,都是合理的范围。具体要定在什么范围,还是看你的项目类型和目标人群定位。

    所以如果从这个角度来看,其实不存在所谓的同质性问题。只是职业特点和平衡性之间的取舍而已。

    职业特点越鲜明,平衡性越差,这是硬币的正反面,如果你试图去兼顾就错了。只要在其中取得一个更适合你的游戏的平衡点即可。

    5、动态平衡

    如上文所说,绝对的静态平衡是不可能的,除非你不去区分职业。

    但绝对的平衡对于游戏来说也是没必要的。我们还有很多方式来平衡玩家的体验。

    5.1:用基础玩法的系统设置去平衡职业:

    通过自由选择职业,来绕过平衡的难点,是一种常见且聪明的做法。

    例如LOL中,虽然英雄的差别还是很大的,但玩家可自由选择英雄这一点,就几乎弥补了大部分的职业不平衡的问题。


    当然这在MMO中不太适合,但也可以通过一些方式来实现:例如WOW中的三系天赋/转职功能等。

    WOW中,一个职业的三系天赋几乎可以等同为三个不同职业了。完全不同的技能、完全不同的游戏体验,有的职业甚至要培养不同的装备。

    WOW的职业选择,看上去是12选1,其实是36选3,这样对平衡性的要求会降低很多。

    5.2:通过养成来削弱职业特点

    在养成数值提升较大的游戏中,职业间的差距将会被缩小。

    5.3:版本动态平衡

    如果无法制造绝对的平衡,那为什么不干脆放弃呢。甚至可以通过故意营造版本间的职业强弱变化来形成相对的平衡。

    例如版本1中A最强,则版本2出一个针对B的强化装备或技能即可。

    形成相对的不平衡,反而容易引起玩家的话题性。并且使玩家在弱势版本中积蓄的势能,在强势版本中得到释放,形成M型体验。

    这样做的关键是不要让单个版本持续过久。

    此处所说的版本是体验版本,并不是平时很所说的更新版本。通过游戏内的功能,可以在一个更新版本内形成多个体验版本。

    例如在线性解锁的副本中,轮流设置每个职业的强势装备,即可一定程度上达到此目的。

    总结下,一个游戏的设计中,先基于核心玩法设计一套可平衡、易调整的数值框架和标准模型,在此基础上再进行职业区分,会让游戏设计事半功倍。

  • 相关阅读:
    linux常用命令
    mysql 开发基础系列20 事务控制和锁定语句(上)
    sql server 性能调优之 资源等待 CXPACKET
    mysql 开发基础系列19 触发器
    mysql 开发基础系列18 存储过程和函数(下)
    mysql 开发基础系列17 存储过程和函数(上)
    sql server 性能调优之 资源等待PAGEIOLATCH
    mysql 开发基础系列16 视图
    mysql 开发基础系列15 索引的设计和使用
    sql server 性能调优之 当前用户请求分析 (1)
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/9004832.html
Copyright © 2011-2022 走看看