Tripwire Interactive Forums

Go Back   Tripwire Interactive Forums > Red Orchestra: Ostfront 41-45 Forums > Red Orchestra Modifications > Level Design

Level Design Working On A Map For Red Orchestra? Post Screenshots And Release Your Map Here.

Reply
Click here to go to the first Dev post in this thread.  
Thread Tools Display Modes
  This is the last developer post in this thread.   #1  
Old 10-20-2006, 12:50 PM
[TW]Ramm-Jaeger's Avatar
[TW]Ramm-Jaeger [TW]Ramm-Jaeger is offline
Tripwire Interactive President
 
Join Date: Oct 2005
Posts: 1,724
Default Bot pathing tips from Ramm!

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/tu...l#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
Reply With Quote
  #2  
Old 10-20-2006, 01:22 PM
DeV DeV is offline
Senior Member
 
Join Date: Nov 2005
Location: Netherlands
Posts: 636
Default

Muchly appreciated Ramm, hope this gets more custom mappers to get into pathing.

EDIT:
And sticky this!
__________________
Reply With Quote
  #3  
Old 10-25-2006, 07:33 AM
spraduke's Avatar
spraduke spraduke is offline
Senior Member
 
Join Date: Nov 2005
Location: wiltshire
Posts: 1,523
Default

I wondered why the allies didnt defend anything!! That last point saved mucheous hassle.
__________________

www.fmj-clan.co.uk
Reply With Quote
  #4  
Old 11-06-2006, 06:51 AM
Rich_Zap Rich_Zap is offline
Senior Member
 
Join Date: Aug 2006
Posts: 251
Default

I would just like to add to this that you can make working paths over bridges by use of forced paths. Although obviously if you have an alternate route through the river itself its likely to be less trouble to do that.
Reply With Quote
  #5  
Old 02-25-2008, 09:41 AM
Divinehammer's Avatar
Divinehammer Divinehammer is offline
Senior Member
 
Join Date: Mar 2006
Location: Sunny, Obamalot
Posts: 1,391
Default

I was trying to find out if the auto bot path command works also if you have to remove all path nodes for this before hand.
Also could someone give me some pointers I understand that you can maybe get the bots to follow a path by using the pathnode array but Ihave read the wiki and just didnt understand how that works. Also I have pathnodes but the dont want to go up stairs maybe it is because i didnt connect to an objective yet though. I want my bots to go up the stairs to multiple levels and defend a building what is the method for doing this do I use sniper volumes or scripts it is hard to tell. Could use some more tuteledge here thanks.
__________________
People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf. -George Orwell
Maps: Dubrava, Pavlov's House
Shared Links
Reply With Quote
  #6  
Old 02-26-2008, 11:52 AM
UncleDrax's Avatar
UncleDrax UncleDrax is offline
Senior Member
 
Join Date: Oct 2005
Location: Florida, USA
Posts: 1,473
Default

Quote:
Originally Posted by Divinehammer View Post
I was trying to find out if the auto bot path command works also if you have to remove all path nodes for this before hand.
Also could someone give me some pointers I understand that you can maybe get the bots to follow a path by using the pathnode array but Ihave read the wiki and just didnt understand how that works. Also I have pathnodes but the dont want to go up stairs maybe it is because i didnt connect to an objective yet though. I want my bots to go up the stairs to multiple levels and defend a building what is the method for doing this do I use sniper volumes or scripts it is hard to tell. Could use some more tuteledge here thanks.
Yea, keep in mind BotPaths just enable a bot to move somewhere.. they still have to WANT to move along that path.

So you have to make them want to go where you want them to go.

The easiest way to do this for Defense is to add in those Defensive AI scripts.. in short all they do is 'Hey.. goto PathNode412 and wait there for a few seconds'.
When a bot is assigned to defend a point, he will look at the objective, see what the tags are for the defensive scripts, and pick one.

You can also drop Pickups along a path to make it desirable to a bot. There aren't many pickups in RO, but if you are using fausts, that would work.

do a SHOW DEBUG when following your bots to see what they are up to btw.
__________________
Coming soon to a pint glass: Iron Curtain Strong Ale | IS-2 Ale | Iosif's Proletariat Ale
Reply With Quote
  #7  
Old 02-26-2008, 12:07 PM
Divinehammer's Avatar
Divinehammer Divinehammer is offline
Senior Member
 
Join Date: Mar 2006
Location: Sunny, Obamalot
Posts: 1,391
Default

are you talking about ambush points and defense points from the actor list? can you use those? I saw the aiScripts I think in Basovka but not sure if these things are all the same or not.
__________________
People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf. -George Orwell
Maps: Dubrava, Pavlov's House
Shared Links
Reply With Quote
  #8  
Old 02-26-2008, 12:40 PM
UncleDrax's Avatar
UncleDrax UncleDrax is offline
Senior Member
 
Join Date: Oct 2005
Location: Florida, USA
Posts: 1,473
Default

Quote:
Originally Posted by Divinehammer View Post
are you talking about ambush points and defense points from the actor list? can you use those? I saw the aiScripts I think in Basovka but not sure if these things are all the same or not.
You'll see the AI scripts in any of the official RO maps. easiest way to find them is to pick an objective and look for the DefenseScript (I think that's what it's called). That will list the tag of the AI Scripts to use for that objective. Then just Find->bytag and you should be golden.
__________________
Coming soon to a pint glass: Iron Curtain Strong Ale | IS-2 Ale | Iosif's Proletariat Ale
Reply With Quote
  #9  
Old 02-26-2008, 01:46 PM
Divinehammer's Avatar
Divinehammer Divinehammer is offline
Senior Member
 
Join Date: Mar 2006
Location: Sunny, Obamalot
Posts: 1,391
Default

Quote:
Originally Posted by UncleDrax View Post
You'll see the AI scripts in any of the official RO maps. easiest way to find them is to pick an objective and look for the DefenseScript (I think that's what it's called). That will list the tag of the AI Scripts to use for that objective. Then just Find->bytag and you should be golden.
You lost me on all of this tag business but I will look I also cant seem to get my tank drivers to drive the tank. The AIscripts have to have the tag of the objective they are protecting? I thought you just used nodes to lead them to the script? Is the script then even part of the network path or just an instruction, so the bot goes to the objective then picks up the defense script tag then goes to the prescribed defencse point to wait or whatever? Also are assault paths used I have not run accross those yet in the official maps.
__________________
People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf. -George Orwell
Maps: Dubrava, Pavlov's House
Shared Links
Reply With Quote
  #10  
Old 02-27-2008, 12:23 PM
UncleDrax's Avatar
UncleDrax UncleDrax is offline
Senior Member
 
Join Date: Oct 2005
Location: Florida, USA
Posts: 1,473
Default

Quote:
Originally Posted by Divinehammer View Post
You lost me on all of this tag business but I will look I also cant seem to get my tank drivers to drive the tank. The AIscripts have to have the tag of the objective they are protecting? I thought you just used nodes to lead them to the script? Is the script then even part of the network path or just an instruction, so the bot goes to the objective then picks up the defense script tag then goes to the prescribed defencse point to wait or whatever? Also are assault paths used I have not run accross those yet in the official maps.

Ok.. you probably got 3 different things going on then:

Defense Script rehash:
It's pretty easy, but if you haven't done any Event/Tag stuff, it might be new to you.

Basically, and as always, this is from memory, I don't have the SDK open/available to me right now, Each Objective has a listing for "DefenseScriptTag". This the the Tag (under Events->Tag of the actor) that you will assign to AIScripts that should be used for the defense of that objective.
The AIScripts are just simple Scripts.. again, they just pretty much say "Hey bot, goto PathNode421 and Sit there for 3 seconds". You can find them littered throughout the official maps. So when the bot is assigned to Defense of a point, it checks the objective, gets the Tag of the defense scripts, picks one of the several available defense scripts then follows it's orders. So the Bot will try to find a way to get to PathNode421 and go there.. then hang out for 3 seconds before looking for a new order.

The Script itself is not a PathNode, it's just an instruction set.

--------------

The 2nd part of this is you have to make sure your bots know to defend a point. This is usually just a matter of ensuring your Objectives are setup correctly.


--------
3rd:
Vehicles use RoadPathNodes, you want to have as many WHITE paths as possible.
If you're not sure about these, then check up on Blitz's Both Path Tutorial ( http://blitz.unrealplayground.com/tutorials/bots.html ), it's an excellent resource on UT2k4 style botpathing.

-----

Re: Assault paths.
Check if there are any on Bondervo.. I remember putting some on there at one point, but they may have been removed later in it's development.

Also, just so it's said, you need to make sure that you have adequate paths to your objectives, etc.
__________________
Coming soon to a pint glass: Iron Curtain Strong Ale | IS-2 Ale | Iosif's Proletariat Ale
Reply With Quote
  #11  
Old 02-27-2008, 01:11 PM
Divinehammer's Avatar
Divinehammer Divinehammer is offline
Senior Member
 
Join Date: Mar 2006
Location: Sunny, Obamalot
Posts: 1,391
Default

Thanks that helps out a lot now I understand how to setup the scripts. The other thing is that some times my tank driver does not get in the tank he takes off down a path tothe objective also some times the bots get there before the tank drivers do so they cant get on as a rider. Any way to force the tank driver to find a tank? So if I wanted on the AI scripts I could put them all in one nice little are or next to their node the more logical position? Are snipe and Sniping volumes used in RO?
__________________
People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf. -George Orwell
Maps: Dubrava, Pavlov's House
Shared Links
Reply With Quote
  #12  
Old 02-28-2008, 03:02 AM
UncleDrax's Avatar
UncleDrax UncleDrax is offline
Senior Member
 
Join Date: Oct 2005
Location: Florida, USA
Posts: 1,473
Default

Actually I have to correct myself really quick. From UDN:

This is the default action of the UnrealScriptedSequence (what you use to make Defense Points)

Quote:
Originally Posted by udn
MoveToPoint

This will do the same thing as MoveToPlayer, but will use the actor with a tag of whatever is in DestinationTag. If this is either blank, or non-existant, then it will move to wherever the ScriptedSequence actor is.

So you can either assign the TAG of an object, -OR- place the scripted sequence in teh location you want.
__________________
Coming soon to a pint glass: Iron Curtain Strong Ale | IS-2 Ale | Iosif's Proletariat Ale
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:46 AM.


Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright ©2005 - 2013, Tripwire Interactive, LLC