Jump to content

Question about Wait and Sleep


Elgar

Recommended Posts

Hi,
 
According to Shurah, the Wait menu "can cause all sort of troubles under specific circumstances", in addition to the usual NPCs clustering we often see. When I asked him more details, he replied :
 

From my experience, the wait menu can teleport NPCs in areas impossible to reach, unless you use the console. The NPCs can be teleported only if they use specific procedures. Through experimentations, I managed to identify these procedures. For information, I don't use these broken procedures to make my AI packages.
You never noticed this, mainly because you didn't follow all the NPCs in your game.

 
This made me wonder, are Wait and Sleep technically different ? I mean, isn't the Sleep function a sort of Wait in bed which provides some resting bonuses, and isn't the Wait function a Sleep without bed and without bonuses ? From an "engine point of view" if I may say. :P

 

Just curiosity.

Link to comment
Share on other sites

Functionally I don't think those are any different. You are still passing time and the NPCs will still need to warp to their proper destinations at some point during both procedures.

 

The chances of you noticing NPCs getting "stuck" are smaller when you sleep though simply because sleeping areas are usually indoors, so you can't do that everywhere. It's probably more noticeable with the Wait menu only because you can do that just about anywhere.

 

I'm not sure what AI procedures Shurah is referring to because when he says stuff like that, it's never fully explained so people can see what's going on. It's also not true that the can only teleport using specific procedures. That function is innate to the system. They WILL warp to their proper location if your wait/sleep extends past when they should have gone to the inn or something, as an example.

 

So until I see it explained otherwise, I see nothing to support this idea that warping breaks things and is the result of improper procedure use.

Link to comment
Share on other sites

Thank you Arthmoor for your reply.

 

The quote from Shurah was a bit out of context, sorry it's my fault. Shurah was initially speaking about the potential harmful effects of a mod named Multiple Floors Sandboxing :

 

When a NPC uses a "sandbox" procedure, he will try to use any furniture in the radius area, even if the furniture is located in an inaccessible area (a locked room for example or an area not covered by navmeshes). When a NPC tries to use a furniture located in an inaccessible area, the NPC will send a request to the pathfinding algorithm, but the pathfinding won't find any solution, as a result, the NPC will stop to move (waiting for a solution from the pathfinding algorithm) until that his current AI package is removed.

Due to the way I've designed the AI, the NPCs won't try to use furnitures located in inaccessible areas. However if you increase fSandboxCylinderTop & fSandboxCylinderBottom, this bug will be back in some areas.

 

 

In his other statement (the quote in my first post), maybe he meant that with inappropriate or incorrectly set sandbox procedures an NPC could be teleported in a wrong area when using the Wait menu. I suppose his line should be : "the wait menu can teleport NPCs in areas impossible to reach, unless you use the console. The NPCs can be teleported in these areas only if they use specific procedures".

Link to comment
Share on other sites

I've seen the claims about the multiple floor sandbox thing. I don't believe they have any merit as I've seen no evidence of it failing in my own game and I've had that setting in place for ages. At no point has an NPC ever dropped out of the game that should be somewhere expected. If they were temporarily placed in an inaccessible area, time passing will simply cause them to get warped back out again anyway.

 

I much prefer the added realism of NPCs thinking in 3 dimensions instead of 2, and I've yet to see a documented instance of a vanilla cell that has this problem.

Link to comment
Share on other sites

Well, the merit of my innocent question about Wait and Sleep and this thread is that now I discovered these fSandboxCylinderTop & fSandboxCylinderBottom settings, and I'm pretty excited by the improvements made by this little tweak ! :)

 

Since you confirmed that you use it yourself, Arthmoor, could you please tell me if you set values as Multiple Floors Sandboxing does, i.e. 576 and -576 ?

Link to comment
Share on other sites

I've got them set to 512 and -512. Sort of a hard habit to break, I tend to prefer the nice even power of 2 numbers for these things :P

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...