Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Vanilla

Reply
 
Thread Tools Display Modes
Old March 24, 2016, 16:23   #1
fizzix
Prophet
 
Join Date: Aug 2009
Location: Madison, Wisconsin, US
Posts: 3,002
fizzix is on a distinguished road
Mucking around with confusion and monster status effects

This has bothered me for a long time, and it's bothered other people too. (see discussion here for example).

So I started playing around a bit with confusion at first just to get a feel for how this works, and then maybe start thinking about how to improve it. I wized up a character and had him cast repeatedly on a hill orc and output various game variables so I could see what was going on.

How does confusion work in Angband

When you attempt a confusion spell on a monster, the first thing that happens is there is a calculation of damage which is essentially the amount of turns the effect should last. (This is different for sleep but it shouldn't be because we should distinguish between magical sleep and natural sleep, but I digress.)

The difficulty of the saving throw is given by

Code:
resist_chance = mon->race->level + 40 - (timer / 2);
where "timer" is the damage. If a monster rolls lower than the resist_chance it successfully resists. Uniques get two attempts.

This leads to the following behavior.

1) The chance for a monster to resist a status effect is at its lowest around 40%

2) The chance to resist is only very weakly dependent on device skill and caster level, the difference between a 38th level rogue casting confuse monster on a hill orc and a 16th level rogue is on average about 6% difference in chance to resist.

3) Device skill has negligible effect. I didn't crunch the numbers explicitly, but it's about a 1-2% difference between device skills of 49 and 81.

Now let's say the effect sticks, great, how long does it last. The issue here is that the timer decreases faster depending on what level the monster is. If it's a hill orc, you get your full turns, but if it's a higher level monster, it decays faster. The exact amount is a random number between 1 and the monster level divided by 10 + 1. So for our hill orc (level 8), it's always 1. For a 20th level monster it will knock on average 1.5 off each turn, and for a 30th level monster, it will be on average 2 turns.

This decrease comes on the monster turns, so fast monsters will have their status effect wear off twice as fast.

What are the problems with this behavior

The problems are confusion (and other status effects) are currently never worth their casting cost. They rarely stick. However, the effects are strong. If you can confuse a monster for 5 turns, you can probably kill it. To date the standard operating procedure has been to keep status effects underpowered, so that they don't stick often, and when they do, they wear off quickly. In other words, they're kind of useless. This really limits us when it comes to interesting tactical combat. Status effects are interesting, and we should make it so.

Purposes of status effects

There are two purposes of imposing a status effect on a monster, the first is to incapacitate it enough that you can defeat it in combat. The second is to disable a dangerous monster so you can escape. The first one is powerful, the second is less so. Confusion is pretty powerful, a confused monster cannot cast anything, and just winds up randomly moving around. Sometimes it attacks you. (It never causes it to attack other monsters though.) Sleep is less powerful, it really only allows a character to escape, or to gain space between the monster and itself, something that could be done with phase door.

Some proposed changes

It's worth reading Derakon's proposed changes above, but I have some of my own.

I think it's ok that confusion is completely debilitating, it just means it needs to be a more limited resource. That's easy to do, just remove the wands from the store. It's already a hard spell to cast, but I'd make it easier for rogues. I think it should be one of the primary ways for rogues to fight in the midgame.

Change the time decrease to global turns not monster turns. So let's say your confusion hits for 10, then each global turn (about 1/100 of a game turn at normal speed) it should drop by 1/100 of a turn. So in other words, set it to 1000, and drop it by one on a global turn. This way fast monsters (who are the most dangerous anyway) don't get a leg up on exiting status effects.

Increase device skill effects. Device skill is such a weak multiplier it's sad. This goes for damaging wands/rods also.

Reformulate how saving throws are calculated. Instead of calculating a binary save value, have the saving through reduce the number of turns on the spell. If it reduces it to zero then the monster has saved. Something like opposing roles are good for this. Here's a first stab. For spells the players roll is level + 10, the monster is monster level, The amount of turns for confusion is the difference between the two, with some maximum (10 turns is reasonable I think). For wands it's the same thing, except instead of level it's device skill. (There may be many better options, like the opposing 1d20 + bonus that's used in Sil)

Let's see how this works against our hill orc. Our level 16 rogue, rolls 1d26 against the 1d8 of the hill orc, and has roughly a 82% chance of success. Against an Uruk (level 16) about a 67% chance. Against an OoD young red dragon (level 31) you would have only a 38% chance.

Close rolls cause the monster to lose its turn to avoid the effect. One of the biggest problems with status effects is that you give up a turn. There is actually double the risk here because you have a significant chance of failing the spell or using the device correctly. So I would say that if a monster passes the save by less than 10 it does not get the effect, but loses its next turn, as it spends it recovering. This takes some of the sting out of failed attempts.

Remove faster recovery for higher level monsters. Instead, they get a better die roll.

Uniques save at 10 levels higher. I like this better than giving them an extra roll.

Differentiate between magical sleep and normal sleep. This also gets rid of some of the special casing hacks for sleep in mon-timed. But the idea here is that magical sleep decreases in the same way, regardless of how alert the monster is. Then sleep can become a first level mage spell, and a good way for mages to escape combat situations early. Scare monster should be the priest version of this although we have to be careful with overpowering this in the midgame. An easy way to make this more of an escape and less of an offensive spell is to give a scared monster another saving through whenever they take damage.

I like Derakon's ideas for slow, provided it can stack. I also like changing monster stunning, which can hopefully be used in the new combat system whenever that comes online.

Thoughts?
fizzix is offline   Reply With Quote
Old March 24, 2016, 16:37   #2
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,796
Derakon is on a distinguished road
My first-glance thought is that rather than take away the monster's roll on a near-success, couldn't you just slightly penalize the monster roll globally? Then they're only confused for a single turn, which is very much like losing their turn but doesn't require special logic to handle it.

I'm also not a huge fan of rolling 1dX where X is large. 1d20+bonus or even 3d6+bonus has a more pleasant distribution IMO. 1dX tends to lead to situations where you succeed (or fail!) by comically huge margins.

And of course, the bottom line (as I emphasized in the thread you referred to) is: is this something the player is going to prefer to do over simply attacking the monster?
Derakon is online now   Reply With Quote
Old March 24, 2016, 17:28   #3
fizzix
Prophet
 
Join Date: Aug 2009
Location: Madison, Wisconsin, US
Posts: 3,002
fizzix is on a distinguished road
Quote:
Originally Posted by Derakon View Post
And of course, the bottom line (as I emphasized in the thread you referred to) is: is this something the player is going to prefer to do over simply attacking the monster?
Yeah, I think this is sort of where I'm headed to.

Sleep, scare: These are early level escapes good until about dlevel 30 or so. They allow a weaker character to neutralize a threat, but not eliminate it, allowing them to get to the stairs or another safe place.

Slow, confuse: These are expensive but useful ways to defeat tougher monsters. They start coming online around dlevel 15 and extend to about dlevel 50, topping out on stuff like Ancient Dragons. I think, in my ideal world, confuse and melee kill is the predominant way for a rogue to beat midgame uniques. Slow would be the ideal way for a non-existent druid class to do the same.

Stun: I see this as mainly a combat thing, which isn't implemented yet. I think this is pretty much where we should be going with heavy weapons. A good blow with a heavy weapon comes with a disabling effect. This is down the road.


The saving through is something that I didn't spend much time thinking about. There are probably better formulas to use. Do you have any suggestions?
fizzix is offline   Reply With Quote
Old March 24, 2016, 17:47   #4
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,796
Derakon is on a distinguished road
Quote:
Originally Posted by fizzix View Post
The saving through is something that I didn't spend much time thinking about. There are probably better formulas to use. Do you have any suggestions?
No, I don't, since I expect this is something that's going to require some playtesting.

Something to consider re: sleep is its potential as a group disabler early on. What if the only available version of Sleep Monster tried to affect everything in LOS? Then young characters could plausibly use it to break up orc groups into more manageable fights, or try to keep a unique's escorts at bay while they fight the unique.
Derakon is online now   Reply With Quote
Old March 24, 2016, 19:57   #5
fizzix
Prophet
 
Join Date: Aug 2009
Location: Madison, Wisconsin, US
Posts: 3,002
fizzix is on a distinguished road
Quote:
Originally Posted by Derakon View Post
No, I don't, since I expect this is something that's going to require some playtesting.
Well I think we can do better at the start by finding out what effects we want and how long they should last, and then we can come up with a formula that fits that result. Then playtesting makes sense of course.

for now let's just consider the 2x2 matrix:

char level 15 (earliest a rogue can cast confuse) and 40

monster level 15 and 40.

four those 4 combinations what should the chance of success be, and how long should the duration be?

Then we can come up with a formula that fits those 4 points somewhat well, and we can extrapolate to all other values to see how well it does across the whole spectrum.
fizzix is offline   Reply With Quote
Old March 24, 2016, 20:07   #6
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,796
Derakon is on a distinguished road
Quote:
Originally Posted by fizzix View Post
four those 4 combinations what should the chance of success be, and how long should the duration be?
Okay...

rogue 15 / orc 15: rogues are bad at casting (in particular, most rogues do not have good INT stats at this level), so even if this is a comparatively easy spell, I wouldn't expect them to be very good at it. So this combination should have a high chance of success.

rogue 40 / orc 15: maximum success rate. Personally I say that means 100%, but I know some people prefer to always have some minute chance of failure. Even then I wouldn't put it lower than 98%.

rogue 15 / orc 40: what are you doing rogue. Please stop. If you're in this situation, you've already done many things wrong, and I'm not convinced you should reasonably be able to lean on Confuse to save you. In particular, this pair sets the floor for the next pair. Call it 5%?

rogue 40 / orc 40: At this point, most significant fights are one-on-one with single nasty enemies, and the rogue can afford to cast Confuse more or less indefinitely. Making the spell reliably effective would probably make it overpowered given its debilitating effect on monsters. I wouldn't put it higher than 33%.
Derakon is online now   Reply With Quote
Old March 24, 2016, 20:46   #7
wobbly
Veteran
 
Join Date: May 2012
Location: Adelaide, Australia
Posts: 1,995
wobbly is on a distinguished road
From my perspective a mechanic like confusion becomes more interesting if it's not a straight level calculation. For instance if a troll is tough but easy to confuse/sleep you can bring them in sooner as the warrior can tank them & the rogue/mage can confuse/sleep them. The priest needs an answer (though maybe detect evil & light wands is enough?). While there's probably too many enemies to give them all will values something like an easy_confuse flag on big, tough, dumb creatures? Anyways, just an idea.
wobbly is offline   Reply With Quote
Old March 24, 2016, 21:23   #8
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 54
Posts: 7,650
Donated: $60
Nick is on a distinguished road
This is an awesome thread. Without getting into the detail, here are a couple of things that spring to mind:
  • Given monster status effects are close to useless currently, improvements are going to give more power to the player. That's fine, but we need to keep in mind that we've done that and give the monsters something in return (and I have plenty of ideas for that )
  • wobbly's idea makes me think monsters need more personality. Currently we have smart or dumb monsters, and a bunch of bans on status effects; variants like O also have a spell power which is independent of monster level. I'd like to redo that as having personality attributes, which combine to affect things like cleverness and power of spellcasting, resistance to status effects, etc.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old March 24, 2016, 21:25   #9
Nomad
Knight
 
Nomad's Avatar
 
Join Date: Sep 2010
Location: England
Posts: 958
Nomad is on a distinguished road
Quote:
Originally Posted by wobbly View Post
While there's probably too many enemies to give them all will values something like an easy_confuse flag on big, tough, dumb creatures? Anyways, just an idea.
You could give the monster types in monster_base vulnerability (and resistance?) flags for the various different status effects - EASY_CONF, EASY_SLEEP, EASY_SCARE, etc. Could add a bit of an interesting tactical element if individual status effects reliably work on specific groups of monsters. Maybe hounds are easily scared, trolls are easily confused, giants are easily slowed, dragons are easily put to sleep, etc.
Nomad is offline   Reply With Quote
Old March 24, 2016, 22:05   #10
Estie
Veteran
 
Join Date: Apr 2008
Location: Germany
Posts: 1,636
Estie is on a distinguished road
Another use for status effect not mentioned is to reduce the amount of monsters acting against you. For example, sleep a room full of orcs and fight one at a time.

In Angband, this isnt a very powerfull ability since monsters start out sleeping and if many are awake, you leave the level rather than put them to sleep again. Also, fighting in bottlenecks makes maintaining a 1v1 situation easy.

I dont really see great potential for confusion, unless maybe for a mage or other ranged attacker. The random movement is going to make any melee combat awkward and long, certainly not something that should become the default mode of fighting ? Slow seems like a much preferred debuff for the melee fighter.

The problem with all this is that the premise is wrong: there is very little incentive to kill tough monsters. Inventing elaborate ways for fighting previously unkillable monsters is fine, but there also has to be a good reason to bother.

For example, take Ithangast. Typically my encounters with him proceed as follows:

The first times I see/detect him his breath would 1-hit me and I stay away as much as possible. When my hit points catch up, he still is fast and while I could suvive a round or two, it would be foolish to fight him yet. Later, assuming I am fast and have fire resistance, I could kill him, but would use many potions and lose half of my consumables to his fire, so I dont.
If I happen to have a source of double fire resist, this might change.

But note that I do not devote 2 slots for stacks of resist fire/cold potions, because inventory space is too precious. While this is a buff and not a debuff, it is still an indicator of how little worth the ability to fight tougher monsters has.

Eventually, when he has become a walkover fight, I kill him and profit from increased quality of his drop due to lower dungeon level.

So if you want to introduce more powerfull debuffs, it seems to me you first need to shift the reward away from depth more towards monster drops.

Lastly, there is one debuff which isnt in the game but would be very usefull: an effect that reduces damage, either all damage or at least breath damage, to get out of 1-hit land more easily. Maybe call it "debilitation" and have the afflicted creatures damage reduced by 1/3, with a short but fixed duration if it works - no randomness here as that would make the effect basically useless. Of course, the monsters are also entitled to use it on @.
Estie is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
morale and status effects seraph Sil 3 February 3, 2016 00:24
A new way of managing effects Magnate v4 9 November 18, 2011 10:04
Str effects Merlin Vanilla 2 May 5, 2011 06:18
Stat Effects Merlin Vanilla 5 April 26, 2011 21:31
Chaos -> Confusion effect preventer? Timo Pietilš Vanilla 24 June 3, 2010 22:49


All times are GMT +1. The time now is 00:13.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.