[Relz] Sneaking Detection Recalibrated (#7)

Post » Thu May 03, 2012 2:48 am

A bit of news. I am on the verge of releasing the next beta, but would like some feedback on the new NPC detect life / night-eye features:

Should creatures be allowed to have abilities such as night eye and detect life? Initially, I let everything be able to have it, but it doesn't quite sit right with me to allow Bay Horses to have Detect Life spells.

So I have a few options here:
1. Restrict it to non-creature types only
2. Allow certain types of creatures to have the chance of having the spells (such as undead can have detect life perhaps?)
3. Significantly reduce the chance of a creature from having a spell (perhaps 1/10 of the chance, and no bonus for skills)
4. Some other option I haven't thought of
5. Some combination of the above

Lemme know your thoughts on the subject, and I should have a beta ready by this weekend.
User avatar
Max Van Morrison
 
Posts: 3503
Joined: Sat Jul 07, 2007 4:48 pm

Post » Thu May 03, 2012 7:35 am

Of the choices offered, I tend to favor "option 2".
User avatar
Allison Sizemore
 
Posts: 3492
Joined: Wed Jul 19, 2006 6:09 am

Post » Thu May 03, 2012 6:54 am

I think certain creatures should always have a certain spell/ability. Others not at all.
User avatar
Benjamin Holz
 
Posts: 3408
Joined: Fri Oct 19, 2007 9:34 pm

Post » Thu May 03, 2012 12:09 pm

I don't think creatures should have this as spells, it should either be an inherent ability if it fits for them, or they don't have it at all (the norm). The only creatures I could imagine to have it as spells are lichs, to which I have given it as an ability as of now. Maybe ghosts could have detect life, but only a very small radius like 10 feet, to simulate that they "sense" your presence if you get close to them. However, couldn't that be done separetly from detect life, in a way that it also works when they have turned their back on you?
Aside from that I could only imagine giving night eye to some animals, but no idea if that is actually realistic. Do wolfs/lions etc see that good in the dark?

Is it possible to detect collision, to have them detect you when you bump into them? With invisibility it's still easily possible to shove actors around unnoticed.
User avatar
Robert Garcia
 
Posts: 3323
Joined: Thu Oct 11, 2007 5:26 pm

Post » Wed May 02, 2012 9:08 pm

I agree with Kobal with the exception of ghosts/undead using something other than detect life. I still like being able to having a chance to sneak up on an undead being.

Also, I don't think every creature needs night eye and especially not detect life. So, I guess my vote would be (#5) combo?


Oh, also I tried out the player shader reduction and it works like a charm, with the exception of when you have a companion following you. That's probably because they are always right next to you and are constantly detecting you. :lol: But that's normal. Even the sneak eye does that.
User avatar
james kite
 
Posts: 3460
Joined: Sun Jul 22, 2007 8:52 am

Post » Thu May 03, 2012 10:43 am

Most animals have the ability to see in low-light conditions (nighteye). Daedra shouldn't get either one; magical creatures (trolls, etc.) could get nighteye; undead get none, one, or both, depending on their power - low-level stuff like skeletons and zombies have normal sight; mid-range things like ghosts have detect life (I like that idea, Kobal); and the high-end undead like liches get both (they're spellcasters anyway).
User avatar
Marta Wolko
 
Posts: 3383
Joined: Mon Aug 28, 2006 6:51 am

Post » Thu May 03, 2012 2:51 am

I wish there was a way to detect collision, but so far, I have yet to figure out what it is. The closest thing I have to that is the "line of sight short range bump", but that doesn't really apply. The short range bump does have an inner and outer "ring" in which the short range bumps apply. They start applying at the outer ring, and continue to increase until the cap out at the inner ring. But invisibility is still effective, and you have to be in line of sight for the bumps to work. I could use the inner ring as a "collision" zone, where if the distance between the detector and the target falls within that ring, you are assumed to be collided, and a "collision" bump is applied on top of all other penalties, regardless of LOS, invisibility, etc. Would that work? I'm not actually sure how distance between two objects is measured, but presumably it is center of mass to center of mass, so in most cases about 2 1/2 feet (46 units) would do it. Whatever the "inner ring" setting is, which you can tailor to taste already. It's just a matter of adding one additional ini for the "collision" bump amount, probably the default would be 100, and it would be applied after all other effects, including invisibility, so you are pretty much guaranteed to be detected as long as you remain in "physical contact" range of the other. That's definitely going to make pick-pocketing a bit more tricky.

Yeah, the shader thing is only really useful if you are out sneaking solo at the moment. I *might* be able to disregard detection levels of anyone who is following the player. I can look into that if you like.

Certain animals definitely have better night vision than others, and in those cases, they would probably "toggle" on when the ambient light drops to a certain amount.

Right now the way the mod works is that when a token is assigned to a creature/npc, it runs through a series of checks to see if a spell/power should be assigned, and if so which one. Then in game play, there is another series of checks to determine whether or not the power/spell (if they have one) gets used. Right now, I'm pretty content with how it applies to NPCs. Migck did a great job with the initial scripting and structure, I just moved things around a bit. However, his scripting intentionally ignored creatures, because the vast majority of them wouldn't be able to cast spells. So lets say a power is assigned to an unlikely recipient (such as a horse). I think the way the mod is currently set up, unless they have a "casting" animation, even if they randomly "decide" to cast it, they may be unable to. It would require further testing.

I could, in theory filter out creatures that are incapable of the casting animation. I could also grab the base actor form of any given creature, convert it to a string, and then apply rules based on the string name. That would take a LOT of work, deciding who gets which powers and when / how to apply them. And it might be limiting to the users who don't have an English version of Oblivion. Although no one has stepped forward to offer to translate SDR, so I imagine the demand is probably low.

I'd rather create a simple set of rules that could be easily applied. For instance, I could do a combo of IsUndead and actor.GetLevel in which only undead of a minimal level (say Nether Lich) would have a chance of having these spells available to them. And I could make it an ini setting for each special case. Right now I have flags for SDR handling vampires and Khajiit, so if you have another mod that does that already, you can turn off SDR's feature for that one category, allowing the other mod to handle it. I could do something similar for undead.

I forget if there is an IsAnimal flag to separate typical animals from typical monsters. If there is, an animal night eye effect could be applied.

Also, the way the mod works is that if the recipient is randomly alotted a spell/power, the level of the spell is determined by their skill in the school. The problem is that creatures don't have skills, and when you do a skill check, it returns 50 for all of them, which means they usually end up with a Journeyman or better spell, even if they are a cheapo zombie. I'm thinking again that level needs to be taken into account here for creatures to determine actual equivalent "skill", although most should really have 0.

As I said, it gets complicated when you throw creatures into the mix. More feedback will be very welcome.
User avatar
Siidney
 
Posts: 3378
Joined: Fri Mar 23, 2007 11:54 pm

Post » Thu May 03, 2012 3:04 am

You know I was thinking the same thing about it being a lot of work to specify which type of creature gets the benefits and which do not, but I didn't want to insult you by saying so. It'd be like a creature overhaul, which is another whole mod in itself. I think what you have in mind is more than good enough imo. Is this going to be a Perks/patches feature or is going to have an option to turn it off? I'm still on the fence on whether I'd want anything other than NPCs to use it.

With the player shader and companion problem, that'd be great if you can easily fix it, but again, don't go out of your way to do it just for me.
User avatar
Claudz
 
Posts: 3484
Joined: Thu Sep 07, 2006 5:33 am

Post » Thu May 03, 2012 6:45 am

The NPC Behavior is going to be a separate .esp, with all features optional via .ini.

The core sdr mod applies towards everyone, perks and patches is player oriented, and NPC Behavior is oriented towards, well, NPCs.

I think what I am going to is restrict the creature options to only the undead of a minimal level for detect life, and whatever monsters / animals use the cat skeleton for night eye. That'll provide enough variety. Ini settable of course.

I'll see what I can do about followers.
User avatar
Eibe Novy
 
Posts: 3510
Joined: Fri Apr 27, 2007 1:32 am

Post » Thu May 03, 2012 2:29 am

I am not sure if going by level is such a good idea. There might be more undead than lichs with a high level in a modded game which are not suitable for the spells. If you want to capture lichs in particular, you could use isSpellTarget AbLichResist.
User avatar
Stefanny Cardona
 
Posts: 3352
Joined: Tue Dec 19, 2006 8:08 pm

Post » Wed May 02, 2012 9:59 pm

I am not sure if going by level is such a good idea. There might be more undead than lichs with a high level in a modded game which are not suitable for the spells. If you want to capture lichs in particular, you could use isSpellTarget AbLichResist.
That's brilliant. Thank you sir!

Edit: Didn't quite work (required using Oblivion.esm as a master, which I am trying to avoid), however the skeleton.nif model path has the word "Lich" in it, so I was able to use that. This is great, because it makes liches slightly extra special.
User avatar
Jordyn Youngman
 
Posts: 3396
Joined: Thu Mar 01, 2007 7:54 am

Post » Thu May 03, 2012 12:09 am

THOUGHTS ON NIGHT-EYE / NIGHT VISION:

So I've got an idea for how to handle animals / creatures that have natural "night vision". First of all, you should understand that game mechanics of having the Night-Eye effect active is to multiply the amount of light on the target by 3 (that's the default Oblivion game setting). So basically, everything is three times brighter to someone who has the night-eye spell effect.

From the PC perspective, you get this cool blue shader thing, or if you use Kurtee's mod, and even better shader thing.

Game mechanics-wise, I kinda think the night-eye thing blows, especially with the new SDR detection system. Now for those of you who have been playing SDR, the vast majority of you have not had to worry about detectors with night eye, since it's not in the leveled lists, which basically means that unless they were wearing a magic item that had the effect, it's basically just been a feature that hasn't been in play.

So that gives me an opportunity to "rewrite" the rules of night-vision: Who has it naturally, what do magical versions do, and how does it apply.

In reading up on how night vision in animals really works, it's effective in low light conditions, and doesn't really impact what is seen during the day. SDR doesn't have a cap on the amount of light hitting a player, which means that the default night-eye effect of a base *3 is still fairly useless in very dark areas, and over kill in mid-to-bright areas. Not exactly the desired effect.

I'm already using the AddActorValues for handling custom features for actors and npcs, so I can utilize this plug-in to set a "night-vision" actor value for all players when tokens are added. Depending on what the value is, it determines whether or not they have night vision, and how good it is. This value reflects a person's / creature's natural night-eye ability. Mechanics wise, instead of forcing the NPC/creature to cast a spell, or grant a magical "ability", the plug-in just reads the AddActorValue token, and calculates bonuses based on that. I just have to figure out the algorithm.

Most NPCs and Creatures will probably not have natural night-eye vision, and figuring out which should and should not have it is slightly problematic because of how Oblivion is structured. I can't do a "get base creature" type and return with an Ogre. However, I can trace back the file path to where the skeleton is. So for instance, anything that is a Dog or Mountain Lion would have some form of night vision (as long as they are not undead). I can also capture the race as a string and then parse the string, looking for Ohmes and Khajiit, so they can be separated out for natural night-eye ability. Vampires do not have it naturally, it's a magical ability that they have to activate (Hunter's sight), and that's fine, because all the rules for that are already in place).

In order to not have Oblivion.esm as a master, and also to avoid potential conflicts, the "Night-Eye" spells available to the player character have been duplicated and renamed for the NPCs. These spells are custom to the plug-in and only apply to NPCs when handing out spells. This assures that if the player's night-eye spells get overwritten or removed that the NPCs are not also affected. I think it's unlikely anyone is messing with these spells anyway, unless it's another stealth mod, in which case there's probably all sorts of other conflicts already. For those that cast the spell, the "power" of the spell would be granting the caster the night-vision "grade" of a Khajiit, since that is essentially what the player is assumed to get if they cast the night-eye spell. It was probably invented by a Khajiit mage, or certainly working in conjunction with one to "get it right".

Now all of this is fine and good for NPCs and critters, but what I'd REALLY like is an "auto-on" option for player characters who play races that have the night-vision ability naturally. Just like an Argonian player character doesn't have to cast a spell to breathe water, a Kahajiit or Ohmes player character should not have to cast a spell for the night-vision shader effect to kick in. Basically, when the light level that hits the player hits a certain threshold, or perhaps it's just the overall ambient light level, the night vision shaders will automatically kick in. This would be an entirely optional feature, and personally I think it's only really good with Kurtees night-vision replacement shaders, but it would certainly be more immersive and realistic. I'm half-way tempted to ask Kurtee if I can just build those shaders/features into the mod as part of the whole revamp, because having experienced them, I can't imagine playing SDR without them. Regardless of whether or not you go with an auto-switch or "casting" option, since the ability is inherent and tracked in the new ActorValue token, the player would get the benefit to detecting other characters as if was active, whether the spell has been cast or not, which will help detecting NPCs that have the "fade while sneaking" option turned on.

Anyway, this is all conjecture and theory for now, and will probably be dealt with on a later release, cause it's gonna take some time to figure all that stuff out, and I want to get the latest beta out later today.

So when you folks read this and come up with ideas, a list of creatures by skeleton path that have the ability would be good. I've researched some of the default Oblivion animals:
Those that DO have Night Vision:
Dogs/Wolves have it
Cats (and thus Mountain Lions) do.
Bears have decent night-vision.
Deer have night vision
Cows (and thus Minotaurs, sorry guys)
Horses
Sheep

Those that DO NOT have Night Vision (as far as I can tell):
Rats have terrible vision, day or night, and rely on smells and whiskers.
Boars - not so good either
Crabs - nope
Slaughterfish - no
Any undead - because they're dead, and often don't have eyes, so the fact they can see at all is magical enough.

I am not inclined to give any Daedra night vision, they've got enough going for them anyway, as well as any of the other humanoids (Ogres, Goblins, Scamps, Spriggans, Imps), or weird otherworldly creatures (Atronachs).
I am considering giving the Grummite / Muck Dweller / Baliwog night vision.
Insect and vegetation based creatures would not get it.
Definitely not the will-o-wisps.
Troll is debatable, and I wouldn't mind some input on that.

Other creatures from other mods are possible, it all depends on what they're skeleton path is. Essentially, if they are not on the "list", any creature would get a nightvision value of 0 by default.

That's it for now.
User avatar
StunnaLiike FiiFii
 
Posts: 3373
Joined: Tue Oct 31, 2006 2:30 am

Post » Wed May 02, 2012 11:19 pm

THOUGHTS ON NIGHT-EYE / NIGHT VISION:

That's an ambitious project. The approach sounds good, especially because it allows you to give differing values of amplification to different types.

In nature there are three broad basic categories of sight-predators: daylight, twilight, and nocturnal. Twilight is a compromise between the tradeoffs of the other two, but consequently has a narrower time frame of peak efficiency. But it appears on the surface to have been the most widely adapted form. So if you can break a creature down into one of those categories of when it "hunts", you have a relatively simple classification system which should be all that's needed for this purpose.

As far as the fantasy creatures go, it becomes a question of how "lore friendly" you intend to be. [http://www.uesp.net/wiki/Lore:Books.] Perhaps Leviathan1753 of "Dynamic Leveled Lists" has some ideas from his work on patrols and spawn points as to when some types are active. I would almost suggest a INI file of the creature types (paths) and categories but seriously doubt most people would bother to change whatever you come up with.

Have you considered that as vision becomes less dependable, creatures naturally shift to more dependence upon other senses, primarily sound? A daylight hunter becomes primarily an "auditory hunter" at night. I would think it highly unlikely for a naturally evolving creature with "detect life" to develop "night vision" at all. Especially if you consider "detect life" to be the equivalent of "thermal vision". But auditory senses are complementary to visual senses. A nocturnal hunter will suffer from glare in the daylight, but good hearing is independent of light levels. Of course, being too sensitive to noise has it's own drawbacks, such as requiring more isolation to get any sleep.

-Dubious-
User avatar
Myles
 
Posts: 3341
Joined: Sun Oct 21, 2007 12:52 pm

Post » Wed May 02, 2012 9:08 pm

Hey Dubious,

I like your angle of keeping it simple: Daylight / Twilight / Nocturnal. It's pretty close to what I was thinking. 0 for Daylight, 1 for Twilight, 2 for Nocturnal. And then have a set of light adjustment curves for Twilight and Nocturnal (Daylight would be the default lighting behavior), that would be ideal.

As for the Detect Life feature, no creatures are going to get it except Liches, and even that's optional. It just doesn't make a whole lot of sense for any other creature type to have it for several reasons - many already will have super powers, and those with night vision, bad or good, wouldn't have it either. It's a purely magical ability, and I don't think it should be innate. It's a spell, and it has to be cast. So other than Liches, Vampires, and NPC spell casters, I'm not planning on handing it out to anyone else.

If there was some way to include an "XML" or even text form that could get processed with something like:
Category SkeletonFolder VisionType
Creature Boar 0
Creature Deer 1
Creature MountainLion 2
Race Khajiit 1
Race Imperial 0
etc. etc.

That would be swell, because then I cold just load up all the data in an array. That way folks could customize the list for special scenarios or to taste, and updating the list would just be a matter of posting a new download file instead of rewriting the mod!

I could use the same technique for handling peripheral vision too (which is currently hardcoded into the system)

Anyway, it's something I'm going to put on the "to do list". I need time to let it sit. The main thing I'm not sure of is to how to adjust the "light effectiveness" based on the vision type. That's the most difficult part for me.
__________

In other news, Strategy Master gave me permission to include his SM Combat Hide code into the new SDR NPC Behavior mod. So it will not only handle Detect Life and Night Eye spells, it will also have all the SM Combat Hide features built into it. I've just finished the first pass on everything, and am going to test it tonight, with a possible release later this evening if all goes well.

__________

Edit: Went mostly well. Bug squashing took longer than I hoped. Still have one more feature to look into. Good night for now.
User avatar
Rachel Eloise Getoutofmyface
 
Posts: 3445
Joined: Mon Oct 09, 2006 5:20 pm

Post » Thu May 03, 2012 9:43 am

So that gives me an opportunity to "rewrite" the rules of night-vision: Who has it naturally, what do magical versions do, and how does it apply.
Coolio.

Now all of this is fine and good for NPCs and critters, but what I'd REALLY like is an "auto-on" option for player characters who play races that have the night-vision ability naturally.
Ask and ye shall receive: http://www.tesnexus.com/downloads/file.php?id=13678

Any undead - because they're dead, and often don't have eyes, so the fact they can see at all is magical enough.
I was basing my criteria largely on D&D, where undead have darkvision (which is effectively what nighteye is, and is magical, of course). The fact that most of them require magic to see in the first place pretty much automatically qualifies them for darkvision. Undead spend most of their time in dark crypts and caves, so it doesn't make much sense to prevent them from being able to see in the dark, right? I presume that skeletons and zombies have little to no hearing under SDR rules, so your ability to hide from them wouldn't be hindered all that much - just stay out of their LOS.

Troll is debatable, and I wouldn't mind some input on that.
I see trolls as using scent more than eyesight to find their prey (not that their eyesight is bad, mind you... just that they have a keen sense of smell). Mythological trolls are nocturnal - they turn to stone in sunlight - but Oblivion trolls appear to be diurnal, obviating the need for nighteye.

Anyway, it's something I'm going to put on the "to do list". I need time to let it sit. The main thing I'm not sure of is to how to adjust the "light effectiveness" based on the vision type. That's the most difficult part for me.
Can you just change the multiplier? You said regular nighteye is 3x light-magnification, so that would work for the truly nocturnal creatures; the twilight category (I forget the proper term) could have x2, and diurnal get x1 (i.e., no nighteye). Cava Obscura modifies the ambient lighting in caves (lowers it to 10% of normal), but I don't know how that works - I think he did it manually.

Is there a way to detect the level of ambient light in a given area (say, 50 to 100-foot radius) and dynamically adjust the actor's nighteye to keep it at a given level? For example, daylight is 100%. (Vanilla) caves are, say, 50%. We don't want nighteye to make things bright as day, though, so let's make it 60% (roughly equivalent to torchlight). If you walk into a cave, your nighteye will kick in, raising the ambient light level to 60%. If someone casts a light spell on you (80%), SDR detects it and turns your nighteye off (since the light spell is brighter) until the light spell wears off/is dispelled.

To avoid scripting overload, have the check occur every 5 seconds or so - it takes our eyes several seconds to adjust to a new light level anyway, depending on how much the difference is. This would also prevent stuff like the player going from a dark passage to a brightly-lit room to another dark passage - if you're just running through, your eyes wouldn't realistically have time to adjust, and the game wouldn't have to process the radical change in lighting.

In other news, Strategy Master gave me permission to include his SM Combat Hide code into the new SDR NPC Behavior mod. So it will not only handle Detect Life and Night Eye spells, it will also have all the SM Combat Hide features built into it. I've just finished the first pass on everything, and am going to test it tonight, with a possible release later this evening if all goes well.
Sweet!
User avatar
Manny(BAKE)
 
Posts: 3407
Joined: Thu Oct 25, 2007 9:14 am

Post » Wed May 02, 2012 8:43 pm

Hey walker, I want to check out the link, but I get an instant error message. Can't find the file.

I could do a straight multiplier, but if the actor/creature has it on all the time, it becomes an exceedingly unfair advantage, because currently there is no cap on the end lighting amount. Mind you, that's a carry over from the last system, amd with the exponential, short range and collision bonuses, it may be worth putting a cap on it now. I'll have to play with it. Personally I'd rather have a controlled curve somehow.
User avatar
Susan
 
Posts: 3536
Joined: Sun Jun 25, 2006 2:46 am

Post » Thu May 03, 2012 5:58 am

Hey walker, I want to check out the link, but I get an instant error message. Can't find the file.

It's not just you. Suspect that ID number is from a previous version of the site.

I could do a straight multiplier, but if the actor/creature has it on all the time, it becomes an exceedingly unfair advantage, because currently there is no cap on the end lighting amount. Mind you, that's a carry over from the last system, and with the exponential, short range and collision bonuses, it may be worth putting a cap on it now.

Big question is: do you have a means of determining both the "current effective" and original "light level"? Mods like "Cava Obscura" might drop the light level to 10% of the unmodified level, but you want to be able to determine both what the effective level is to apply your vision multiplier to, and the unmodified level in order to cap your effect appropriately. Sounds like one for the OBSE team.

Great news about including "Combat Hide". Balances off the additional ESP slot for "NPC Behavior" nicely, not to mention it's neat features.

-Dubious-
User avatar
Lily Evans
 
Posts: 3401
Joined: Thu Aug 31, 2006 11:10 am

Post » Thu May 03, 2012 9:53 am

It's not just you. Suspect that ID number is from a previous version of the site.
Found this: http://tes.nexusmods.com/downloads/file.php?id=24914
But I haven't looked at it. And I suspect it probably just automatically casts a spell, rather than what I want to do which is swap out the shaders without an actual active spell effect. But I'll check it out anyway. Maybe it will point to something. Kurtee's mod might actually have the solution built into it as well.
// EDIT: Looked at the above, and yeah, it's what I thought it would be, and not what I'm looking for.

Big question is: do you have a means of determining both the "current effective" and original "light level"? Mods like "Cava Obscura" might drop the light level to 10% of the unmodified level, but you want to be able to determine both what the effective level is to apply your vision multiplier to, and the unmodified level in order to cap your effect appropriately. Sounds like one for the OBSE team.
Well, in order to calculate the "effective" light level, I needed to capture the current light level, so "yes". The idea here is that you capture the current light level, and if the actor has a night vision variant, depending on the type and the current light level, it will determine the "effective" light level. It's just a matter of determining how the calculation works. It's basically an algorithmic formula with a weird curve to it for the night vision types that spike more on the early side, rather than the default linear. So if x = the actual light level, y = the adjusted light level. For default sight, y will always = x. For night vision, it will be on a curve, rather than a straight multiple, that should approach but never exceed 100. I think the simplest thing to do is decide when a vision type has the equivalent of "50". Default would be at 50, Twilight vision would be at 35, and Night vision would be at 20. They would all still have 0 in complete darkness and 100 in complete light, but the rest would be on a curve (except the default).
// EDIT: It just occurred to me that the difference between a curve and a line is going to be insignificant when the "50" level as the key point. Basically, I can just use two lines. One for up to the 50 point mark, and another for after the 50 point mark. Plus, I can use just one equation for all three vision types. So I think I'm going to do that for the sake of time and mathematical sanity.

Great news about including "Combat Hide". Balances off the additional ESP slot for "NPC Behavior" nicely, not to mention it's neat features.
-Dubious-
That's true, but part of the reason for doing it was the new SDR Detect Life features would actually "break" SM Combat hide. The default SM Combat Hide only checks to see if detect life is cast, which, since in most cases no NPC casts the spell anyway, the feature would not have any effect. But with NPC Behavior handling detect life, it would kick in. But SM Combat hide does not check to see if the detector is facing the player, or whether or not the player is within range of the detect life spell. So, yeah. Kills two birds with a single stone. The one thing I did remove was the SM Combat Hide / SM Bounty compatibility, because I'm not familiar with it, and I'm really just focusing on SDR integration at the moment.

With the player shader and companion problem, that'd be great if you can easily fix it, but again, don't go out of your way to do it just for me.
I've added a new optional feature to the core program that allows you to force any "follower" to have a specific detection level (0 by default). This impacts the game as follows:
1. Regardless of what detection level you set, if a follower is in follow mode, they will follow you.
2. If you set it to 0 and below, then you can pick-pocket / steal in their presence without being "caught" / "seen"
3. You can also pick pocket the follower if you can get behind them with impunity since they will never "detect" you.
4. If you are using the PlayerFadesWhileSneaking, followers will never be taken into account when determining the max current detection level against the player.
5. There is a performance boost when it comes to followers of the player, because when checking detection against the player the detection formula will exit very early.
EDIT: 6. If you force their detection level to 0 or lower, your sneak skill will rise pretty quickly. So the suggested detection default is now 1.
This feature will be available in the next release.
User avatar
Naomi Lastname
 
Posts: 3390
Joined: Mon Sep 25, 2006 9:21 am

Post » Thu May 03, 2012 3:21 am

I was basing my criteria largely on D&D, where undead have darkvision (which is effectively what nighteye is, and is magical, of course). The fact that most of them require magic to see in the first place pretty much automatically qualifies them for darkvision. Undead spend most of their time in dark crypts and caves, so it doesn't make much sense to prevent them from being able to see in the dark, right? I presume that skeletons and zombies have little to no hearing under SDR rules, so your ability to hide from them wouldn't be hindered all that much - just stay out of their LOS.
That's actually a very good question. If they have magic vision, why not magical hearing? If you think about ghosts, for instance, they are "historically" able to carry on conversations, so they must hear "something". I'm inclined to leave the hearing as is (except for headless types). I did manage to figure out how to create / apply three different types of vision settings with different thresholds. And as far as I can tell, it should work fine. Basically there is:
Type   Description   Threshold  Applies to  0	 Day Vision	 50	 All races except Khajiit, most humanoid creatures, Daedra, Rats, Boars, Crabs, and default for anything not specified below.  1	 Twilight	 35	 Undead, Trolls, Grummites/Baliwogs/Mudcrawlers, Deer, Sheep, Minotaurs (cows), Horses, Fish  2	 Night Vision    20	 Khajiit, Mountian Lions/Cats, Dogs/Wolves, Bears
This list may change, and I'm hoping to figure out some way to have text file that can be custom / adapted to take into account other mods and user preferences.

Can you just change the multiplier? You said regular nighteye is 3x light-magnification, so that would work for the truly nocturnal creatures; the twilight category (I forget the proper term) could have x2, and diurnal get x1 (i.e., no nighteye). Cava Obscura modifies the ambient lighting in caves (lowers it to 10% of normal), but I don't know how that works - I think he did it manually.
Is there a way to detect the level of ambient light in a given area (say, 50 to 100-foot radius) and dynamically adjust the actor's nighteye to keep it at a given level? For example, daylight is 100%. (Vanilla) caves are, say, 50%. We don't want nighteye to make things bright as day, though, so let's make it 60% (roughly equivalent to torchlight). If you walk into a cave, your nighteye will kick in, raising the ambient light level to 60%. If someone casts a light spell on you (80%), SDR detects it and turns your nighteye off (since the light spell is brighter) until the light spell wears off/is dispelled.
I'm going with a simple "threshold" system. The actual light level on the target is calculated, and then the "effective" light level of the target is calculated depending on where the actual light level falls in relation to the threshold. That means that no night vision can make the final light level greater than 100, and 0 will always mean total darkness. Basically, whatever threshold number a vision type is set to, is the equivalent of a light level of 50. So in the case of someone with vision type of 2 (Night Vision) and threshold of 20, some example light level conversions would go as follows:
Day Vision     Twilight      Night Vision    0		    0		   0   10		   14		  25   20		   29		  50   30		   43		  56   40		   54		  63   50		   62		  69   60		   69		  75   70		   77		  81   80		   85		  88   90		   92		  94  100		  100	  	 100

To avoid scripting overload, have the check occur every 5 seconds or so - it takes our eyes several seconds to adjust to a new light level anyway, depending on how much the difference is. This would also prevent stuff like the player going from a dark passage to a brightly-lit room to another dark passage - if you're just running through, your eyes wouldn't realistically have time to adjust, and the game wouldn't have to process the radical change in lighting.
I like this idea. I'll see what I can do with it.
User avatar
Emily abigail Villarreal
 
Posts: 3433
Joined: Mon Aug 27, 2007 9:38 am

Post » Thu May 03, 2012 10:09 am

I'm inclined to leave the hearing as is (except for headless types).

Perhaps something to consider later, after we see how the vision works out. (I'm getting impatient to try it out.)

I'm going with a simple "threshold" system.

Interesting. I had been thinking along the lines of elliptical distributions, with twilight as a bell shape and day/night as inverses of each other, in order to represent the drawbacks to the respective types under the opposite conditions they are optimized for. But this looks simpler to implement, and processing the script in 5 second intervals to react to changing light levels should work just as well to reflect the disadvantages of sudden extreme changes, assuming something like a "light spell" has an immediate effect on the effective light level. Makes sudden light blooms on target in the dark into an offensive weapon. (Just what an "out of the box" type character should be doing.)

Really appreciate you sharing how your thinking has been evolving in this process. It makes things more comprehensible as we implement.

As to swapping out shaders: Have you looked at "Toggle Shaders" [http://tes.nexusmods.com/downloads/file.php?id=25512]? It uses keys to toggle "Night eye" and "Detect Life" shaders on and off. You would just be replacing the key press with light levels as the trigger. No spell or "magic" side effects.

Re: reading a text file. How is this different than reading an INI file? You just put the contents into an array (which I know OBSE can handle) when you initialize your mod. I believe Tejon is doing something similar with "Fundament" [http://tes.nexusmods.com/downloads/file.php?id=41005]. In fact, you might be able to "piggyback" this on Fundament, as his system is designed to allow additional INI files be added to build arrays of data available across mods. I've seen at least one other author verifying this point. To quote his download page: "Fundament is a generalized replacement for countless small mods, including its predecessor, Progress. Through simple initialization files the user can edit skill advancement rates, game settings, and even Oblivion.ini settings (without any permanent changes to Oblivion.ini itself). Fundament edits only what you specify in the initialization file: anything you leave out isn't touched." It loads before the game menu, so it's contents are always available. Check it out.

-Dubious-
User avatar
Sophie Payne
 
Posts: 3377
Joined: Thu Dec 07, 2006 6:49 am

Post » Thu May 03, 2012 2:07 am

Actually, the 5 second thing for toggling auto nighteye for the Khajiit is only going to end up applying to the player when determining the shader effect, as it is a first person immersive option. Everything else is instant math, and processed within the detection formula: if NPC has vision type A, and target has light level x, the effective light level will be y.

The problem I am having with the .ini is I don't want to hard code all the creatures and races, and I'd love for it to be flexible enough so that folks can create add new creatures to the lists without me having to release a new .esp all the time. However, RunBatchScript can't run a "set StringVar to String", nor can it use any let statements. Basically it can only do commands that are available to the console. However, I'd really like to keep the dependency on other plugins as low as possible. So I'm looking into other possibilities, such as global variables and string game settings, the first could be applied to the .esp, the second to the .dll.

However, that's going to take more time than I have, as I am behind schedule on another project. I'm just going to hardcode the stuff for now, and figure out the rest later.
User avatar
Star Dunkels Macmillan
 
Posts: 3421
Joined: Thu Aug 31, 2006 4:00 pm

Post » Thu May 03, 2012 7:32 am

Re: Khajiit Nighteye: I copied the link from an archive I had; I must've copied the wrong one by accident. The one you found was the same one I did. :)

That's actually a very good question. If they have magic vision, why not magical hearing? If you think about ghosts, for instance, they are "historically" able to carry on conversations, so they must hear "something".
Well, yeah... I figure they'd have normal hearing (i.e., equivalent to a normal human), nothing supernatural. Vampires, OTOH, have long been portrayed as having supernatural hearing, so it wouldn't be remiss to give them a bonus (although then they might become too powerful; I use StarX VVR, for example, and even the lowest level vampires have lots of nasty tricks).

I'm going with a simple "threshold" system. The actual light level on the target is calculated, and then the "effective" light level of the target is calculated depending on where the actual light level falls in relation to the threshold. That means that no night vision can make the final light level greater than 100, and 0 will always mean total darkness. Basically, whatever threshold number a vision type is set to, is the equivalent of a light level of 50.
You lost me there, but as long as you know what you're doing... :P.

I like this idea. I'll see what I can do with it.
I thought of something else, which may or may not work with your threshold idea - slowly adjusting the nighteye effect over time - say, several points per second, akin to the way normal eyes dilate or contract to adjust. If you walk from a dark cave into the sunlight, you should realistically be blinded for a few seconds.
User avatar
Rachael
 
Posts: 3412
Joined: Sat Feb 17, 2007 2:10 pm

Post » Thu May 03, 2012 5:34 am

I thought of something else, which may or may not work with your threshold idea - slowly adjusting the nighteye effect over time - say, several points per second, akin to the way normal eyes dilate or contract to adjust. If you walk from a dark cave into the sunlight, you should realistically be blinded for a few seconds.
To some extent, that's almost an entirely different feature, which would be separate from calculating the effective light amount, and would also be separate from the vision type, although I suppose the vision type could be a factor in the change.
Basically we are talking about utilizing the AV Blindness stat, which isn't really used by anyone other than the Blind Moth Monks. What could be done, is something like:
set lightchangecheck to 5 ; number of seconds to check light changes
set lightchangethreshold to 50 ; light level difference from last check to cause temporary blindness, and could go either direction, from dark to light or visa versa
set lightchangepenalty to 50 ; this is the amount of blindness applied, and would decrease by 10 until the next threshold check.
personally, the problem I see is that this sort of thing might be happening alot, but it still might be fun. I'll think about it for a later release.
User avatar
Claire Lynham
 
Posts: 3432
Joined: Mon Feb 12, 2007 9:42 am

Post » Thu May 03, 2012 10:19 am

4.2.1.beta is available for download/testing here: http://tes.nexusmods.com/downloads/file.php?id=37385

I'm pretty sure everything is working, but before making it official and updating the documentation, I'd love for folks to test it out.

YOU MUST UNINSTALL THE PREVIOUS VERSION ENTIRELY, then do a clean save, then install the new files.

(P.S. the new files aren't on BOSS yet, but having them load last won't hurt anything)

Changes from 4.1 to current version include the following (4.2.0 and 4.2.1):
Sneaking Detection Recalibrated 4.2.1 BETA
- Renamed all .esps and .dll
- Revised token distribution for more even numbering (internal stuff you won't notice)
- Added new "collision" distance bump
- Moved "headless" .esp quest variables into OBSE plugin game settings
- Option to assign followers of the player to have a forced detection level.
- Option to have night eye auto-toggle on and off for player if light on player is below a defined threshold.
- Revised how "night vision" abilities are assigned to NPCs and calculated effects within the Detection Formula.
- Minor bug fixes / efficiency changes.
NPC Behavior 1.0.0 BETA
- Adds features to randomly add spells/powers to NPCs and Liches allowing them to cast Night-Eye or Detect Life. (Idea and original scripting by Migck, donated to SDR)
- Folded in a slightly modified version of SM Combat Hide (with Strategy Master's permission)
Perks and Patches 1.2.1 BETA
- Minor bug fixes / efficiency changes.
- Added compatibility patch for Basic Primary Needs

Sneaking Detection Recalibrated 4.2.0 BETA
- Fixed audio detection formula glitch
- Fixed issue where dead actors were turning invisible with detection package 0
- Removed/added various SDR game settings
- Removed need for "Sprinting flag" to calculate movement penalties, which now dynamically goes off of the movement rate
- New formula change in terms of how movement penalties/multipliers are calculated and applied.
- Added max chameleon value cap, before effectiveness is calculated.
- Added variables to determine how much a given armor/cloth category can be off-set with skills.
- Added feature that has the player character fade depending on how well he is being spotted.
- Changed third party penalties to just a general bonus to detect or avoid detection, affected by distance.
- Revised and upgraded many of the formulas (Sight/Skill/Sound)
- Fixed error with how "effective" Sneak skill was calculated when taking into account Luck.
- Revised and expanded options for debugging detection of Player.
Perks and Patches 1.2.0 BETA
- Made default sprint key the "X" key, because there were too many conflicting mods with the grab key.

Misc.
- Recomendations for sneak icons when working with HUD Status Bars (available on SDR website)
- Other stuff I have probably forgotten.
User avatar
Anna Krzyzanowska
 
Posts: 3330
Joined: Thu Aug 03, 2006 3:08 am

Post » Thu May 03, 2012 8:25 am

Thanx mucho for the update beta, saebel. :thumbsup:

You have quite rightly billed it as "the most comprehensive, feature-rich Oblivion stealth mod out there."
User avatar
ImmaTakeYour
 
Posts: 3383
Joined: Mon Sep 03, 2007 12:45 pm

PreviousNext

Return to IV - Oblivion