In Progress General Custom campaign map crashes on v1.0.0

Users who are viewing this thread

Version number
v1.0.0
Branch
Main
Modded/unmodded
Modded
My custom campaign map was updated from e1.8.1, where it worked, to v1.0.0 where it crashes on loading the game. The only changes I've made from the e1.8.1 version were 1. Loading the map into the v1.0.0 Scene Editor and resaving it (in case things changed between versions); 2. Changing SubModule.xml to include <ModuleType value ="Community" /> rather than the previous <Official value="false"/> 3. Deleting all the siege_fire_particle_e game entities as these produced problem warnings in the Editor and are no-longer included in Sandbox\Main_map's scene.xscene file (previously used by looted villages etc).
As I still can't upload crash reports, the crash zip file is linked here: https://www.mediafire.com/file/jem1....34_8dc9d29e96d7b033b77c7b0bcddc6b26.zip/file
While it may be unrelated, I was also getting this new assert warning in the Scene Editor:
1Sz-p.png
 
Further experimentation suggests changes in v1.0.0/e1.9.0 to either SettlementPositionScript or the treatment of navmesh.bin. My e1.8.1 navmesh was in two sections: 1. an inner core the size of Calradia with all faces set for the map; and 2. a disconnected border for future expansion with all faces set to 1. All entities were contained within the inner core. The settlementpositionscript entities were positioned at the corners of the inner core and presumably calculated the settlements_distance_cache.bin purely for that inner core, giving a navmesh.bin of 2,707Kb.
Replacing my two-section navmesh with a one-section navmesh (with all faces set to 1), repositioning the settlementpositionscript entities to its corners and manually running the three SettlementPositionScript scripts, creates a new navmesh.bin of 4,169 Kb. With that, I can load my custom campaign map in game again without the above crash.
Is this the result of intended changes or a bug? If intended, please clarify what the changes are so I can understand them.

Edit - removing the outer navmesh results in the same crash, eliminating navmesh holes as the problem. SettlementPositionScripts definitely seem to take much longer to calculate distance caches and can get stuck in ongoing infinite calculations. If something was “upgraded” in SettlementPositionScripts, it has undermined previously working navmeshes, which take a considerable time to make. As far as I can tell, v1.0.0 SettlementPositionScripts despite taking longer to run still creates the same 2,707 kb distance cache as e1.8.1 (and previous versions), however that now causes the above crash on loading the game.
 
Last edited:
Further experimentation shows all the crashes occur after the last child of the last clan is generated immediately prior to starting the game:
-_y0j.jpg

They are caused by some rejection of my navmesh.
All evidence suggests that the navmesh is being rejected for pathways between impassable sections of navmesh that are too narrow. Given these pathways worked fine in e1.8.1, the change is either a bug or a side-effect from further hardcoded 'optimisation' of Calradia's worldmap.
Identifying and correcting rejected sections of navmesh is very slow as nothing highlights these problems and the solutions aren't always obvious.
I have seen a new assert error throw up during settlement distance cache calculation:
bpQ5r.jpg

The game always crashes, if I get that slow position warning whatever it is.

Our Worldmap was built with narrow passes through mountains, narrow tracks through impassable forests and slender bridges/fords - all of which seem to fall foul of this change in navmesh acceptance. I tried replacing impassable forest with passable forest that had movement penalties, but this was very poor at directing AI pathing along the correct routes.
EDIT: further tests rule out narrow pathways. The problems only ever occur with impassable navmesh faces and ATM I've no way of identifying which will work and which won't other than by extremely slow and tedious trial and error.
For example, this river causes crashes while similar rivers elsewhere don't:
vErRS.jpg

Proof narrow bridges aren't the issue as this one works in game:
vNfi0.jpg
Section of forest circled in red which causes crashes in at least two sites if made impassable:
ainni.jpg
Seems very strange that exactly the same navmesh face(s) are acceptable in game if passable but rejected/crashed if impassable.
 
Last edited:
For example, this river doesn't crash the game, if it's navmesh faces are passable, but crashes the game if they are set to river (11) impassable.
vErRS.jpg

Deleting all the river faces and then remeshing them before setting them as passable also crashes the game.
Deleting all the river faces made the calculate distance cache script crash until the editor was reloaded and tried again. Anyway, even with a subsequent correctly calculated distance cache, the game crashed with the river as a navmesh hole to stop AI movement that way.
dniF7.jpg

Something, IDK what, allows the same section navmesh to function as passable faces but not as a hole or impassable faces. Seems an extremely bizarre bug that wasn't there in e1.8.1 and prior versions.
PS The same crash occurred when passable faces were given a cost of 150 to deter AI pathing.
Tracked the bug location down to two navmesh faces:
1lxkt.jpg

I deleted them and a couple of sea faces to remesh differently and got this assert on filling one rectangle:
t5Wm4.jpg

Which produced this call stack after hitting retry:
XAUTD.jpg
Different remesh avoiding asserts also resulted in crashes:
Uqckt.jpg
Patching impassable faces around the problem pair (so they stayed passable) avoided a game crash but left the game load in an infinite calculation loop with a blue wheel spinning continuously.
okuRo.jpg
Deleting the surrounding and problem faces and remeshing also crashed:
VucOx.jpg
Accordingly, I'm now stuck with a ford at the neck of my river whether I want one there or not.
 
Last edited:
Are you still experiencing this issue on the latest version of the game?
Yes. I changed the two ford faces to river, recomputed settlements distance cache etc. and got this crash 2023-02-22_08.12.19_8dc9d29e96d7b033b77c7b0bcddc6b26 on trying to run the game in Sandbox. I haven't checked the problem forest area, but presume it's identical. I'm on v1.0.3. So I can still only have these two bugged locations with passible navmesh faces.
 
Could you send us the scene files that you are experiencing the issue with? We would like to take a look.
You can send it to us via the ticketing system.
To send us a ticket, please visit the www.taleworlds.com site and login to your forum account from the top right. Click on "My Account" and then click on "My Open Tickets". You can create a ticket there and include the save file as well as the forum link of this thread. You can find more info about how to upload files to us with the new ticketing system here. Thanks for reporting and sorry for any inconvenience!
 
@MArdA TaleWorlds I'm disappointed to finally work out that the reason my map crashes if the two river navmesh faces aren't passable as opposed to impassible is because: when they are impassible, village_ES6_1 is 227 metres (bending round the river etc) from town_ES6 and castle_village_ES7_1 is 166 metres from castle_ES7 putting them both over the hardcoded 150 metres for tradebound villages. Why do we still have hard-coded numbers like that, which cause the game to crash? Lots of mods operate on entirely different campaign map scales. Seems I have to rely on a TradeBoundFix mod or move the villages to non-lore locations. Would have been nice if I'd been given that feedback to my bug report months ago.
I presume that the impassable forest problems are caused by the same issue, but haven't confirmed that ATM

EDIT - forget all that as the hardcoded crash has been fixed in the worldmap test version.
 
Last edited:
Back
Top Bottom