Forums › English Language Forums › General › The Coliseum

Search

Solving the defence problem

8 replies [Last post]
Sat, 02/22/2014 - 15:12
Krakob's picture
Krakob

If you haven't read this yet, don't bother with this topic.
See also: http://wiki.spiralknights.com/Defence

The current function for defence is
max(player defence, 100)
and that's kind of problematic. It can obsolete some UVs and requires you to not mix defence types too much or you lose what you should get.

So, before we can even write a suggestion on this, we need to come up with a new function, right? I have yet to come up with one myself so I figured I'd post this topic. A few options one can discuss are:

  • defence = player defence - this option is the same as in PvE, as far as I know but it would for one obsolete the Recon Death Mark in some cases and having 0 defence against things would make stuff pretty imbalanced as powerful weapons would get even more powerful if the opponent does not use the correct defensive gear, which is pretty impossible since one can carry, say, both a Divine Avenger and an Acheron.
  • defence = 100 + player defence / 2 - this would in opinion be better than the current system but it also comes with a problem. Investing in defence over offense would simple be less rewarding than it is now as the difference between say, Ironmight Plate set and Skolver set would become smaller.
  • defence = 100 + player defence - this would cause problems as well. Defence would be easy to get to pretty big values and reaching threshold values. That would in fact probably happen for all heavy hitting swords.

So who has ideas?

Sat, 02/22/2014 - 16:02
#1
Deleted-Knight's picture
Deleted-Knight
imo

The main problem is nobody knows how does the damage calculation actually work. The results referenced are only empirical observations. Most likely the actual algorithm involves a lot of integer division and floating point truncation.
We also don't know how weapon power is actually stored in the system, merely assuming the max possible damage is the base power. Most likely weapon power values are all "convenient" numbers that are then sent through an algorithm to determine damage (taking into account parameters like UV, defense, type of swing, etc.). I infer this from the large amount of weapons that have similar damage stats. If base powers could be assigned to any value, you would expect more variety.
That being said, we can't really suggest a viable replacement since we don't know what we are actually replacing. Besides, I don' think this game was designed for hard-core analytic gamers. If people can play the game and have fun, the devs wouldn't bother with changing damage mechanics.

Sat, 02/22/2014 - 16:17
#2
Krakob's picture
Krakob

Actually, we do know how damage calculations work (mostly). Did you read what I linked? Make sure to look at the links at the bottom of the defence wiki page as well. Even if we don't know the exact formula, we don't need it for LD discussions because we already know all damage values for T3 LD and thus, there's no need to know what's behind that. We know roughly how defence is applied to input damage and thus, we can most certainly judge what should or shouldn't be done in terms of modifying defence in LD.

If people can play the game and have fun, the devs wouldn't bother with changing damage mechanics.
People's lack of understanding is not an excuse for shoddy game design.

Sat, 02/22/2014 - 20:44
#3
Quartiq's picture
Quartiq

Does defense for each class have to work the same way in your new function? It might make the striker class a lot more of a glass cannon if they had the function defense = (player's defense). It might be too extreme but food for thought. Also maybe think about having a non-linear function for defense to reward the defensive sets with much more defense than the offensive ones.

Sun, 02/23/2014 - 02:20
#4
Krakob's picture
Krakob

I didn't think about that. OOO can evidently make such things happen (as shown by Guardian's inherent +2 global resistance) but I'm not sure if that'd be a good thing.
In my opinion, the biggest problem with LD is health. Striker is bugged and has 4 health more than it should have (which OOO has completely ignored since the dawn of LD) and pentas turn Strikers into tanks. Still, this system makes sure every serious LD player consumes at least 300 energy per month (550 if they use a weapon slot) so I don't think OOO will have any interest in changing it.
Thus, I think it could be a good idea to implement exactly that.
For Strikers, defence = player defence
For Recons, defence = player defence + 50
For Guardians, defence = player defence + 100
I think this could work. If anything, it would cause imbalance between Guardian and Recon, perhaps. Also, there's the death mark issue. Maybe you could do it like this instead:
Strikers: defence = 100 + player defence*0.5
Recons: defence = 100 + player defence
Guardians: defence = 100 + player defence*1.5

This would encourage getting more defensive gear for Guardians while also discouraging it for Strikers and I think that could work.

Sun, 02/23/2014 - 03:43
#5
Blue-Flood's picture
Blue-Flood

Nice idea about the split defenses... maybe some day it'll be changed.

I also noticed that they finally fixed the m_automaitc.revive or whatever it was! It's the little things, ya know?:)

Sun, 02/23/2014 - 07:25
#6
Klipik-Forum's picture
Klipik-Forum

But it's actually the big things :P
I would much rather have a balanced, fair, skill-based game with m.automatic_revive than the opposite.

Sun, 02/23/2014 - 22:41
#7
Quartiq's picture
Quartiq

So I was thinking about this problem a little more today, and realized you might be going about it backwards. Currently you're looking at functions and seeing how their results would line up with the idea of a balanced lockdown where mismatched uv's do matter. Instead, it probably would be much simpler to define the results you're looking for, then with that data, reverse engineer the functions. By data, I mean how many hits using different weapons would it take to kill a player in different types of armor (with and without different uv's) for each class. I know it would be a bit of work to decide all that but afterwards fitting an equation to all of it shouldn't be as bad, especially with any statistical analysis program. Unfortunately, I'm not much of an LD'er so can't really help you decide any of that as have no idea what would make sense in the spirit of the game. Further more, as you're taking the liberty of redefining how defense works, it there are any other features that might cause problems with the results you're looking for, I think you should feel free to redefine how other mechanics work too.
Good luck though, I think you're up for the task. :)

Tue, 02/25/2014 - 14:57
#8
Il-Mono-Il's picture
Il-Mono-Il
/hi

Hey Krakob (and Zeddy, and Bopp), I just want you all to know that I'm tuned in your calculations for months!

Nice job.
/clap

How about " DEFENSE = 120(or150) + (player defense/2) " ?

Mid-term between option 2 and 3.

Powered by Drupal, an open source content management system