Uriopass / Egregoria

3D City Builder without a grid
http://douady.paris/blog/
GNU General Public License v3.0
1.48k stars 50 forks source link

Some NPCs freeze in mid air and are unable to find a path #77

Closed ajh123 closed 11 months ago

ajh123 commented 1 year ago

image

Not sure what causes this issue but what I did was open the game from my previous save. Possible the NPCs were "jumping" when they were saved but when the game loaded they did not fall down again so they are unable to find a path.

Below is the contents of my world_replay.json file. world_replay.txt

Also my world.zip world.zip (GitHub won't allow it as a .json so it's a .txt instead)

They might help to find the problem.

ajh123 commented 1 year ago

Also deleting buildings / roads which have people on them can cause similar issues. Maybe add a "reset path finding" in the debug menu?

Uriopass commented 1 year ago

Which version did you use ? Latest master or a release ? I'll take a look when I can, thank you for the save 👍

ajh123 commented 1 year ago

Its commit cdbbc7f0e047e4ebd560cea17dade3a5880226a5 as it appears in git log. Its the latest "master".

ajh123 commented 1 year ago

Also sometimes when deleting a building / road which has people on it can cause some of them be confused.

ajh123 commented 1 year ago

I've seem to have released most of them by using a proper street instead of drive towards the freight station. Apparently they were trying to go there.

Uriopass commented 1 year ago

Oh yeah deletion is definitely not very good today. I have lots of things everywhere that expect stuff to not be deleted. Indeed, they were trying to go to the freight station to buy bread most probably! You need to build bakeries :D

ajh123 commented 1 year ago

Which I did have. Probably not enough so I've gone bankrupt now.

Uriopass commented 1 year ago

Going bankrupt doesn't have any practical impact as of now, and it's quite hard to make money too. I think a dumb but possible strategy is to build a huge amount of solar panels

Uriopass commented 1 year ago

I see the tick in the save and the last tick in the replay are not the same (the replay stopped earlier). Did you just not play in between or did you do some other actions before saving?

ajh123 commented 1 year ago

Not sure what I've did because it was a few days ago, both scenarios are very much a possibility.

Uriopass commented 1 year ago

No problem, I'm reproducing the issues. The replay and world file are helping greatly, I'm upgrading my debugging tools

Uriopass commented 11 months ago

With the hecs removal rework and slotmap fork there should be much less serialization issues