游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9568|回复: 1

[转载] 如何从0到1用Excel实现数值设计?MMORPG职业篇

[复制链接]

8723

主题

8783

帖子

1万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
11952
发表于 2018-7-31 11:50:18 | 显示全部楼层 |阅读模式
文/suelin

前言

经常有小伙伴说自己不是数值策划,又很希望能够试着做一些数值设计。数值文章也看了许多,道理几乎都懂,但有些不知从何下手。这里想通过视频的方式,分享具体如何使用Excel实现数值设计,包括Excel函数的运用,简单的VBA代码书写,以及MMORPG游戏的数值从0到1的制作全过程。这个系列会分为多篇文章来写,本篇的内容是《职业数值设计》。

二、角色基础模型设计

1、必须做出的预设

(1)设定游戏的角色等级(如果游戏有等级概念):假设为30级;

(2)站桩输出pvp的时间:假设为20秒。

2、角色基础模型的制作(写在前面的期望)

(1)伤害值初始数值是两位数;

(2)希望每成长一级等级,玩家的攻击、防御、伤害值都有成长;

(3)技能伤害百分比成长缓慢;

(4)技能数值成长相对正常;

(5)两个角色裸体对砍20秒。

3、一段简单的角色数值模型

(1)攻防公式(此公式只作为演示,实际以游戏需要为准):

(攻击-防御)*(1+技能伤害百分比)+技能数值

(2)运用到的公式(y=ax+b的一元一次函数):

攻击=参数1*(等级-1)+参数2

(3)运用到的Excel使用函数:Round(),对带小数点的数值进行取整。

微信图片_20180731114203.png

具体的操作视频如下:


4、视频中提到的第二种模型

根据经验和其他游戏的总结确定各数值投放比,简称投放比数值模型,在PVP竞技场时,对玩家的攻防血再进行数值修正。

假设,攻击:防御:血量 =1:X:Y,数值模型如下:

微信图片_20180731114206.png

三、职业数值设计

几乎所有的RPG网游都有职业设定,对职业数值进行差异化设计。与此同时,除攻击、防御、血量二级属性外,也加入了如力量、敏捷、智力、体力等一级属性等概念,丰富游戏数值内容。其中,职业的差异化设计更多的是由技能设计体现,职业的属性数值差异化是锦上添花。

1、预设

(1)假定游戏有三个职业,战士、法师、盗贼。

(2)假设游戏包含:

一级属性:力量、智力、敏捷、体力。

二级属性:攻击、防御、暴击、血量、魔法。

2、确定各职业的属性关系

力量:影响战士的攻击、全部职业的生命(影响系数不同)。

智力:影响法师的攻击、全部职业的魔法上限(影响系数不同)。

敏捷:影响盗贼的攻击、全部职业的暴击等级,暴击等级可以转换为暴击率(影响系数不同)。

体力:影响全部职业的生命值(影响系数不同)。

属性设计思路

A.用攻击来决定每种职业追求哪种一级属性。

由于各职业需要有属性差异,过于复杂的属性结构不宜理解,所以采用了每个职业有一个主属性,主属性影响每个职业的攻击力,让玩家追求属性时能够抓住重点,有的放矢。尽量避免一个二级属性被多个一级属性影响,这样的设计也更容易把控。

B.遵循大家都一样的原则,是最简单直接的平衡性模型。

每个职业除攻击和通用一级属性外,被一级属性影响的数量一定相同。如,战士的力量只影响除攻击外的一个防御属性,智力只影响一个魔法上限,敏捷只影响一个暴击等级,体质是通用属性,可以适量影响多条属性。

基于以上,建立一个职业属性关系表:

微信图片_20180731114207.png

3、各职业的属性数值设计

(1)以基础角色数值模型为原型,乘以各种系数变形出只有二级属性的各职业角色数值模型,以下是各职业详细数值。

微信图片_20180731114209.jpg

微信图片_20180731114210.jpg


(2)反推各职业的一级属性

很多情况下,属性面板是不会直接显示攻击、防御这些属性,只会显示力量、智力、敏捷、体质这些属性,用比较简单的乘除法就可以转换这些属性。

1点力量=1.5点战士攻击力、全职业防御(战士0.55,盗贼0.5,法师0.49)

1点智力=1.5点法师攻击力、全职业魔法值(职业不同系数也不同,魔法值的设定主要与技能循环有关,暂不在本文体现)

1点敏捷=1.5点盗贼攻击力、全职业暴击等级(职业不同系数也不同,敏捷转化为暴击等级与其他属性类似的方式就可以解决)

其中暴击等级需要通过特定公式转换为暴击率,在后面具体写出计算方法。

1点体力=全职业生命(战士90,盗贼80,法师77)

以下是已经调整好的一级属性数值:

微信图片_20180731114211.jpg

微信图片_20180731114213.jpg

微信图片_20180731114214.jpg

(3)使用(2)换算过的各属性转换系数,重新梳理各职业最终的二级属性及战斗节奏,进行数值校验。

战斗节奏与最初设计的基础模型可能存在偏差(标红处),但对于整体来说影响不大,可以忽略。

微信图片_20180731114215.jpg

通过一级属性转换的防御、血量,一定和原来的预设是不一样的,所以我们需要做反验算和验证的过程,我们先把力量、敏捷、智力这些一级属性分别链接到二级属性表里各个职业对应的位置,使用“=”号即可。然后计算实际的二级属性,攻击是用力量乘以攻击系数,防御就是乘以防御系数,血量就是乘以血量系数,得到各个职业的攻击、防御和血量之后,用伤害与各个职业的血量进行对比,得出战斗时长。

我做了一个小小的预设,希望1V1的时候,战士能稍稍领先盗贼,盗贼能稍稍领先法师,那么战士打盗贼的时长要比盗贼打战士的时长要短,要能更快打死对方,我的系数调整之后,基本是符合预期的。

如果我们在验证的过程中,数值有偏差怎么办?要么就提升战士的攻击力,要么减少盗贼的血量,通过系数来调整。

4、暴击率计算

角色裸装暴击率控制在0%~3%左右比较保险。

(1)暗黑三式的暴击率计算

各种“率”的上限为100%,一般RPG网游成长周期比较久,投放百分之零点几又会被觉得太奇怪,一般都需要通过“暴击等级”、“致命”等这些中间值进行转换。

暗黑3的计算方式如下(我们可以把暗黑三的敏捷改为暴击等级,思路是一样的):

微信图片_20180731114218.png

假设:玩家有600敏捷。

100 * 0.1% = 10.00% (0-100敏捷区间)

400 * 0.025%= 10.00% (100-500敏捷区间)

100 * 0.02%= 2.00% (500-1000敏捷区间)

敏捷提供的闪避总计:

(10.00%+10.00%+2.00%)= 22%

(2)DNF给出的另一个思路

DNF的伤害计算中,黄字和爆伤取的是所有装备中的最大值,这种计算方式是否可以用作游戏中的暴击率计算,也是可以来考虑考虑的事情。

小结:

当暴击率达到40%,给玩家的直观感受接近刀刀暴击/闪避,暴击是危险属性,需谨慎投放。可以通过“捆绑”投放(暴击和暴击抵抗同步投放)、边际效益递减(暗黑三闪避率计算)的方式投放。

四、结语

总而言之,研发阶段的数值设计是一个不断的拍脑门、反推、调整、重新计算、测试、再调整的过程,看似比较烦碎,但在不断的实践以及玩家的测试验证,都可以总结出适合自己习惯使用的数值方法论。

作者suelin系腾讯互动娱乐高级游戏策划

via: 游戏扶持by腾讯游戏学院

0

主题

22

帖子

44

积分

注册会员

Rank: 2

积分
44
发表于 2018-8-5 15:26:50 | 显示全部楼层
学到数值                    
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-4-20 14:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表