Jump to content

Having trouble with a custom navmesh


Recommended Posts

Hey guys!

For the past few weeks I've been tinkering with Goodsprings' outdoor navmesh, increasing its overall level of detail. I've added more accurate cover for firefights, opened up places the player could get to but NPCs couldn't, more accurately mapped obstacles, and marked polygons that overlap with roads as a "preferred path" so NPCs are more inclined to walk on them. It's lead to NPCs making much more intelligent and believable choices from one moment to the next. I've spent lots of time spawning in NCR and Legion troops just to watch them duke it out, and I can't believe how much of a difference it makes. But if everything were going perfectly, I obviously wouldn't be here writing this post. I started this project knowing nothing about navmeshes and learned as I went, so I don't know if there's something I'm doing wrong. Hopefully someone who knows more about navmeshes than I do will recognize what's causing some of these problems I'm having.

Basically, NPCs are having a very hard time following patrol markers and quest related Xmarkers, especially if I've loaded a file where an NPC was in the middle of moving towards a marker. Upon loading, they'll just stand in place instead of continuing on to the marker. Running EvaluateCurrentPackage on them doesn't set them back on track, nor does killing and resurrecting them. But even if I start a new file and never load, really far away markers seem to eventually cause problems for the NPCs following them. For example, Victor doesn't make it all the way back to his house after making his trip up to the cemetery, and Sunny doesn't quite make it all the way back to the bar after completing the Back in the Saddle quest.

 

Since I'm still really new to navmeshing in GECK, I'm not sure what information is helpful and what isn't. If I glossed over anything important, please tell me and I'll try to clarify!

 

Thanks for reading!!

Link to comment
Share on other sites

  • Replies 61
  • Created
  • Last Reply

Top Posters In This Topic

There's a massive bug that has sort of a 'cult following' of sorts, in that it doesn't seem to be discussed quite so often as most of the other fundamentals of modding, but when you do find a discussion about it, there is an unmistakable fire at work, and it burns with unmatched vitriol.

 

This is a bug I found recently and was shocked I'd never heard of it, and it does sound similar to what you're experiencing. It seems that if your plug-in is not a master file (.esm), there's only so much you can do with navmeshes before the game just can't take it and pathing simply breaks.

 

In my case, I had a basement with roaches, and they had very specific 'setpiece' AI. It all worked perfectly, then I built the rest of the area and it still worked, and finally, when I navmeshed just the adjacent room (extending the same navmesh), I incurred a fully reproducible form of this bug (which takes many forms, though this is my only first-hand experience): everything in the entire space works 100% perfectly -- unless I load my save and test it again. That's right, everything, and the amount of intense scripting and 'scenes' occurring here is extraordinary. But if I die, load my save, quit to the main menu and then load my save, load another save, or anything that doesn't involve closing the application and relaunching the .exe, the roaches will just idle there, or sometimes run full-speed into the wall or door perpetually and never get where their package is meant to bring them. Sometimes they'll even teleport as they idle, gradually materialising closer to the Package Target.

 

So, I found some information on my trusty Google machine, and decided to try my file as an .esm. Flawless results every time. So try that. Just make sure you back up your file. .esp/.esm conversions have a bit of dodginess to them unless you understand them (which I don't).

 

P.S. This bug dates back to I think Oblivion, but certainly Fallout 3, so it's in no way a new problem. You can probably find more information if you look at discussions about the bug in those games as well.

 

Edit: Just remembered, seeing as it's yourself, I found this function the other day and thought of you:

https://geckwiki.com/index.php/SetRestrained

Often mentioned alongside SetUnconscious. I tested it a bit and it was interesting, but I wouldn't say I've much insight to offer on it.

Edited by EPDGaffney
Link to comment
Share on other sites

So the navmesh edits is getting you what you wanted towards crouching in cover for reloading ?

 

But ya like EPDGaffney mentioned ... with that much re navmeshing ... you will want those parts to be in an .ESM

However ... if you are not doing it already ... every change you make to then test out ... you should be toggling archive invalidation. Which can clear up AI buggyness in my experience.

And just keep using the same save spot even though it will throw the message of relying on content that is no longer present. Instead of advancing that save with the new content.

 

At least for being able to test stuff out without having to convert the file every stinking time o_O

Link to comment
Share on other sites

I still don't really know what's an ONAM record, but when I checked the article, I understood it a bit better.

 

Dubious, I noticed in the navmesh section where you quoted me from this thread, there's a colon after 'if I die', which makes it seem that the player character needs to die for the pathing to break, but it's anything that causes you to encounter the same navmesh again, whether in the same save but reloaded, or in a totally different file.

Link to comment
Share on other sites

In my case, I had a basement with roaches, and they had very specific 'setpiece' AI. It all worked perfectly, then I built the rest of the area and it still worked, and finally, when I navmeshed just the adjacent room (extending the same navmesh), I incurred a fully reproducible form of this bug (which takes many forms, though this is my only first-hand experience): everything in the entire space works 100% perfectly -- unless I load my save and test it again. That's right, everything, and the amount of intense scripting and 'scenes' occurring here is extraordinary. But if I die, load my save, quit to the main menu and then load my save, load another save, or anything that doesn't involve closing the application and relaunching the .exe, the roaches will just idle there, or sometimes run full-speed into the wall or door perpetually and never get where their package is meant to bring them. Sometimes they'll even teleport as they idle, gradually materialising closer to the Package Target.

 

So, I found some information on my trusty Google machine, and decided to try my file as an .esm. Flawless results every time. So try that.

 

This is my problem exactly, right down to the idle teleporting NPCs!! Oh my god, reading this is such a huge relief. I'll try converting my .esp later today, and report back here on the result!

 

So the navmesh edits is getting you what you wanted towards crouching in cover for reloading ?

 

But ya like EPDGaffney mentioned ... with that much re navmeshing ... you will want those parts to be in an .ESM

However ... if you are not doing it already ... every change you make to then test out ... you should be toggling archive invalidation. Which can clear up AI buggyness in my experience.

And just keep using the same save spot even though it will throw the message of relying on content that is no longer present. Instead of advancing that save with the new content.

 

At least for being able to test stuff out without having to convert the file every stinking time o_O

 

A better navmesh goes a long way to reduce the amount of bad decisions an NPC might make during a firefight, but they still leave themselves wide open to be headshot while reloading. And even though I've shifted my time and attention to redoing all of the game's navmeshes (ugh...) I still want to fix this problem as well! And I'll be sure to give archive invalidation a try!

Link to comment
Share on other sites

Haha, if it works, that saves you a good week I spent tearing my hair out. I don't know that this is related to archive invalidation, but I could see it. If it is however, it doesn't really solve the problem on mod users' computers, just yours, so using a master file may still be preferred.

 

If you search back a few days for my post on this subject, mongo had some knowledge on master file conversions that he shared, though if it all works fine on the first attempt, you may just want to keep using an .esp and then finalise it as a master. I titled that post something about stuff working fine until I reload a save I think.

Link to comment
Share on other sites

Dubious, I noticed in the navmesh section where you quoted me from this thread, there's a colon after 'if I die', which makes it seem that the player character needs to die for the pathing to break, but it's anything that causes you to encounter the same navmesh again, whether in the same save but reloaded, or in a totally different file.

That's why I say "based on" instead of quoting directly: so any misinterpretations and re-wordings are my fault and not yours. And why I mention I've added the info from a current thread, so you (or anyone else) can review and correct me.

 

So, we want to re-word:

 

But if I die, load my save, quit to the main menu and then load my save, load another save, or anything that doesn't involve closing the application and relaunching the .exe, the roaches will just idle there, or sometimes run full-speed into the wall or door perpetually and never get where their package is meant to bring them.

to:

 

But if anything causes the navmesh to be re-encountered again: even during the same session or any attempt to resume (load my save, quit to the main menu and then load my save, load another save, or anything that doesn't involve closing the application and relaunching the ".EXE"), the roaches will just idle there, or sometimes run full-speed into the wall or door perpetually and never get where their package is meant to bring them.

 

Is that more accurate to your intent?

 

-Dubious-

Link to comment
Share on other sites

I'm not sure how you define 'session' here, whether without relaunching the .exe or without loading a save. To clarify (I mean, maybe, who knows, I'm trying my best but we'll see what happens, I never said I was good at this):

 

If any save is loaded for any reason after I have encountered the navmesh, at least for me with my mod on my computer, the problem will manifest itself. It appears to behave properly if I exit and return to the room without loading a save, but I have really not tested that much. Similarly, I have not tested starting a new game, but I suspect it wouldn't make a difference.

Link to comment
Share on other sites

How about: "But if anything causes the navmesh to be re-encountered again after any attempt to resume the same game session from a previous save point (load my current save, quit to the main menu and then load my save, load another save, or anything that doesn't involve closing the application and relaunching the ".EXE"), the roaches will just idle there, or sometimes run full-speed into the wall or door perpetually and never get where their package is meant to bring them. Sometimes they'll even teleport as they idle, gradually materialising closer to the Package Target but not quite getting there. Leaving and returning to the room without loading a save game appears to work fine."

 

[Edit to tie succeeding lines together.]

 

-Dubious-

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...