Los problemas que tiene con el cálculo de DPS a partir de esa fórmula se deben a que lo que llama en BaseDamage
realidad no parece ser eso.
Suponiendo que todos los números son positivos, BaseDamage / ( BaseDamage + Defense )
siempre se resolverá en un número de coma flotante en algún lugar entre 1 y 0. No importa si tiene 10 BaseDamage
, 1,000 BaseDamage
o 1,000,000 BaseDamage
, siempre estará en ese rango. Donde en ese rango depende de cómo BaseDamage
el arma se compara con el Defense
del objetivo. Eso significa que lo que realmente afecta el orden de magnitud del daño real de un ataque es principalmente el SkillDmg
multiplicador.
Al observar estas propiedades matemáticas, realmente no llamaría a esta propiedad de arma, BaseDamage
sino DefensePenetration
que describe la capacidad del arma para vencer a la defensa enemiga y aún hacer la mayor parte de su daño. Esto podría ser una mecánica interesante (o no ... es algo que necesitas probar), pero no dice mucho sobre el nivel de potencia de un arma.
Entonces, ¿cómo resolvemos este problema?
Bueno, no hay una solución correcta para este problema. Pero un cambio que podría hacer lo que quieres hacer (el doble de arma poderosa = aproximadamente el doble de daño) es agregar el BaseDamage
otro factor multiplicativo:
float realDamage = SkillDmg * BaseDamage * BaseDamage / (BaseDamage + Defense)
Si te gusta la mecánica de penetración de defensa que descubriste accidentalmente, así es como se vería con Penetration
una estadística de arma separada:
float realDamage = SkillDmg * BaseDamage * Penetration / (Penetration + Defense)
Lo bueno de esta fórmula es que escala bastante bien:
- Incluso cuando la defensa es patética en comparación con el valor del ataque, nunca hay más daño que el ataque. Esto te da un límite superior de cuánto daño puede infligir un personaje, lo que facilita mucho más el equilibrio.
- En el otro extremo, no importa cuán alto llegue la defensa, nunca puede mitigar por completo el daño (excepto a través de errores de redondeo), por lo que siempre hay margen de mejora para el defensor y nunca hay un ataque completamente inútil.
- Cuando Defensa y Daño base (y Penetración cuando lo desee) son más o menos lo mismo, hay aproximadamente la mitad de Daño real que Daño base. Esto es cierto sin importar cuán grandes sean los valores. Esto es también en lo que puede basar su estimación de DPS. Simplemente asuma que el enemigo tiene tanta defensa como el arma tiene ataque / penetración, lo que significa que su fórmula DPS se convierte en
AttackFrequency * BaseDamage / 2
Editar: Aquí hay algunas tablas con valores de ejemplo:
Damage by Defense for single attack
Defense
| 0 | 35 | 50 | 100
---+-------+------+-------+-------
35 | 35 | 17.5 | 14.4 | 9.1
Attack 50 | 50 | 29.4 | 25.0 | 16.6
100 | 100 | 74.0 | 66.7 | 50.0
Dps assuming HitFrequency = 100 / Attack
Defense
| 0 | 35 | 50 | 100
---+-------+-------+------+-------
35 | 100 | 50.0 | 41.1 | 25.9
Attack 50 | 100 | 58.8 | 50.0 | 33.3
100 | 100 | 74.0 | 66.7 | 50.0
Como puede ver en estos números, las armas de alto daño y baja velocidad siguen siendo nominalmente más poderosas contra el mismo enemigo que las armas de bajo daño y alta velocidad si tienen el mismo DPS AttackFrequency * BaseDamage / 2
. Pero el efecto es más visible en enemigos de alta definición que en enemigos de baja definición. Ambos son igualmente buenos en enemigos de 0 def. Eso significa que las armas de ataque rápido son menos malas en enemigos de baja definición que en enemigos de alta definición.
Esto podría equilibrarse por el hecho de que las armas de alta velocidad le dan al jugador más flexibilidad con respecto a la distribución de daños y, por lo tanto, les permite evitar el desperdicio de DPS en matanzas excesivas. Cuando el jugador se enfrenta a una gran cantidad de enemigos muy débiles que mueren con un solo golpe, un arma de 5 ataques por segundo puede matar a 5 enemigos por segundo, mientras que un arma de 1 ataque por segundo solo puede matar a 1 enemigo por segundo. Otra posible ventaja aparece cuando agrega aleatoriedad a los ataques. Debido a la ley de grandes números, muchos ataques débiles producirán un daño más suave y confiable que unos pocos fuertes. Los jugadores generalmente se benefician de la fiabilidad. Pero cuando tales consideraciones son irrelevantes debido a la mecánica del juego y / o el diseño del encuentro, tendrás que hacer que tus armas más rápidas sean un poco más poderosas de lo que deberían ser para compensar.
Una forma de dar un impulso a las armas de alta velocidad podría ser la introducción de efectos que se disparan con un x% de probabilidad por golpe y no dependen del daño. Estos serían mucho más poderosos con un arma de ataque rápido porque se dispararían con mucha más frecuencia.
damage * damage / ( damage + defense)
), solo sin tener en cuenta el daño de habilidad. La razón de la diferencia en DPS es porque está utilizando la misma defensa. La razón por la que obtienes resultados diferentes es porque con esa fórmula, las armas lentas pero fuertes son mejores contra los enemigos de alta definición, mientras que las armas rápidas pero débiles son mejores contra los enemigos de baja definición (lo que parece plausible). Asumiste un enemigo de alta definición y balanceaste ambas armas contra él, lo que significa que hiciste que la daga fuera dominada. El cálculo de DPS muestra esa sobrepotencia.