属性设计:
一级属性:力量、体质、智力、敏捷、精神等,这些属性不直接参与战斗伤害计算,但会按照一定比例转换成其他二级属性,如生命、攻击、防御等,对于不同职业来说,一级属性的侧重也不同。这些一级属性的设计,主要是为了给玩家提供一定的自由度,同时又不会让属性数值失控。
二级属性:生命、攻击、防御、命中、闪避等,这些属性直接用于战斗计算,如计算伤害、命中率、暴击率等。
特殊属性:伤害加深、暴伤加成、会心几率等,这些属性同样用于战斗计算,但效果较为强烈,对战斗结果影响较大。
属性设计应遵循以下原则:
1.可理解性:属性设定应符合一般常识,玩家容易理解其含义;
2.可见性:在战斗过程中,玩家应能明显感知到属性的作用;
3.收益差异:不同属性在战斗中应起到不同的作用,或在不同的情境下收益存在差异;
4.对抗性:可以设置对抗属性,使属性投放过程中相互抵消。
属性总值的计算需要定义计算次序,避免属性在错误的公式位置中产生效果差异;同时避免在开发过程中因为统计计算方式混乱而导致战力偏差。以攻击为例,攻击值的投放包括装备、坐骑、宠物、翅膀等;攻击加成则包括各种系统投放的 buff 攻击加成;系统属性加成则包括装备加成、宝石加成、坐骑加成等。通过明确的计算方式,可以得出总攻击值。
总之,职业与属性的设计首先需要根据项目需求确定属性类型,并多设计一些吸引玩家的特殊属性;其次要明确属性的计算统计方式,与程序沟通清楚,避免理解错误导致属性体系膨胀。
战斗攻击过程是指在实际战斗中,攻击行为从开始到结束的整个阶段,这个过程可以分为前摇阶段、特效飞行、伤害结算、后摇阶段,每个阶段都有各自的计算和影响。攻击冷却时间在不同阶段有不同的计算方式,对最终攻击冷却时间产生不同影响。当前,大多数手机游戏在攻击流程的设计上并没有太过细致,一般在攻击时就会开始计算伤害,为了确保攻击特效和伤害飘字同步,会对伤害飘字进行延时处理。
在战斗中,攻击和伤害的计算方式主要分为减法公式和乘除法公式两种。减法公式的伤害计算方式为——伤害=攻击-防御,这种计算方式在防御固定的情况下,每增加一点攻击就能得到相应的伤害。而乘除法公式的伤害计算方式为——伤害=攻击攻击/(攻击+防御),这种计算方式在防御不变的情况下,每增加一点攻击带来的伤害会有所增加。
两种公式对最终伤害的影响有着显著的不同。减法公式随着攻击的增加,伤害逐渐接近乘除法公式的伤害,在攻击达到一定程度后,减法公式的攻击所带来的伤害将超过乘除法公式的攻击所带来的伤害。同时,如果防御足够高,减法公式的效果将非常明显。相比之下,乘除法公式在前期防御性价比更高,对伤害的减少效果明显,但到了后期则会逐渐减弱。
此外,两种公式对伤害减免的影响也有所不同。当防御大于攻击时,减法公式的伤害减免可以达到100%,这意味着再增加防御也没有效果。而乘除法公式虽然前期防御效果显著,但后期则会逐渐减弱。
在战斗公式的完善方面,可以采取以下两种措施。首先,为了解决攻防关系固定造成的伤害僵硬问题,可以在每次攻击时对攻击属性进行一定范围内的随机化处理,然后再代入公式进行计算。其次,为了解决防御大于攻击情况下的问题,需要做一个保底伤害的处理。
经过调整后,减法公式的计算方式变为:攻击下限=攻击下限参数;攻击上限=攻击上限参数;实际攻击=randbetween(攻击下限,攻击上限);伤害=max(实际攻击保底系数,实际攻击-防御)。
最后,关于特殊属性的考虑,除了比例值类和固定值类特殊属性之外,还需要注意一些可能存在的问题。比如当伤害减免大于等于伤害加成时,最终伤害将为0,即使攻击方的攻击继续增加也无法提升伤害;同时当比例值类的技能增伤和技能减伤同时存在时,最终伤害可能也会为0。因此在实际设计时要注意避免这些问题,确保战斗公式的合理性和公平性。
最终无暴击的伤害计算方式为:最终伤害=伤害值*(1+max(保底比例1,伤害加成/伤害减免))
最终有暴击的伤害计算方式为:最终伤害=伤害值*(1+max(保底比例1,伤害加成/伤害减免)))*(基础暴击伤害+max(保底比例2,暴伤加成/-暴伤减免))
不想写了,好累,而且没人会看。总之是标准人设定与属性价值推算。对于PVP的战斗角色数值设计,要保证双方或多方,在瞬时/一套技能/整场战斗的对彼此造成的百分比伤害量相当,这是把血量、防御、回血等都纳入考虑的结果。
到此这篇战斗系统设计(战斗系统包含哪个基础属性)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/te-jc/65555.html