Speaking about Bot40... whatever map.
First of all apparently Bot Support is perfect but... it's a butt in stage - lol.
If we are ignoring 4172 reachSpecs which map is hosting and other junkish bytes, we can discuss a bit about that uber SmartAlternatePath used here and which is not smart at all - it' s FAKE NEWS.
Some variable is saying
Code: Select all
var float ReTouchTime; //Delay so selection weights don't get altered many times if we get touched more than once in rapid succession
Code: Select all
function Touch( actor Other )
{
local SmartAlternatePath A;
if ( Level.TimeSeconds - ReTouchTime >= 4 )
ReTouchTime = Level.TimeSeconds;
foreach AllActors( class 'SmartAlternatePath', A )
if (A != Self)
A.SelectionWeight += 0.5;
}
And then... by adjusting code and... by reducing reachSpecs at 946 game runs with no issues.
The next is a virtual scenario. Assuming a game with Bots very balanced and running hours, we are adjusting SelectionWeight for these SmartAlternatePaths. Does it stops somewhere or it goes to crazy values ? I don't see a CAPPING stuff anywhere so yes it goes crazy at a moment due to fascinating "Touch" code.
Guys writing these, you can wipe your back side with these abominations - I'm doing things other way, geniuses. These ancient codes do not have anything "SMART" at all, it's all dumber than a rock .
As for DevPath comments
Let me see, SmartAlternatePath like stock AlternatePath is addressing BOT Via CTF game controller and Flag. Perhaps, exactly like other Bot Stuff - InventorySpot/PlayerStart - these could be lowered as placement and perhaps educated with a smaller collision than a plain collision - goddamn, it's about Bots not about Titans, these can be lowered because this way is the best match toward Bot. Monster won't use this after all unless has a deal around, but if there is enough space in room, reachSpec won't discard to many creatures from crawling around.