欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  互联网

伤害公式演化过程

程序员文章站 2024-01-11 14:42:04
一个游戏公式,从简单到复杂的演化,是由一个过程的。这篇文章以普遍的RPG游戏的伤害公式来说明。伤害公式最简单的形式:公式说明:Dmg:伤害值Max:取大函数Atk:攻击力Def:防御力伤害 = 攻击者的攻击力-被攻击者的防御力,如果攻击力小于防御力,伤害值不小于1.这个公式有一个问题,如果防御力堆的足够高,攻击力无法造成有效伤害。因此,许多游戏把防御力变成一个百分比系数。例如魔兽争霸的防御力系数:减少的伤害百分比=(装甲值 * 0.06......

 

一个游戏公式,从简单到复杂的演化,是由一个过程的。

这篇文章以普遍的RPG游戏的伤害公式来说明。

 

伤害公式最简单的形式:

伤害公式演化过程

公式说明:

Dmg:伤害值

Max:取大函数

Atk:攻击力

Def:防御力

 

伤害 = 攻击者的攻击力-被攻击者的防御力,如果攻击力小于防御力,伤害值不小于1.

 

这个公式有一个问题,如果防御力堆的足够高,攻击力无法造成有效伤害。因此,许多游戏把防御力变成一个百分比系数。

例如魔兽争霸的防御力系数:

减少的伤害百分比=(装甲值 * 0.06)/(装甲值 * 0.06 + 1)

 

伤害公式的形式变为:

伤害公式演化过程

 

这个简单的伤害公式,就可以设计许多系统对他的支持。

例如设计多套,多等级的防具来增加角色的防御力。设计多套武器来增加角色的攻击力。

武器防具可以从关卡敌人身上掉落。或者从地图探索的宝箱中获得。

 

 

技能伤害公式

技能效果需要在公式中体现,技能只需要增加攻击力就行了。

技能有三项属性:

skill_factor:技能伤害倍率

skill_plus:技能伤害附加值

skill_true_dmg:技能真实伤害

伤害公式的形式变为:

伤害公式演化过程

技能提升了攻击力的倍率,以及添加一个额外伤害。对基础攻击力有一个线性提升。

技能真实伤害放在防御力之后,所以真实伤害不受防御力影响。

 

有了技能之后,角色可以对技能进行成长。

 

命中闪避暴击

有命中就有闪避。这两者是一个对立关系。两者互相成长。

给每个战斗单位,添加这两项属性之后,伤害公式的形式变为

伤害公式演化过程

有两种比较流行的计算实际命中率的方法:减法公式与除法公式

减法公式:

伤害公式演化过程

除法公式

伤害公式演化过程

两种计算方式各有优劣

暴击率的计算方式雷同。

Buff加成

Buff影响角色的所有属性。

此时为止,角色属性包括

伤害公式演化过程

Buff可以对每项属性一个线性加成

伤害公式演化过程

将每一项带入原本的伤害公式,可得最终伤害式。这里不列举了

从公式可以看出,buff加成的攻击力,可以被技能继续加成。收益较高。

 

公式演化方向

更复杂的演化方向,可以从以下几个方向去着手

增加技能的伤害类型(物理伤害,魔法伤害,神圣伤害等)

增加技能的属性克制(金木水火土)

增加特殊攻击姿态的伤害倍率(破招伤害加成,击倒伤害加成,背部伤害加成等)

增加对特殊怪物类型的伤害(对人形怪的伤害加成,对死灵的伤害加成等)

 

极限情况下,玩家如果对所有情况都满足下,可以产生爆炸伤害。

本文地址:https://blog.csdn.net/x_studying/article/details/107313252