Ok, well there were some concerns over performance when handling a fair number of NPCs in a scene. Christian mentioned wanting around 20 NPCs in a level at one time.
I just tried out adding 20 simple NPCs (checking their FOVs and plotting paths all over the place) into my test scene (of 8 waypoints) and the framerate didn't drop below 60 at any point with vsync on. Without vsync it was up at a steady 125, hopefully with some optimisations that can be boosted somewhat, but it's not a bad result i feel for now!
It's around 40 NPCs, on my system, that the framerate starts having problems, then it moves around between 50 and 60 fps (vsync on).
Now this is still very early work, i can only have worked on it for a small number of hours i'm sure... So there's still lots to sort out and the source isn't perfectly seperated out into things that should be in the library and things that should be in the application.
I've tried to comment the code as well as possible and it should explain how everything's done but if there's anything you're unsure of then give us a shout!
Anyway, onto the code. What i've done is made an FPS example project which shows how you might go about using the library for a FPS sort of AI (based on the previous demos i've shown). There are 2 NPCs which 'patrol' around randomly and can detect each other in their FOVs (they don't actually do anything except put a list up of what's visible to them in the GUI). If you think there's only one NPC wandering round then it's probably because they're on exactly the same path, having started from the same waypoint, eventually they'll split off!
Right, well.. no idea how to upload to my sourceforge project (if anyone can tell me how that'd be great!)
So here's the source release:
MediaMax (i'll try to mirror it elsewhere tomorrow)
Any problems or feedback then let me know!