《MMORPG数值策划的设计架构.doc》由会员分享,可在线阅读,更多相关《MMORPG数值策划的设计架构.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流MMORPG数值策划的设计架构.精品文档. MMORPG数值策划的设计架构!一、游戏设计之初数值策划在游戏设计之初位于模型建立者的角度。拿到游戏设计概要及系统分析后,数值策划该做什么样的工作,以及需要注意哪些部分呢? 本文中笔者将与大家分享自己在MMORPG的数值设计过程的经验。数值设计,前期最关键的不是如何去平衡那些数值,而是要思考如何设计整体的数值架构,才能更好地对游戏进行宏观及微观的控制。在本文中,笔者也将详细阐述MMORPG从设计之初到制作成型中所需要注意和控制的地方,让你可以尽快成为一名合格的数值策划。 而平衡性等话题则是属于微观控
2、制范围,本文不进行详细论述。数据模型建立系统建模与优化是游戏策划尤其是数值策划的一项主要工作,策划需要具有较强的系统思维能力与一定的数学建模能力,还要具备基本的优化理论。主要知识需求为系统分析与集成、系统优化、数学建模、模型分析等。数据模型其实就是由两个东西组成,第一个是数据,第二个是数据之间的关系。首先,必须考虑游戏中需要用到哪些数据?生命、经验、金钱、任何一个怪物的攻击这些都算是数据,然而数据之间还必须有对应的关系,例如主角的生命与怪物的攻击,等级攻击的差别公式,各种不同的属性等等,其实就是存在一个对应关系,关系如何才能合理?就是数据平衡关键所在。数据模型建立至少要注意这几个问题:简单化原
3、则,数据类不宜太多,否则会把这一块的难度大大加大了,能用一个数据做到的东西,如果你用两个数据,则会增加很多的对应关系,这个时候需要顾及的东西更多,更难以做到平衡。数据模型的对应关系确立以后,需要画出对应的函数图像,标注其中涉及的常量、变量。必要的时候,还需要画出数值流向图,最典型就是经济平衡中的金钱流动图以及各种角色属性的对应图。在进行数据模型设计的时候,所有的系统都是一个整体,必须充分考虑其中任何一点可能存在的关联,如果把各个系统数据独立开来,在后期非常容易出现问题。在做完数据模型之后,则要进行整体的数据分析,数据统计和数据分析对于产品相当重要,同时也是游戏数值策划的主要工作,其需要具有敏锐
4、的数据敏感性、具有扎实的概率论与数理统计、数值分析等数学基础。该方向主要工作内容为游戏的系统(玩法)数据统计、游戏的系统(玩法)数据分析、游戏系统设计的数值演算等。1核心数值确定在我们设计游戏各种核心公式之前,首先必须制定人物的各种数值项目。这部分范围很广,从各种属性到攻击力、命中率,第一第二属性等等都属于人物数值部分。笔者一般采用“关系树”的方式来整合。使用这一结构首先要找到树的根,也就是所有数值共同参考与依据的项目。接下来,由树根衍生出几个重要的节点,再由这些节点衍生更多的枝节。让我们先以MMORPG为例,显然以人物等级作为关系树的根是最适当不过的。因为在游戏里,等级的意义基本上代表一个人
5、能力强弱的评判。由等级衍生出来的第二层节点,就是人物的基本属性,笔者一般设定的基本属性包括力量、智力、敏捷、体质、幸运等等。基础属性将根据各自不同的游戏有着不同的定义方法。 在笔者设计的游戏中,只选择五种作为第二层节点,以避免分枝过于庞大。其中幸运为特殊的隐藏属性,而其他的四种基本属性分别是力量、体质、敏捷、智力,并以此来区别物理攻击与魔法攻击。节点选出来之后,只要把剩下来的数值项目依照相应的属性相关挂在节点下面,并进行相应的对照,这株互相纠结的关系树就完成了。数值基础属性及项目将可以为以下细分项第一属性项:力量,敏捷,体力,智力,幸运等第二属性项:基本属性所对应的附属属性力量最小攻击力,最大
6、攻击力,负重,附加攻击力等敏捷命中率,躲闪率(魔法躲闪与命中)等体力当前生命值/最大生命值/物理防御等智力当前法力值/最大法力值/魔法防御等第三属性项:各种不同的对应系技能攻击及防御系数等等在设计完第二属性之后,则应该就可能出现的数值项目进行细化和整理并进行列表,以方便以后进行函数图对比,推荐使用EXCEL。表格基础公式设定这株关系树是所有核心公式的蓝图,这使得接下来的最复杂工作变得更为清楚。然后是各种公式的拟定与试算。公式为基础的宏观控制条件,须谨慎思考制定,并与团队同事紧密讨论方能定案将人物各种数值定义清楚之后,接下来就是各种公式的计算了。所谓的公式的意义就是正式定义不同属性项目之间的关系
7、,所以在设定公式之前,需先作一次各种成长曲线的函数整理,例如某种成长曲线是大器晚成型的,那就对应二次函数或三次函数的正区间有了这些整理过后的工具,接下来的工作就是把一条公式所需的各个函数加进来,比如攻击力的计算公式里包含了等级、力量、武器攻击参数、附加值与随机数等。简单拟定公式的模式后,接着就是通过不断的试算来调整系数、使其平衡。目前来说,调整公式和数值,有2种比较流行的方法,1种是工具调整,另外一种是读表。A.所谓的工具调整。 就是将公式,对应关系等等通过工具的制作来有效调节。这方面对于程序员要求较高,但是后期对于策划来说,比较简便B.读表法,则是将所有的公式,数值,对应关系值等通过表的形式
8、来填写和读取,制作方法较为简单,但是后期策划则相对容易出错。这部分是策划过程中的一个重点,可能要花若干礼拜面对十几条公式与十几万个试验数值,除此之外,与设计、跟踪程序一样,要把调整系数分离出来,以便往后调整平衡度时可以只针对一个系数函数鞯髡?因为参数不同。设计游戏的公式,要从需求开始着手。考虑的状况越多,参数就越多,你的公式相对就复杂,也就更难平衡。其实很多东西都没有绝对的平衡,某些东西从微观上看是平衡,但是从宏观上看,他又有可能破坏了整体。所以设计者要根据对应的游戏世界观及价值观来达到其相对平衡以下以笔者设计过的游戏为例,举几个简单的公式,并进行阐述说明:表格从以上的公式可以看出,实际上这些
9、公式都是为了角色互动所进行制定的。 为什么我们要这么制定呢?其实每个公式都有其制定的思路和方向。 我们之所以这么制定伤害效果和所能得到的经验值,目的是为了让用户在前期多使用物理攻击效果,对游戏尽快入门,升级快从而有可能留在游戏中。 后期让用户大量使用技能攻击效果,并使之多样化,复杂化,让用户觉得有玩点,有兴趣。二、 游戏制作之中在游戏设计之初,我们进行了数据模型的建立、核心数值的确定、基础公式设定3个基本过程。 然而,这样做出来的数值公式等都只是基于我们设计者的初衷,在游戏中能否真正行的通,能否调节,还要看我们下一步的工作。1数值期望与可行性这里的期望值可以理解成在这个模型下数值可能会达到的最
10、大和最小极限,验证着一个极限的合理范围,则可以为下一步设计做出明确的导向,例如在等级20的生命值,最大最小分别在多少是合理的,将数值放入上一步得出的函数关系式,计算合理范围内的最大和最小极限。当然设置这个极限的时候最好多为技术人员考虑一点,例如在数值中避免小数点的出现(浮点运算很耗Server资源),了解一下开发语言中的数据类型,支持的字节多长。在设计出数值公式后,进行图表演示,看看是否符合我们的需求和思路例如一个经验值公式,我们希望它能越高级,经验值越高,但是不是直线型的,而是呈曲线,前期的数值只是小幅度增高,后期将会大幅度增高。 这样的设计有助于提高玩家的升级积极性,在先期进入游戏的时候能
11、够爽快升级。而到了后期由于则要经过一个阶段的努力才能升级,不过随之而来的奖励也是更多。例图:目前比较通用的暗黑类经验值表玩家升级的上限为99级。到99级后,玩家的经验值不再积累。设置目前的怪物经验值最低为102,最高为72560。表格2各种关系的确定在确定各种相对的基础公式后,则要开始进行复杂的关系树确定。例如经验值之间的关系,物品与角色之间的关系,物品升级对角色,技能,怪物及升级所会产生的影响等等,当然,可能出现的关系很多,我们只取其中一两件来说明。以上面的经验值为例。在确定经验值的走向及各项数字之后,我们要做的就是把和经验值有关的项目联系起来。使之成为一个主体。这个联系可能要持续12个月的
12、时间进行讨论和调整。 以提升经验值、经验值的奖励、组队奖励、怪物经验值分配等等来进行举例说明:提升经验当玩家积累的经验值达到下一个等级的需求时,则玩家升级。经验值计算公式得到的经验值怪物的经验*(玩家对怪物造成的伤害/怪物的最大生命值)*levelDifferencelevelDifference的取值规则:表格奖励最后一击玩家给怪物最后一击,可以得到额外的奖励。最后一击得到的经验值怪物的经验*(玩家对怪物造成的伤害/怪物的最大生命值)+3)*levelDifference多人攻击同一怪物按照玩家对怪物造成的伤害成比例分配。例如:XX怪物的等级为2,经验值为50,生命值为100。1级的玩家甲对
13、它造成40点伤害,9级的玩家乙对他造成60点伤害并杀死了它。那么玩家甲得到经验值为50*(40/100)*10020而玩家乙得到经验值为50*(60/100)+3)*4012一般来说直接取整队友间的经验值分配杀死怪物的玩家拿出他所得到的15的经验值分享给其他伙伴,那么自己就只能得到85。其他队员得到的经验值(杀死怪物的队员所得到的经验值*15)*(角色的等级/队伍的等级)队伍的等级所有队员的角色等级的和继续上面的例子,玩家甲和乙组成一个队伍:玩家甲拿出15的经验值,即20*153点,那么玩家乙得到3*(9/(9+1)2;玩家乙也拿出15的经验值,即12*151点,那么玩家甲得到1*(1/(9+
14、1)0。那么最终玩家甲得到20*85+017点;玩家乙得到12*85+212点。我们修改玩家乙的等级,现在玩家乙也是1级的。那么他可以得到50*(60/100)+3)*10031,然后他拿出31*154分给玩家甲,自己得到31*8526。玩家甲得到玩家乙分配的4*(1/(1+1)2,而玩家乙得到玩家甲分配的3*(1/(1+1)1。那么最后,玩家甲得到20*85+219;玩家乙得到31*85+127。备注:如果大家这个公式从目前代入的值来看,总的经验值是有损失的,因为所有除法运算是舍弃小数点以后而取整的。但是从游戏的设计来说,这个损失是允许的,因为组队以后会带来“队友之间不能伤害”以及团队作战的
15、好处。当然,这个办法是否可取,需要在测试时从具体的效果来分析。经验分配的限定不在同一屏幕内的玩家无法共享队友得到的经验值,但是他的等级依然会计算到全队的等级和中,这样就造成了经验总值的损失。死亡造成经验值损失不论是被怪物杀死还是被其他玩家杀死,都会损失到这个经验值所需积累的10经验值。举例:玩家有1500点经验值,他在1000点时升到2级,升到3级需要达到3000点。此时他被杀死。那么他损失10*(3000-1000)200点。那么他就剩余1300点。公式如下:损失经验值10*(下等级所需经验值-本级所需经验值)经验值损失不导致降级经验值减少的极限是到本等级所需经验值。即永不低于本等级所需要的经验值。举例:上例中的玩家又被连续杀死2次,此时减少的经验为3*200600点,但这将会使他剩余的经验值小于2级的需求,那么就只减少500点。