Hi Reconnoiter,

Each project,its team and its sets of problems has different needs. Both ent nodes and Paths are viable solutions. Gaming companies hire a never ending stream of programmers and scripters because ambiguous,homogenized and easy solutions just aren't possible. <-(That's just to say that both solutions have limits and its as customized as the problem.)

I have planned a combination of both in a future Doc release. So this helps do a little thinking about the 2 solutions. I know in my last project that the ent node solution was to troublesome to write correctly and a lot more code to work.However in other projects and breadcrumb systems I've done ent nodes worked well (I've looking into using the Paths system for breadcrumbs in a future doc.)

The simple answer really is that paths are easier to implement. And ent node are easier to place in editor and more flexible.

However lets go pro-con for each.

Pros ent nodes
- Easier to drop and place it the world with or without WED as the level editor.
- Can be easier to run-time place and adjust(such as popping the ent out of the floor.)
- Allows access to the event system through contact using PUSH values or EVENT_TRIGGER ( However there is a event like option for the path solution)
- Are easier to see and visual debug in the run-time build.
- can be used fully linkless (But this moves out the of scope and is just a old version of AI wayfinding systems that have been replaced by NavMesh like systems and Pathfining alogorithems like A*)
- I'll edit to add more if I think them out

Cons ent node
- System as a wholes require a lot more code to be written to work , as well as a lot more checks and safety measure code.
- No built in linking. Each node has no easy way of knowing if it's in a link-chain and where in the chain.
- Requires special spawn-time ID and linking code to be written. Entities are created at run-time in a random kind of manner, if one ent node spawns out of order -> say node 2 spawns before node 1 there can be identity problems and run-time crashes as it looks for node 1. Again a lot of wait(till) and safety checks.
- Speed and memory -> Not do to PC limits but to the Engines own problems.
- Removes ent's out of max_ent that could be used for bullets, sprites, ect

Pros Paths
- Self linking
- Are basically a data graph of vectors with a little more information.
- Are easier to operate through code.
- Support self branching (each node can lead to 4 different edges)
- Can be used with Region/Region check to create event-like reactions
- Simple to use and set up

Cons Path
- Hard to place in WED
- WED has crashed many times while a was building complex path sets (Really a WED con not a Paths con)
- Can be tedious to place in a level
- does not support the event system
- Are very reliant on the programmers version of movement coding for the path user.
- Has a limits number of skills (6) vs ent's (100 or so)
- Can not be c-traced to cause a reaction( but you can traced to the path node and use inverse to determine if it's in sight [ 0 trace hit nothing saw node clearly] ,[1 trace hit something and it's not the node vector])
- Can not use other c_scan,ect function. (But path_scan can be used to locate the node like c_scan)

Wow that's a lot on the topic. Truth is I'm no master-adapt with ent nodes and I'm writing this series to learn more about paths.

Wayfinding/Pathfinding should use a AI Pathfinding solution. But for basic patrol like behaviors and navigating around obstacles I think path's are best. I hope to see how Path's , ent nodes, and Wayfinding can be combined to create a overall better movement behavior for NPC's and AI.

Hope I gave some kind of answer in all this that helped... laugh





Last edited by Malice; 06/10/16 00:38.