View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002562||The Dark Mod||AI||public||22.01.2011 13:01||07.07.2013 22:34|
|Product Version||TDM 1.03|
|Summary||0002562: AI path around func_statics|
|Description||The AI currently has problems with pathing around func_statics. There is a bit of comment in the code in game/ai/ai_pathing.cpp that relates to that.|
grayman also works on the AI pathing, so maybe he already fixed that, or maybe it is something additional. However, just tracking this so it doesn't get forgotten.
|Additional Information|| // SZ: Oct 9, 2006: BinaryMovers are now dynamic pathing obstacles too|
else if (obEnt->IsType(CBinaryFrobMover::Type))
//p_binaryFrobMover = static_cast<CBinaryFrobMover*>(obEnt);
else if (obEnt->IsType(idMoveable::Type))
// moveables are considered obstacles
/*else if (obEnt->IsType(idStaticEntity::Type))
// greebo: func_statics should be considered
// ignore everything else
// TDM: SZ Oct 9, 2006: Comment this continue out, and the AI will path around func_statics
// and the like, even without monster-clip brushes around them.
// However, the CPU load is higher and the weapon an AI is carrying
// is an obstacle (bad).
|Tags||No tags attached.|
While working on the movement changes, I temporarily added code to path around func_statics, ignoring AI attachments. I didn't notice much of a decrease in FPS, but on my slow system, I might not have noticed more degradation.
I decided an AI should only consider a func_static in its path when it was bumping into that func_static.
There is a tremendous amount of code in path-finding, and it happens every frame for every moving AI that's not using interleaved thinking. Anything we can do to limit this is worth it.
In the future, it might be worth investigating whether the AI need to pathfind every frame. Not much of the world is going to change each frame, so perhaps doing pathfinding every 5 frames would suffice. At that point, an AI could consider all func_statics in its way.
|I'm resolving this as "won't fix" since allowing it to happen causes all kinds of problems. Mappers can just use monsterclip to keep AI out of trouble.|
|22.01.2011 13:01||tels||New Issue|
|22.01.2011 13:01||tels||Additional Information Updated||View Revisions|
|22.01.2011 19:51||grayman||Note Added: 0003474|
|07.07.2013 22:34||grayman||Note Added: 0005661|
|07.07.2013 22:34||grayman||Status||new => resolved|
|07.07.2013 22:34||grayman||Resolution||open => won't fix|
|07.07.2013 22:34||grayman||Additional Information Updated||View Revisions|