This info comes from a PM I sent to a custom mapper with tips on bot pathing maps for RO. It might not all be relevant to your map, but these tips can really help when bot pathing your map. And those of you entering the mapping contest should pay close attention to this
1) Don't try and path the whole map at once. Rebuilds take longer the more paths you add. Add pathing for 1 objective, then hop in game and make sure the bots can cap (or defend) that obective. Then do the remaining objectives the same way, 1 at a time.
2) Objective actors have to be in a bot "reachable" area. Game objectives are navigation points, and need to be on the ground where bots or vehicles can reach them. They can't be embedded in BSP, floating in the sky, etc. All of those "Navigation Point not on Valid Ground" errors you get when you build should tell you something If the objectives aren't reachable, the bots won't attack or defend them.
3) For the vehicle driving bots to attempt to capture the objectives, they either need completely white road path nodes leading to an objective, forced road path nodes leading to an objective, or a special assault path set up so they know where to get out of the vehicle to cap the objective. The key is in the assault path, to set the "Objective Tag" value to the tag of your objective, and then in the ROObjectiveTerritory actor, in the "GameObjective" section, set the VehiclePathName to the name (under the "Object" field) of the closest RoadPathNode to the assault path you set up.
4) Keep it simple. Put down a basic RoadPathNode network that leads to the objective first, then connect any infantry spawns to this road network with regular path nodes. Get the bots fighting over the objectives first, then you can go back later and add extra paths and things to make it more fancy.
5) Vehicles hate bridges! They tend to get stuck on them, and its very hard to get white road paths accross them. If at all possible, make your roadpath just go through the river and avoid the bridge all together. In some instances (like where the bridge itself is an objective) this isn't possible. But wherever you can, avoid putting the road paths on bridges.
6) Make straight paths from the vehicle factories. If you vehicles are in a line, the bots will all just get stuck at the spawn. Set up the vehicle spawns so that when a bot gets in, they can just drive straight forward to the road. If they have to do manuevering to get out of the spawn, they'll likely just get stuck.
7) So you don't have to wait on the bots to capture the objectives you have already pathed for, I would suggest jumping in the map with no bots, capping the objectives you have already pathed for, and then using the "addbots" command to spawn the bots in and see if they attack/defend the objective your testing.
8) Use the "slomo" command to speed up/slow down the game for testing. I usually bind 3 keys to this so I can speed up/slow down the game at will. If you type these in at console, you can use these three keys for this:
set input leftbracket slomo 0.1
set input rightbracket slomo 1
set input backslash slomo 4
9) Use the bot debugging overhead map. The command for this is "showdebugmap". This will show where the bots are on the overhead map, what they are doing (A for attacking, D for defending), what they are in (flags are vehicles, stars/crosses are infantry). This will allow you to watch the bots flow through your map, and see if they are getting stuck somewhere.
10) Check out these UT2k4 tuts on pathing. Their not 100% for RO, but are generally applicable:
http://wiki.beyondunreal.com/wiki/Pathing_For_Vehicles
http://blitz.unrealplayground.com/tutorials/bots.html#AssaultPaths
11) Make sure the defendingteamindex in gameobjective on your ROObjective is set correctly to the right initially defending team. 0 = axis, 1 = allies.
Cheers
1) Don't try and path the whole map at once. Rebuilds take longer the more paths you add. Add pathing for 1 objective, then hop in game and make sure the bots can cap (or defend) that obective. Then do the remaining objectives the same way, 1 at a time.
2) Objective actors have to be in a bot "reachable" area. Game objectives are navigation points, and need to be on the ground where bots or vehicles can reach them. They can't be embedded in BSP, floating in the sky, etc. All of those "Navigation Point not on Valid Ground" errors you get when you build should tell you something If the objectives aren't reachable, the bots won't attack or defend them.
3) For the vehicle driving bots to attempt to capture the objectives, they either need completely white road path nodes leading to an objective, forced road path nodes leading to an objective, or a special assault path set up so they know where to get out of the vehicle to cap the objective. The key is in the assault path, to set the "Objective Tag" value to the tag of your objective, and then in the ROObjectiveTerritory actor, in the "GameObjective" section, set the VehiclePathName to the name (under the "Object" field) of the closest RoadPathNode to the assault path you set up.
4) Keep it simple. Put down a basic RoadPathNode network that leads to the objective first, then connect any infantry spawns to this road network with regular path nodes. Get the bots fighting over the objectives first, then you can go back later and add extra paths and things to make it more fancy.
5) Vehicles hate bridges! They tend to get stuck on them, and its very hard to get white road paths accross them. If at all possible, make your roadpath just go through the river and avoid the bridge all together. In some instances (like where the bridge itself is an objective) this isn't possible. But wherever you can, avoid putting the road paths on bridges.
6) Make straight paths from the vehicle factories. If you vehicles are in a line, the bots will all just get stuck at the spawn. Set up the vehicle spawns so that when a bot gets in, they can just drive straight forward to the road. If they have to do manuevering to get out of the spawn, they'll likely just get stuck.
7) So you don't have to wait on the bots to capture the objectives you have already pathed for, I would suggest jumping in the map with no bots, capping the objectives you have already pathed for, and then using the "addbots" command to spawn the bots in and see if they attack/defend the objective your testing.
8) Use the "slomo" command to speed up/slow down the game for testing. I usually bind 3 keys to this so I can speed up/slow down the game at will. If you type these in at console, you can use these three keys for this:
set input leftbracket slomo 0.1
set input rightbracket slomo 1
set input backslash slomo 4
9) Use the bot debugging overhead map. The command for this is "showdebugmap". This will show where the bots are on the overhead map, what they are doing (A for attacking, D for defending), what they are in (flags are vehicles, stars/crosses are infantry). This will allow you to watch the bots flow through your map, and see if they are getting stuck somewhere.
10) Check out these UT2k4 tuts on pathing. Their not 100% for RO, but are generally applicable:
http://wiki.beyondunreal.com/wiki/Pathing_For_Vehicles
http://blitz.unrealplayground.com/tutorials/bots.html#AssaultPaths
11) Make sure the defendingteamindex in gameobjective on your ROObjective is set correctly to the right initially defending team. 0 = axis, 1 = allies.
Cheers