铣床厂家
免费服务热线

Free service

hotline

010-00000000
铣床厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

以地牢围攻2为例解析角色属性系统设计过程

发布时间:2021-01-21 07:17:46 阅读: 来源:铣床厂家

我将阐述《地牢围攻2》的角色属性系统设计过程,我曾参与过这款游戏的系统设计。我会描述系统的运转方式,如此设计的原因以及我们如何通过数学将目标转换成游戏内容。

《地牢围攻2》电子表格

《地牢围攻2》角色属性设计过程

《地牢围攻2》是款RPG游戏,角色能力随等级提升。他们的属性增加,获得更多的生命值,更好的武器和护甲。为让角色在游戏过程中遭遇到难度合适的挑战,我们需要预测角色在每个等级的强大程度。

我们决定,角色的“基础能力等级”由角色的属性及其武器和护甲的基础数值构成,因而我们开始确定这些项目所涉的数值和进阶过程。部分额外要素还可以增加这个基础能力等级,包括技能、能力和提升角色整体能力的战利品。

所有这些公式都以“等级”为参数。就角色而言,“等级”便是角色等级。就道具而言,“等级”便是我们期望角色使用该道具时的等级。道具等级限制了随机财宝生成器掉落该道具的时间。

秒伤(注:Damage Per Second,下文简称“DPS”)

对于角色的基础秒伤,我们有几个目标:

1、所有职业的基础秒伤公式都是相同的。《地牢围攻2》中各职业有不同的优点和弱点,但是他们的初始DPS都是相同的。玩家可以在游戏中通过自行分配技能点数来改变角色DPS,但是基础值应当相同。

2、基础秒伤公司应当非常简单。该公式将用于其他许多数值的计算中,比如怪物的生命值和道具奖励数值,因而这个公式应当非常简单。

为实现DPS公式的简单化,我们的设计是基础DPS随等级线性增加,这是最为简单的进阶方式。公式如下:

基础秒伤=8+2*等级

我们可以看到,电子表中第6、16和27行中所有职业的数值都是相同的。“8”代表游戏开始时角色的基础伤害。“2”代表基础DPS随等级提升的比率。

在设定武器或咒语的伤害时,用电子表格中预期基础秒伤乘以武器的攻速,便可以得到武器的秒伤。对于群伤武器,我们可以削减力量或敏捷等属性对角色伤害的加成。

以下是攻速1.5秒的10级双手剑的伤害计算公式:

10级双手剑伤害=10级基础DPS*攻速-力量加成

10级双手剑伤害=(8+2*10)*1.5–(0.2*(10+3*10))

10级双手剑伤害=34

因而,10级战士每次用该双手剑劈砍可造成34点伤害。以下是使用不同攻速武器时伤害来源于武器和力量加成的比例示图:

DPS_Bars

如果要让我对这个公式进行修改的话,我会将公式的系数设定得更高些。有时在低等级时,玩家获得的武器或护甲只比他之前使用的道具好一点点,这种感觉并不好。

我们可以将游戏中的数值设定得更大些,这样早期的升级更能够让玩家感到兴奋。

战士护甲

护甲值进阶同游戏的伤害计算公式有关。不同游戏的伤害公式不同。有时这些公式相当复杂,令人难以理解。以行业标准来看,《地牢围攻2》的伤害公式很简单:

实际伤害=攻击伤害*(攻击者DPS/护甲)

实际伤害=攻击伤害*((8+2*攻击者等级)/护甲)

“攻击伤害*((8+2*攻击者等级)/护甲)”本质上就是受攻击者承受的攻击伤害百分比。我们希望该百分比在游戏过程中大致保持不变,50%似乎是个适合耐力型战士角色的百分比。

保持百分比不变使我们可以只通过改变怪物生命值和伤害来改变游戏难度。

为实现50%的百分比,战士和怪物的基础护甲应当是基础伤害值(注:见电子表格第7行)的两倍:

护甲=2*(8+2*等级)=16+4*等级

游侠和魔法师护甲

假设游侠的护甲为战士的X%。通过我们设计的简单伤害公式很容易便可以得出,他受到的攻击伤害值为战士的1/X,因而他在死亡之前需要承受X%的惩罚。

游侠和魔法师的护甲显然比战士的护甲值低,这样玩家便可以察觉到不同职业间的差别。最终,我们设定游侠的护甲值为战士护甲的70%,魔法师的护甲值为战士护甲的55%。电子表格的第17和28行可以看到这些公式。

战士生命值

要弄清楚角色的生命值,我们需要思考杀死角色所需要的时间。因为基础秒伤随等级线性增加,所以基础生命值也应当随等级线性增加,这样角色在低等级和高等级时被杀死所需的时间就可以保持不变。

战士生命值是游侠和魔法师生命值的参照标准,所以我们先设置战士生命值。我们将秒伤公式与不同数值相乘,探寻生命值合适的进阶比率,如下所示:

生命值=42.4+10.6*等级

在经过多次测试后,我们意识到低等级战士显得很脆弱,因而我们增加了初始生命值,提升低等级玩家的耐力:

生命值=56+10.6*等级

我们可以看到,电子表格第8行的数值采用的就是这个进阶比率,但是游戏中真正采用的公式并不是如此。《地牢围攻2》借鉴了其首作中的设计——角色的生命值和魔法同力量、敏捷和智力等属性有关。力量对生命值的影响最大,其次是敏捷,随后是智力。

生命值公式如下:

生命值=A*力量+B*敏捷+C*智力

要找到A、B和C的适当数值,我们还需要考虑游侠和魔法师的生命值。

游侠和魔法师生命值

我们都知道,游侠和魔法师的生命值要比战士少。我们决定参照护甲设计,将这两个职业的生命值设定为战士生命值的一定百分比。在等级相同时,游侠的生命值为战士的90%,魔法师的生命值为战士的75%。

在不同职业有不同生命值公式(注:如《暗黑破坏神2》)的游戏中,实现上述目标较为简单。但是在《地牢围攻2》中,每种职业的生命值公式是相同的。角色生命值与属性相关,而不同职业的属性成长比率是不同的。

我们必须得出生命值公式系数,这样就能够与不同的属性数值相乘来得出预设的每个职业生命值百分比。

生命值公式为:

生命值=A*力量+B*敏捷+C*智力

电子表的3-5、13-15和24-26行显示各职业属性进阶情况。将力量、敏捷和智力替换成各职业的期望数值,我们可以得到以下3个公式:

1、战士生命值=A*(10+3*等级)+B*(10+等级)+C*(10+等级)

2、游侠生命值=A*(10+等级)+B*(10+3*等级)+C*(10+等级)

3、魔法师生命值=A*(10+等级)+B*(10+等级)+C*(10+3*等级)

将“战士生命值”替换为期望的生命值进阶,将“游侠生命值”和“魔法师生命值”替换为战士生命值的期望比率,得出以下公式:

1、56+10.6*等级=A*(10+3*等级)+B*(10+等级)+C*(10+等级)

2、0.9*(56+10.6*等级)=A*(10+等级)+B*(10+3*等级)+C*(10+等级)

3、0.75*(56+10.6*等级)=A*(10+等级)+B*(10+等级)+C*(10+3*等级)

在《地牢围攻2》中,所有角色在初始等级的生命值都是相同的。我们不能给战士、游侠和魔法师设定不同的初始生命值,我们能做的就是让它们以不同的期望比率改变。因而,我们可以去除上述公式中所有的常量,得到如下公式:

1、10.6*等级=3A*等级+B*等级+C*等级

2、9.5*等级=A*等级+3B*等级+C*等级

3、8.0*等级=A*等级+B*等级+3C*等级

然后除去公式两边的“等级”,将公式简化如下:

1、10.6=3A+B+C

2、9.5=A+3B+C

3、8.0=A+B+3C

解此方程式可得出A、B和C的数值,于是最终得到的生命值公式如下:

生命值=2.5*力量+1.95*敏捷+1.15*智力

这便是电子表8、18和29行中公式的由来。20和31行数据显示,游侠和魔法师的生命值与战士生命值的比值与预期相同,这样我们就知道先前的计算是正确的。

Health_Progressions

这种方法确实很有效,但是也非常复杂。这种设计方法导致属性的变动会影响到多个数据。比如,如果要通过增加战士力量来增加其群体伤害,那么生命值比然也会随之增加。

如果让我重新设计的话,我会将生命值直接同职业等级联系起来,完全不涉及属性。

数学计算

将数学运用到系统设计中,这需要经过一定时间的练习和实践。探寻计算公式并弄清楚他们在不同情况下的表现以及如何获得所需的结果,这是件很难的事情,尤其当你刚开始接触这类数量化设计方法时。以下是某些有关游戏系统数学的小技巧:

设立正确的等式。你运用的数学简单还是复杂并不重要,重要的是等式的正确性。如果我以基础DPS进阶为基础,但武器伤害值运算不当,那么得到的游戏结果可能与我预想中的进阶大相径庭。

数值单位是最困难的部分。如果你的已知值是“秒伤”,那么乘以时间值得到的便是伤害值。分清单位,不可混淆。比如,攻击频率的单位和攻击间隔时间的单位是不同的。

无需过于精确。游戏中的数学同物理中的数学一样,只是估算复杂系统近似值的工具而已。我无法得到游侠和魔法师生命值公式的精确结果,但是估算值已经足够实现系统设计的目标。只要你的属性进阶设计准确,即便是估算值也无伤大雅。

通过曲线图测试结果。如果你不确定自己的数学运算是否准确,可以用曲线图来检测结果。这样错误的结果便显而易见,你就知道需要重新检查整个运算过程。

实践。查看其他游戏使用的公式并努力研究设计师如此设计的原因所在。

不必过分在意首个游戏系统设计

无需过分在意游戏首个系统的细节,原因有以下两点:

1、这些都只是初始设计。制作的护甲和武器伤害进阶数值并不完整,后期还要将各内容贯穿起来,比如怪物生命值和伤害,这还可能导致数值改变。

2、玩家对游戏内容的平衡性并不敏感。大部分PvE玩家并不会深入研究游戏系统中的数值。只要游戏中没有明显的异常现象,玩家更倾向于认为游戏是平衡的。

首个系统的设计往往是最困难的。可以采用的方法很多,最重要的是你的系统必须可理解和可运行,这样你就可以避开或修正内容中任何较大的不当之处。只需要选择简单的规则和进阶即可,无需将每项数值都设计得尽善尽美。

混元劫

梦幻飞仙官方版

钢魂手游

命运之刃手游