Resist system

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • fizzix
    replied
    Originally posted by Timo Pietilä
    Resistances as damage reduction are pretty much irrelevant except for basic four and poison. We could as well remove them completely for rest of the elements and replace them with side-effect prevention and leave basic four & poison as they are.
    I disagree with this. Big nether breathers will breathe max 550. With resistance it changes from 275 - 440. Now that may not seem like a huge reduction, but it certainly makes a difference on how often you need to drink healing potions. With the damage reduction, you often wind up needing to heal only half the time, which is a big net savings in consumables.

    edit: ok after reading the rest of the thread. I think the 1/3 8/9 is fine as is. I don't feel strongly enough to argue for 1/2, 1/4 approach, especially if we have the game display on recall what the resisted damage is, instead of the current unresisted damage.

    However, I am fine with making the variation of the high level resists less variable. maybe replace them with a 1/3 reduction. (1/2 seems too strong). I would strongly oppose raising the damage cap at all on these. Variations of 10% or so are fine as well. Recall should always display max damage with current equipment/ temp resists.

    Lastly, for double resists, I think a second item should be equivalent to a temp resist. The same should work for the high level resists as well.
    Last edited by fizzix; August 22, 2011, 22:13.

    Leave a comment:


  • EpicMan
    replied
    While the resist system has worked fine for the base 4 + poison, the high resists are just screwy and impossible to really understand without spoilers or looking at the code.

    If nothing else is done, the high resists should be changed to a fixed 2/3rds damage reduction like base4/poison. That is what newer players expect once they understand the base resists.

    Leave a comment:


  • Timo Pietilä
    replied
    Originally posted by Magnate
    2. Make a second resist count, even if it's the same type as the first (i.e. both permanent). Personally I favour this change as it makes equipment choices more interesting and helps warriors (traditionally the last beneficiaries of most changes).
    I don't think it would benefit warriors, I think it would just make them to seek out resistances when they should be looking for offense, detection and escapes. I would personally hate needing more than one object with a resist. What has been suggested increases damage from all lesser creatures, even that cap has been lowered (very few monsters actually breathe basic 4 anywhere near full strength). This suggested change would make AMHD breathe ~350 points of damage for each of its breaths with resist instead of 233. Lesser Balrog would breathe fire for 440 points instead of 293. Even Greater Balrog 500 instead of 488.

    I don't like this. Current system is not broken here, so do not fix it. Change for sake of change is not a good thing. Especially for something that has worked just fine for nearly two decades. It would just lead to big mess with balance for several incoming versions.

    Leave a comment:


  • Magnate
    replied
    Now we're talking. We seem to be converging on two slightly different issues now:

    1. Making all damage reduction a simple, fixed amount - specifically, removing the random element from high resists. I like this. I like the suggestion of a straight 50% and another 50% - it would be a lot for veterans to get used to (!), but 1/2 and 3/4 is easier to remember than 2/3 and 8/9 (let alone 5/7 to 5/12). I like the suggested damage caps too (though I don't really see why light and dark need to be in a category of their own - nor poison for that matter). I think this would be a lot easier for new players to understand. "Low" resists means big damage, "high" resists means less damage (but nastier side effects).

    2. Make a second resist count, even if it's the same type as the first (i.e. both permanent). Personally I favour this change as it makes equipment choices more interesting and helps warriors (traditionally the last beneficiaries of most changes). It wouldn't actually be too difficult to code - just a single function that checks for a second occurrence of the required flag. I'd be interested in other views on this.

    Leave a comment:


  • Jungle_Boy
    replied
    Looking at the other replies it seems most people are in favor of fixed resists on all elements and either increasing the damage reduction or removing the damage reduction on high resists. ( I think I would prefer increasing the damage reduction and possibly the damage as well)

    What about this:
    Max Damage
    Basic 4 - 1000
    Poison - 800
    Light, Dark - 400
    Everything else with a resist in game - 600
    Anything without a resist in game - 200

    ALL Resists reduce damage by 50%, temp resists by another 50% Might need some tweaking but it has the advantage of being very simple, easy to explain, and fulfills 4 of 5 things on my list of changes I'd like.

    Leave a comment:


  • Jungle_Boy
    replied
    Originally posted by Magnate
    Hmmm. I wonder if I can just clarify the basic proposition here. It seems to have two parts:

    1. Resists should be cumulative in some way a la O/FA. (Currently only one perm plus one temp are cumulative.)

    2. Resists should be variable in their effect. (Currently some are and some aren't.)

    The first point was in the OP but not the reworked table. I'm quite open to the idea of moving to cumulative resists, but why wouldn't we just adopt the O/FA system? It's tried and tested; I'm not sure what its deficiencies are but I'd want to know that if there were any we were proposing something that improved upon them.

    On the second point, I really don't like variable resists. IMO they are something that adds "realism" at the expense of gameplay (having to memorise the worst-case of the variable range). If there are good reasons for having variable resists, can we at least make them all vary by the same amount, and make the amount smaller, like 5-10%?

    On the whole it's not clear how this improves on the current system.
    I guess I really didn’t explain very well what I was thinking about doing and then when I got to looking at the numbers I changed my mind anyway.

    Originally I was looking at two things;
    1) Make the system simpler and easier to understand
    2) Make the second resist worth something

    Then once I was looking at things I decided I liked the variable resists. The benefits of the new system are that it is extremely easy to code and we don’t need to change any mechanics. It also gives us a random “cumulative-like” effect which I kind of liked, and we don’t have to change the angband code to look for a second resist which is good since I do not know how to do that. It is definitely not simpler though and does nothing about having a second resist foo.

    The reason for not going with the O/FA system is I do not like how each item has a different amount of resist. I.e. You can have 5 rings of resist cold each with a varying amount of resistance. I like the vanilla implementation where you either have it or you don’t.

    Part of the problem is that the max damage for the basic four is so much higher than the others that it’s difficult to find a common damage adjustment that would work for both. It will probably still need to be two separate equations

    As for variable resists and having to memorize worst case scenario, in the proposed system worst case on the basic four is the same as before and for all the other elements it’s 75% of max. If you wanted to make things easier you could make those max damages the same, they are pretty similar already. This is actually quite a bit simpler than the current implementation.

    Here is a list of changes I would like to see.
    1) Resists should be either all variable or all fixed
    2) Second resist should be worth something, only second though and it should be a nice perk not necessary for survival, and probably only if we go with fixed resists.
    3) Damage reduction for the other elements should be the same across the elements
    4) Possibly make max damages the same for other elements
    5) Possibly make double resists not quite so powerful, currently blocks 89% of damage

    I think there would be a couple ways to implement stacking resists in vanilla.
    1) Rewrite the code to check for a second resist in the current equipment. Not sure how easy/difficult this would be to do
    2) Give resists a Pval, perhaps limited to one or two, then we could decide whether multiple items would stack or not. This gets closer to the O/FA model which I think complicates items too much. But it would at least be visible without ‘I’nspecting an item and summing Pvals to get a total resistance would be pretty easy.

    Leave a comment:


  • Timo Pietilä
    replied
    Originally posted by buzzkill
    While I personally favor the FA/O system, I have no opinion on whether V should adopt it or not, and wasn't suggesting that it be ported to V.

    However, only in the early game, would you be likely to only have a single resist (or none at all). By the time resists start to really matter, there will be stacking. It would be hard to avoid.

    Ripped from the FA ladder, a CL42 character.

    Code:
     Acid:+.....+......  66% Confu:...+...+.....  86%
     Elec:+.....+.+....  72% Sound:....+........  45%
     Fire:+..+..+.+....  93% Shard:.......+.....  55%
     Cold:+.....+......  67% Nexus:.............   0%
     Pois:.............   0% Nethr:.............   0%
     Lite:.............   0% Chaos:......+......  44%
     Dark:........+....  39% Disen:.......+.....  43%
    Looks like defender weapon. A bad choice in vanilla. Cold 50% meet Tarrasque = toast.

    It's really really easy in vanilla to go with only one item with basic four resist for majority of the game, because you simply can't get better gear with multiple. Have combination of Caspanion and Thorin and you are already in trouble finding all basic four covered.

    I really don't see any reason to change this too to more complex version (which every single suggestion has been this far).

    Leave a comment:


  • Nomad
    replied
    I would definitely be in favour of removing the random element from the higher resists. With different damage caps for the elements plus multiple different random resist ranges with bizarre, hard to conceptualise limits (Quick! No stopping to calculate it properly, what's 5/7 to 5/12 of 500 HP as a rough range?) the most information I am ever capable of retaining about how higher resists work is "resist = less damage than no resist".

    Base resists, I know I can just divide the max damage by three and get a ballpark estimate of how low my HP can dip before I'm in danger of instadeath. And really, that actually encourages me to play a more risky game, sticking around to melee things because I think I know my margin for error instead of fleeing the scene early because I've got no clear idea of how much damage I might take in a turn.

    Leave a comment:


  • EpicMan
    replied
    And while we're at it, we should remove the variable damage resist from the high elements. Right now they are useless as damage reducers and high elements have low maximums to compensate. They work very differently from the base 5 resists and that is not really explained to new players.

    Why not make the high resists also block damage the same (down to 1/3) as the base 5? That way they work like the player expects them to. Otherwise we might as well remove the resistances and replace them with status effect protection. That situation would be mostly the same as today except that it is much more apparent to players what the "high resistances" really are.

    Leave a comment:


  • buzzkill
    replied
    Originally posted by Timo Pietilä
    In vanilla with single resist being only 50% you are toast for most games. This kind of change would require complete overhaul of entire item base.
    While I personally favor the FA/O system, I have no opinion on whether V should adopt it or not, and wasn't suggesting that it be ported to V.

    However, only in the early game, would you be likely to only have a single resist (or none at all). By the time resists start to really matter, there will be stacking. It would be hard to avoid.

    Ripped from the FA ladder, a CL42 character.

    Code:
     Acid:+.....+......  66% Confu:...+...+.....  86%
     Elec:+.....+.+....  72% Sound:....+........  45%
     Fire:+..+..+.+....  93% Shard:.......+.....  55%
     Cold:+.....+......  67% Nexus:.............   0%
     Pois:.............   0% Nethr:.............   0%
     Lite:.............   0% Chaos:......+......  44%
     Dark:........+....  39% Disen:.......+.....  43%

    Leave a comment:


  • Magnate
    replied
    Originally posted by Timo Pietilä
    In vanilla with single resist being only 50% you are toast for most games. This kind of change would require complete overhaul of entire item base.

    No thank you, I rather stick with current system than play several iterations of unbalanced games for few years to get them right.
    Whereas I would be happy to iterate over several dev versions in order to balance a new system, if I was convinced of the advantages of moving to it.

    ;-)

    Leave a comment:


  • Timo Pietilä
    replied
    Originally posted by buzzkill
    I second Magnate's (FA/O) point.

    In your above example, it would be an item with a 66% resist (numbers that big are uncommon/non-existent IIRC), a second item with a 50% resist (common), plus a temp resist (not sure how those work in FA/O).

    As you progress through FA/O you end wearing many identical resists, so the individual resist numbers are a bit smaller, single resists are generally a bit weaker. 50% resist for base elements is common and 10% to 20% for high resists, with 20% being the magic number to avoid side effects.

    Not trying to harsh your buzz, but it looks very similar to me.
    In vanilla with single resist being only 50% you are toast for most games. This kind of change would require complete overhaul of entire item base.

    No thank you, I rather stick with current system than play several iterations of unbalanced games for few years to get them right.

    Leave a comment:


  • buzzkill
    replied
    Originally posted by Jungle_Boy
    What I am thinking of is a simpler system that would not involve changing items at all. At least for the basic four something like this, first resist works as now, second resist blocks half remaining, temp resist blocks 1/6 remaining.
    I second Magnate's (FA/O) point.

    In your above example, it would be an item with a 66% resist (numbers that big are uncommon/non-existent IIRC), a second item with a 50% resist (common), plus a temp resist (not sure how those work in FA/O).

    As you progress through FA/O you end wearing many identical resists, so the individual resist numbers are a bit smaller, single resists are generally a bit weaker. 50% resist for base elements is common and 10% to 20% for high resists, with 20% being the magic number to avoid side effects.

    Not trying to harsh your buzz, but it looks very similar to me.

    Leave a comment:


  • Magnate
    replied
    Hmmm. I wonder if I can just clarify the basic proposition here. It seems to have two parts:

    1. Resists should be cumulative in some way a la O/FA. (Currently only one perm plus one temp are cumulative.)

    2. Resists should be variable in their effect. (Currently some are and some aren't.)

    The first point was in the OP but not the reworked table. I'm quite open to the idea of moving to cumulative resists, but why wouldn't we just adopt the O/FA system? It's tried and tested; I'm not sure what its deficiencies are but I'd want to know that if there were any we were proposing something that improved upon them.

    On the second point, I really don't like variable resists. IMO they are something that adds "realism" at the expense of gameplay (having to memorise the worst-case of the variable range). If there are good reasons for having variable resists, can we at least make them all vary by the same amount, and make the amount smaller, like 5-10%?

    On the whole it's not clear how this improves on the current system.
    Last edited by Magnate; August 22, 2011, 13:45. Reason: misplaced apostrophe

    Leave a comment:


  • Jungle_Boy
    replied
    Here's a little something I whipped up this evening. Should be pretty easy to code and test but I don't have a compiler.

    Current resistance system:

    Code:
    Element	Max	Divisor	    Res Adj	Dbl Res Adj	Vuln Adj		Res damage		Dbl Res damage	Vuln damage
    Acid	1600	3	(dam+2)/3	(dam+8)/9	(dam*4)/3		534		178.667	         2133.333
    Elec	1600	3	(dam+2)/3	(dam+8)/9	(dam*4)/3		534		178.667	         2133.333
    Fire	1600	3	(dam+2)/3	(dam+8)/9	(dam*4)/3		534		178.667	         2133.333
    Cold	1600	3	(dam+2)/3	(dam+8)/9	(dam*4)/3		534		178.667	         2133.333
    Poison	800	3	(dam+2)/3	(dam+8)/9			        267.333		89.778	
    							                                   Min res damage	Average Max res damage	
    Nether	550	6	(((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6))				471.429	347.368	275	
    Light	400	6	(((dam) * 4) / (damcalc(1, 6, dam_aspect) + 6))				228.571	168.421	133.333	
    Dark	400	6	(((dam) * 4) / (damcalc(1, 6, dam_aspect) + 6))				228.571	168.421	133.333	
    Sound	500	6	(((dam) * 5) / (damcalc(1, 6, dam_aspect) + 6))				357.143	263.158	208.333	
    Chaos	500	6	(((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6))				428.571	315.789	250	
    Disench	500	6	(((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6))				428.571	315.789	250	
    Nexus	400	6	(((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6))				342.857	252.632	200	
    Shards	500	6	(((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6))				428.571	315.789	250	
    Time	150	3	No resist		
    Inertia	200	6	No resist
    Gravity	200	3	No resist			
    Plasma	150	6	No resist				
    Force	200	6	No resist				
    Mana	1600		No resist
    Proposed New System:

    Code:
    Element	Max		Max	Average	Min	Dbl Max	Average	Dbl Min	Vuln Max	Average	Vuln Min			
    Acid	1600		533.333	426.667	320	320	256	192	2133.333	2026.667	1920			
    Elec	1600		533.333	426.667	320	320	256	192	2133.333	2026.667	1920		Single Res Adj	((dam*(damcalc(1,5, dam_aspect)+5))/30)
    Fire	1600		533.333	426.667	320	320	256	192	2133.333	2026.667	1920		Double Res Adj	((dam*(damcalc(1,5, dam_aspect)+5))/50)
    Cold	1600		533.333	426.667	320	320	256	192	2133.333	2026.667	1920		Vuln Adj	        ((dam*(damcalc(1,3, dam_aspect)+17))/15)
    Poison	1000		333.333	266.667	200	200	160	120						
    														
    Nether	550		412.5	343.75	275									
    Light	400		300	250	200									
    Dark	400		300	250	200									
    Sound	500		375	312.5	250		Res Adj							
    Chaos	500		375	312.5	250		((dam*(damcalc(1,5, dam_aspect)+7))/16)							
    Disench	500		375	312.5	250									
    Nexus	400		300	250	200									
    Shards	500		375	312.5	250									
    Time	150													
    Inertia	200													
    Gravity	200													
    Plasma	150													
    Force	200													
    Mana	1600
    Basic 5 One resist blocks 67% to 80%
    Double resist blocks 80% to 88%
    Poison max damage changed from 800 to 1000

    Result: Single resist is on average about 7% better than previous, while double resist is about 5% worse. Poison more dangerous

    Others One resist blocks 25% to 50%
    Result: Light, Dark and Sound are slightly more dangerous than previously, others have a slightly lower max but same min and same average damage

    Vulnerabilities increase damage taken by 20% - 33% vs the previous 33%

    Using the damcalc function in the numerator allows us to get an average in the middle of the range vs the previous skewing toward the low end of damage taken

    Overall high resists and the basic four are more valuable while temporary resists are slightly less helpful but still a good thing to have. This is a boost to warriors and low level characters who cannot easily get the resist spell but also helps characters who's temporary resist has worn off unnoticed or ends in the middle of a fight

    Leave a comment:

Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎