Download

How to have AI character wander around map with no level loaded?

I have a character that I want to wander around the entire game map even though the levels arent loaded, how can I achieve that? I have 6 different levels in my game world and I want them demons to wander around everywhere looking for the player.

Why not Just have it spawn at a random location each time the levels are loaded? seems like a lot of work otherwise and im not sure its even possible… at least i cant work it out but thats not saying much

I’m assuming you mean that you want to have these monsters wandering around in places that are “off the loaded world” so it feels like they’re moving around when the player returns to the area? Kind of like Skyrim’s NPCs? Well, first off, if you want them to accurately follow terrain and stuff then you’ll need to have those levels loaded…no way around that.

If accuracy can just be “rough”, then what you want to do is find a way to simulate their motions in a rough way that can be always loaded…and then when the player gets close enough you drop the “real enemy” into the now-loaded level and let the more accurate wandering take over.

How you handle that rough-simulation depends on you and the game. Usually I think the solution for big open worlds like Skyrim is to probably have NPC manager system that polls and updates abstract representations of the entities—probably using simplified versions of the levels as data…or even just a simple 2d grid…but the system doesn’t actually load any of the assets into the game until you get close enough for them to be worth it. For an MMO, that system would live entirely on a server, so it could be authoritative. If your needs are simple enough, you could have actual lightweight versions of the AI wandering around on a very low resolution version of the unloaded maps–but it would need to be simple enough that those lightweight maps and AIs could always be loaded and iterated over.

However you do it, you’ll probably have to come around to the idea of using abstract proxies for any AIs until the player is close enough for them, and then doing a lot of swapping around.

At least, that’s my guess, based off of what it sounds like you want.

Hmm, ok well this game takes place in a mansion, so this is what I was thinking. The demons, and the blocking volumes and the Nav Mesh Volumes are always loaded, they are in the persistant level, now, i use blocking volumes where the walls are so the nav mesh doesnt get screwed up. Would that work? so that way the demon always has a place to walk.

yeah. that sounds pretty close to the simple-solution I described at the end of my last post. You could probably use the full AI for something as constrained as a house like that.

alright sweet i’ll do that then, thank you.

one solution for this is to place the bots in the navmesh in the persistent level and load you’re individual sub-levels via streaming.

You could also try this:
On map load, dont disable the load screen. Instead, enable all AI, and turn their speed way up - this will simulate loads of time passing. Then reset their speed and disable load screen, and boom!