I am making my own path finding system, because NPCs must navigate on moving strucuters, in environment that changes, or in narrow places like underground mines.
New system is more flexible than the old grid-based system I made before, Now it uses much fewer points, so the pathfinding is quicker, it doesn't care about orientation of the ground or gravity direction.
Unfortunetly, scanning the world is slower now, because it uses invisible fake humans that randomly walk around. When NPC human or fake human reaches some new location, new point and connections are added to the system. I think there is a lot of space for easy optimization on scanning side.
I think It's kind of more realistic that NPCs do not know how to get everywhere, until they scout the area.

I am also working on Commands for NPCs
You can enter the dialog, and write command, or press Y (stands for "Yell") and shout commands, and every companion who hears it, does it, unles you specify his name.
I am trying to make them improvise so you don't have to specify everything like they are robots.
When you yell "Bob, craft stone picaxe" , nearest npc with name Bob, accesses game data, looks what crafting tables can craft stone picaxe, go to nearest basic table, looks what ingredients it needs, and searches nerby storages, takes materials and crafts that picaxe at the table. Unfortunetly, I am cluses what should they do next, store it? keep it? or bring it to you?
