Hiding, Invisibility and Silence - How it works, How to fix
Posted: June 3rd, 2010, 4:07 am
After extensive testing, here are some comments on the Hide in Shadows / Invisibility / Move Silently system in the game.
How it works now:
Invisibility
If you are invisible and hit or damage (not sure which) someone with a melee attack, arrow or thrown weapon, they will start tracking you. They will chase after you until they lose track of you, attacking you if they can. What's rather nice is that any buddies they may have nearby will not join in - so you can use invisibility to eliminate a crowd of enemies one by one without being ganged up on, even using melee attacks. They will have a massive -90% penalty to hit you while you are invisible as well.
If you are invisible and damage someone with a magic attack, they will become hostile (if they weren’t) and start wandering around (as opposed to standing still in one place) but they will not start tracking you. In many cases this makes sense, but there are cases where I don’t think it does. For example: 1) Fire dart. You can tell where my invisible archer is from the direction of the arrow that just hit you in the night, but you can’t figure out where that flaming dart just came from? I don’t think so. If you can trace a projectile or similar to the caster it should trigger tracking. 2) In some cases no actual direct damage is done, but hostile/wandering/possibly tracking should be triggered anyway. Sonic blast should trigger all three even if no damage is done and the stun is resisted. (Right now an NPC can actually be stunned, even while the player is obviously visible, and not trigger a consequence.) Toxic element currently triggers hostility, but not wandering or tracking (try it on Lord Brumbleton’s stationary guards and watch them just stand there and slowly lose health). It should trigger all three (tracking because it’s a spray that could be tracked to its source). 3) Turn undead. I didn’t check this one, but casting this on an undead should certainly let them know where you are (else how can they be repulsed away from you)? It should trigger hostile/wandering/tracking (although they may be running away from you rather than chasing after you for a while). It need not have any effect on non-undead, but there’s no reason it couldn’t.
When you become invisible (including a recast/requaff if you already are invisible) any enemies tracking you immediately lose track of you. This is the most powerful benefit of invisibility (so powerful it pretty much destroys the system).
Hide in Shadows
Hide in shadows is rather buggy at the moment, and as such has become rather overpowered. So long as you are hidden in shadows, your enemies cannot attack you. (They might track you and mill around your position though.) That makes good sense. However, it’s not hard to ensure you don’t lose your hidden status - and that's the buggy part.
Spells will not cancel your hidden status as long as they don’t generate light – and that includes spell attacks. You can cast a spell and either wait or move without immediately losing your hidden status.
If you make a ranged or melee attack while hidden, you will not immediately lose your hidden status. However, if you then wait or move you will lose your hidden status. The solution is to keep attacking, or cast some spells, or change your equipment around, until all your enemies are dead. Then if you wait or move you may lose hidden status but it’s likely to come back after just one round.
Similar to the case for invisibility, if you attack with a melee attack, arrow or thrown weapon your enemy will start tracking you. If you damage them with a magic attack (that does not generate light) they will become hostile (if they weren’t) and start wandering around (if they were stationary) but they will not start tracking you.
Combining Invisibility and Hide in Shadows
One of the most cheesy, overpowered things you can do in the game is pump up Hide in Shadows and learn the Invisibility spell (even at just level 1). Use the Hide in Shadows to wipe out your enemies from a safe position, and should they ever start to track you or should you need to regain your hidden status just apply a quick Invisibility.
Hey what about Move Silently?
Move silently currently has no real effect on the game – at least as it’s currently working. There’s one possible exception I can think of – if you’re going for a challenge that requires you not be detected in a criminal act, you might care about move silently. Otherwise, so what if someone “hears a crime being committed”? As long as they don’t see you, it doesn’t seem to matter. (If there are significant cases where it does that I’ve missed, feel free to mention them!)
In principle move silently, and the concept of noise in general, should act as a limiter on the power of Invisibility and Hide in Shadows. Currently however it doesn’t. If you’re invisible, you can be as noisy as you want right next to an enemy (while cutting down his chums for example), if you don’t actually hit them they won’t start tracking/attacking you. Same thing goes for Hiding in Shadows.
Move silently has some additional bugs too. So far you don’t get the Dexterity bonus effect on your skill (which should probably be around +1 per 5 stat points I’d guess). Also, there is an extra round of delay between doing something and it showing up in your silence status, which is a problem (not to mention a bit confusing until you figure out what’s happening).
How to Fix the System
My suggestion is to adjust the system as follows:
First a definition: “Awareness” – a creature/NPC may be aware of your location (at least approximately) or not. An enemy that is tracking you is aware of you, as is an undead that may be repulsed away from you, and an NPC may be aware of you even if they are not tracking/chasing after you. Hopefully this lines up well with how the game engine is already set up…
1) When the player generates light, in the next round
a) Remove any hidden status (this happens now I believe)
b) If the player is invisible, all creatures in line-of-sight (even if they are turned the wrong direction) gain awareness of the player (this is new)
2) When the player generates noise that can be heard by someone, in the next round if any who heard the noise are still alive
a) Remove any silent status
b) Remove any hidden status
c) If the player is invisible, all who heard the noise and now have line-of-sight to the player (even if they are turned the wrong direction) gain awareness of the player
3) When the player is hidden, if any creature that has the player in view (line-of-sight and turned the right direction) notices the player (either they can see hidden, or they manage to spot hidden - there's a mechanism for this in the game already, not sure exactly how it works), then
a) Remove any hidden status
4) In general awareness can be maintained even if line-of-sight is lost (the game does this now when enemies are chasing you). I suggest the following:
a) A player may not gain hidden status if a creature is aware of and is able to see the player (they have line-of-sight and they are turned the right direction). If they turn around you can hide on them. In general hide-in-shadows should be applied immediately if it can be applied. The player may quickly lose that hidden status again via some sort of spot hidden (which I've seen happen from time to time), because of noise, light, and so forth.
b) When a player gains hidden status creatures do not lose their awareness immediately, but could for example continue to search for the player (right around the player!) for a while before finally giving up (losing awareness at that point). Hidden status still means you can't be attacked. So long as the player can stay quiet enough, they might not be found… In a similar way awareness should also be lost if line-of-sight is lost for a long enough period of time.
c) When a creature loses line-of-sight with an invisible player, they immediately lose awareness of the player (unless they can see invisible). Other creatures in the way do not count as losing line-of-sight.
d) When a player becomes invisible creatures who do not have line-of-sight with the player lose awareness of the player (unless they can see invisible). Other creatures in the way do not count as losing line-of-sight.
e) Recasting/requaffing invisibility has no effect other than to reset the invisibility timer. (It does not cause all creatures to lose awareness of the player).
5) When the player hits a creature with a melee attack, ranged attack, or a spell that gives away its source (per comments above) this makes the creature aware of the player. If the attack is point-blank (adjacent), and the creature survives the attack, the player also automatically loses hidden status if they had it. Otherwise they do not automatically lose it. (Of course, if they made noise they might lose it for that reason.) This allows for more interesting sniper strategies…
6) For player benefit it may be very helpful to add an “undetected” (or alternately a “detected”) status indicator to let the player know when someone/something is aware of them or not. Note that I can be silent, hiding in shadows and invisible and still be detected.
Hope that helps!
How it works now:
Invisibility
If you are invisible and hit or damage (not sure which) someone with a melee attack, arrow or thrown weapon, they will start tracking you. They will chase after you until they lose track of you, attacking you if they can. What's rather nice is that any buddies they may have nearby will not join in - so you can use invisibility to eliminate a crowd of enemies one by one without being ganged up on, even using melee attacks. They will have a massive -90% penalty to hit you while you are invisible as well.
If you are invisible and damage someone with a magic attack, they will become hostile (if they weren’t) and start wandering around (as opposed to standing still in one place) but they will not start tracking you. In many cases this makes sense, but there are cases where I don’t think it does. For example: 1) Fire dart. You can tell where my invisible archer is from the direction of the arrow that just hit you in the night, but you can’t figure out where that flaming dart just came from? I don’t think so. If you can trace a projectile or similar to the caster it should trigger tracking. 2) In some cases no actual direct damage is done, but hostile/wandering/possibly tracking should be triggered anyway. Sonic blast should trigger all three even if no damage is done and the stun is resisted. (Right now an NPC can actually be stunned, even while the player is obviously visible, and not trigger a consequence.) Toxic element currently triggers hostility, but not wandering or tracking (try it on Lord Brumbleton’s stationary guards and watch them just stand there and slowly lose health). It should trigger all three (tracking because it’s a spray that could be tracked to its source). 3) Turn undead. I didn’t check this one, but casting this on an undead should certainly let them know where you are (else how can they be repulsed away from you)? It should trigger hostile/wandering/tracking (although they may be running away from you rather than chasing after you for a while). It need not have any effect on non-undead, but there’s no reason it couldn’t.
When you become invisible (including a recast/requaff if you already are invisible) any enemies tracking you immediately lose track of you. This is the most powerful benefit of invisibility (so powerful it pretty much destroys the system).
Hide in Shadows
Hide in shadows is rather buggy at the moment, and as such has become rather overpowered. So long as you are hidden in shadows, your enemies cannot attack you. (They might track you and mill around your position though.) That makes good sense. However, it’s not hard to ensure you don’t lose your hidden status - and that's the buggy part.
Spells will not cancel your hidden status as long as they don’t generate light – and that includes spell attacks. You can cast a spell and either wait or move without immediately losing your hidden status.
If you make a ranged or melee attack while hidden, you will not immediately lose your hidden status. However, if you then wait or move you will lose your hidden status. The solution is to keep attacking, or cast some spells, or change your equipment around, until all your enemies are dead. Then if you wait or move you may lose hidden status but it’s likely to come back after just one round.
Similar to the case for invisibility, if you attack with a melee attack, arrow or thrown weapon your enemy will start tracking you. If you damage them with a magic attack (that does not generate light) they will become hostile (if they weren’t) and start wandering around (if they were stationary) but they will not start tracking you.
Combining Invisibility and Hide in Shadows
One of the most cheesy, overpowered things you can do in the game is pump up Hide in Shadows and learn the Invisibility spell (even at just level 1). Use the Hide in Shadows to wipe out your enemies from a safe position, and should they ever start to track you or should you need to regain your hidden status just apply a quick Invisibility.
Hey what about Move Silently?
Move silently currently has no real effect on the game – at least as it’s currently working. There’s one possible exception I can think of – if you’re going for a challenge that requires you not be detected in a criminal act, you might care about move silently. Otherwise, so what if someone “hears a crime being committed”? As long as they don’t see you, it doesn’t seem to matter. (If there are significant cases where it does that I’ve missed, feel free to mention them!)
In principle move silently, and the concept of noise in general, should act as a limiter on the power of Invisibility and Hide in Shadows. Currently however it doesn’t. If you’re invisible, you can be as noisy as you want right next to an enemy (while cutting down his chums for example), if you don’t actually hit them they won’t start tracking/attacking you. Same thing goes for Hiding in Shadows.
Move silently has some additional bugs too. So far you don’t get the Dexterity bonus effect on your skill (which should probably be around +1 per 5 stat points I’d guess). Also, there is an extra round of delay between doing something and it showing up in your silence status, which is a problem (not to mention a bit confusing until you figure out what’s happening).
How to Fix the System
My suggestion is to adjust the system as follows:
First a definition: “Awareness” – a creature/NPC may be aware of your location (at least approximately) or not. An enemy that is tracking you is aware of you, as is an undead that may be repulsed away from you, and an NPC may be aware of you even if they are not tracking/chasing after you. Hopefully this lines up well with how the game engine is already set up…
1) When the player generates light, in the next round
a) Remove any hidden status (this happens now I believe)
b) If the player is invisible, all creatures in line-of-sight (even if they are turned the wrong direction) gain awareness of the player (this is new)
2) When the player generates noise that can be heard by someone, in the next round if any who heard the noise are still alive
a) Remove any silent status
b) Remove any hidden status
c) If the player is invisible, all who heard the noise and now have line-of-sight to the player (even if they are turned the wrong direction) gain awareness of the player
3) When the player is hidden, if any creature that has the player in view (line-of-sight and turned the right direction) notices the player (either they can see hidden, or they manage to spot hidden - there's a mechanism for this in the game already, not sure exactly how it works), then
a) Remove any hidden status
4) In general awareness can be maintained even if line-of-sight is lost (the game does this now when enemies are chasing you). I suggest the following:
a) A player may not gain hidden status if a creature is aware of and is able to see the player (they have line-of-sight and they are turned the right direction). If they turn around you can hide on them. In general hide-in-shadows should be applied immediately if it can be applied. The player may quickly lose that hidden status again via some sort of spot hidden (which I've seen happen from time to time), because of noise, light, and so forth.
b) When a player gains hidden status creatures do not lose their awareness immediately, but could for example continue to search for the player (right around the player!) for a while before finally giving up (losing awareness at that point). Hidden status still means you can't be attacked. So long as the player can stay quiet enough, they might not be found… In a similar way awareness should also be lost if line-of-sight is lost for a long enough period of time.
c) When a creature loses line-of-sight with an invisible player, they immediately lose awareness of the player (unless they can see invisible). Other creatures in the way do not count as losing line-of-sight.
d) When a player becomes invisible creatures who do not have line-of-sight with the player lose awareness of the player (unless they can see invisible). Other creatures in the way do not count as losing line-of-sight.
e) Recasting/requaffing invisibility has no effect other than to reset the invisibility timer. (It does not cause all creatures to lose awareness of the player).
5) When the player hits a creature with a melee attack, ranged attack, or a spell that gives away its source (per comments above) this makes the creature aware of the player. If the attack is point-blank (adjacent), and the creature survives the attack, the player also automatically loses hidden status if they had it. Otherwise they do not automatically lose it. (Of course, if they made noise they might lose it for that reason.) This allows for more interesting sniper strategies…
6) For player benefit it may be very helpful to add an “undetected” (or alternately a “detected”) status indicator to let the player know when someone/something is aware of them or not. Note that I can be silent, hiding in shadows and invisible and still be detected.
Hope that helps!