Jump to content

Recommended Posts

Posted (edited)

First, this tutorial is only about Basics of Bots waypointing. I mean the ways that bots will follow. Actually, bots will move and as they know ojectives, they will try to get them. You can code a .gm file to help bots in doing objectives better but this is not what i'm gonna explain here.

 

So, what is waypointing?

 

Omni-bot, like every bot needs a data structure that it can use to find its way around the map. Nearly every bot requires waypointing of some sort, whether it be automatically calculated from looking at the map geometry or hand placed like the majority of 3rd party bots.

 

Waypoints are basically a graph representation of the map geometry. Waypoints are vertices, and paths between them are edges. When a bot wants to get from where he is to a destination, the waypoint graph is used to find the way.

 

Waypoints are stored in .way files in the nav directory.

excl.gif Due to the special method of waypointing in ET, waypointing is only available in the omnibot mod, which is a modification of etmain. This means you cannot waypoint in etpub, jaymod, or NQ.

 

What do you need to start waypointing?

- ET of course

- Omni-bot (would be added on our download section soon, check it)

- the map(s) you want to waypoint

- (waypoints you want to improve)

 

Well, after you checked all of this let's start by clicking Omni-bot icon - Host a game - Choose single map objective - Choose the map you want to waypoint in the list - Start server.

 

When the map has been loaded, just wait the warmup is ended. Open your console (²) and type /bot waypoiting_view on.

 

If your omnibot already contains a waypoint for the map you have loaded you would see something like :

post-23508-0-28382000-1522450453_thumb.jpg

 

If that map has no waypoints in your folder, nothing will happen.

 

Let's say you have no waypoints loaded so you have to create it by yourself.

 

Determine where bots have to go and type in console /bot waypoint_add.

 

You should get this :

post-23508-0-76941700-1522450453_thumb.jpg

 

The vertical purple line is the actual waypoint, The red star shaped "beams" indicate the radius size of the waypoint.

 

Now move away from your 1st waypoint. Make sure that there are no objects or anything to block your path between your 1st waypoint and where your player is.

 

Now add your 2nd waypoint :

/bot waypoint_add

 

You should now have something like this :

post-23508-0-29239900-1522450454_thumb.jpg

 

The next step is to join the 2 waypoints. There are 2 ways you can join waypoints the 1st is a one-way connection (/bot waypoint_connect) and the 2nd is a two-way connection (/bot waypoint_biconnect).

The general rule is to always use the two-way connection unless it is only possible for the bot to go one-way i.e. when dropping down from a ledge.

Now lets join the 2 waypoints up.

To join up 2 waypoints you need to use the following command on each of the 2 waypoints you want to connect : /bot waypoint_biconnect.

 

post-23508-0-79602200-1522450454_thumb.jpg

 

You are not limited to adding 1 connection per waypoint just add a 3rd waypoint and connect the waypoints in the same way you have just learnt.

 

Mistakes?

 

If you just want to remove the connections between 2 waypoints use the /bot waypoint_biconnect or /bot waypoint_connect (depending on the type of connection) on both the waypoints you want to remove connections from.

 

To move a waypoint because its in the wrong place you need to go to the waypoint and use this command : /bot waypoint_move.

Then move your player to where you want new waypoint to be and use the same command again. Any waypoints you have connected will stay connected this way

 

In some cases you will want to delete the waypoint & its connections to do that use this command : /bot waypoint_del.

 

Saving Your Waypoints

 

Save often. Although the bot is pretty stable, it is a good habit to save often.

To save you waypoints use this command :

/bot waypoint_save

Note If the time runs out on the map you will lose all your work when the maps restarts unless you have used the above command.

 

Waypoint Radius

 

A waypoint's radius is the tolerance for moving towards a waypoint. If you want the bots to get very close to a certain spot, use a smaller radius, if it doesn't matter much if a bot reaches this specific waypoint exactly, you use a large radius.

The default radius is 35 game units this will do in most cases, but some situations require some radius tweaking. In areas where there is plenty of space, a larger radius will make it easier for the bots to avoid running into each other when they meet on a waypoint, so a radius of 60, 80, or even 100 will be a better choice:

To Change a single waypoint's radius to 80 for example you would use this command

/bot waypoint_setradius 80

But i.e, a 20-25 radius size is better for climbs or small corridors.

 

Jump

 

Sometimes bots have to jump not to get stuck. Here is the command you have to use on your waypoint : /bot waypoint_addflag jump.

 

Same thing about prone or crouch (just replace "jump" by "prone" or "crouch").

 

Doors

 

There are 2 types of doors (normal or team only).

 

For normal doors, use that way :

Approach the door and place a waypoint where you would normally use the activate key to open it.

Now add the following command (flag) :

/bot waypoint_flag door

Now you need to do exactly the same on the other side of the door and connect up the 2 waypoints.

 

Team doors are waypointed in the same way as normal doors and still require the door flag.

Because it is a team only door a 2nd waypoint flag needs to be added.

There are 2 commands to choose from as there are 2 teams in ET axis (team1) & allies (team2).

Depending on which team the door belongs to add 1 of these commands

/bot waypoint_flag axis

Or

/bot waypoint_flag allies

You can see in the picture below an example of a "team only" door :

post-23508-0-30726800-1522450455_thumb.jpg

 

Climbs

 

For bots to be able to go up & down ladders you need to use the 'climb' flag. Before you can add the 'climb' flag you need to position the waypoints correctly. You should place 1 waypoint just before the base of the ladder and another at the top just after you have exited off the ladder.

 

post-23508-0-85335300-1522450455_thumb.jpg

 

Add the 'climb' flag to both waypoints using :

/bot waypoint_addflag climb

And then don't forget to change the radius size as explained previously.

 

Objectives

 

On a lot of maps there are objectives to taken from 1 place to another. An example of this is the gold crates in Goldrush.

The bots know where objectives are located in the map but they don't know where to take them.

You should have a waypoint at the location the objective needs to be taken to, if not add one.

All you need to do now is add the cappoint flag using this command:

/bot waypoint_addflag cappoint

 

Walls, water, bridges

 

The old wall in the oasis map is an example of a blockable section that can be unblocked once the wall has been blown. Because bots do not see walls you need to add a flag that will detect if a bot can use the path between the 2 waypoints. The flag you need to add is the 'blockwall' flag, this need to be added to both waypoints.

/bot waypoint_addflag blockwall

Once you have added the 2 waypoints you will see a green line if the connection is not blocked & a red line if it is blocked.

 

post-23508-0-31274600-1522450456_thumb.jpg

 

Same thing about water pomps or bridges to build.

/bot waypoint_addflag blockwater

/bot waypoint_addflag blockbridge

 

You can find your waypoints you have made in your omnibot folder in et - nav. This is the nameofthemap.way files wink.gif

 

Well this tuto is over. It has been made with the official documentation of Omni-bot and from my little experience.

 

If you need to improve your waypoints, here are some links to look at :

http://www.omni-bot.com/wiki/index.php?title=Omni-bot_Waypointing

http://www.omni-bot.com/wiki/index.php?title=Enemy_Territory

 

Also, if you need help contact me on xfire or pm me.

Edited by Fearless Staff
  • Like 1
  • 11 years later...
  • Leader
Posted
3 hours ago, rtcwtzs said:

How can I access this file?

 

That link is password protected. 

 

All 'parts' of the link invoke that password needed, until "svn.assembla.com/svn/", which returns a 404 page.

 

If "svn.assembla.com" is entered, it is redirected to a "get.assembla.com" page, where it turns out to be a protected file-cloud enterprise system.

 

From "OpenDataScience.com"

 

Quote

The primary difference between Git vs SVN is their approach to code management. Git has a distributed architecture, while SVN is centralized. Both are enterprise-grade version control systems, with Git positioned as more of a source code management (SCM) tool while SVN acts more as a revision control system.  

 

You would have to ask the owners of that tool for a copy, unless they have made it public somewhere.

 

Where did you get information on the file(s)?  

 

Here is a Google search for the term " omnibot/Enemy-Territory/0.8/tools/route_tool/  "  omnibot/Enemy-Territory/0.8/tools/route_tool/ - Google Search.  You may have done a similar search. 😄 

 

  • Like 2
Posted (edited)

Just ask Me how to waypoint, I accessed those pages when they were up.

Omnibot Route Goal Youtube:

Omnibot route goals tell Bots where to go...

But They must start at Spawn to load...

 

Edited by Buckwild
Add
  • Like 1
  • Love 1
Posted (edited)

 

Here is a pk3 file that creates a menu for Omnibot commands.

OB_DMS goes into Wolfenstein - Enemy Territory\omnibot folder of omni-bot_0_87_ET_waypoint_mod.

I add this autoexec.cfg to make waypointing much easier...

 

bind 1 "bot waypoint_connect"
bind KP_INS "bot waypoint_biconnect"
bind o "bot waypoint_view on"
bind a "bot waypoint_add"
bind b "bot addbot"
bind c "bot waypoint_addflag climb"
bind d "bot waypoint_del"
bind f "bot waypoint_addflag door"
bind k "bot kickall"
bind j "bot waypoint_addflag jump"
bind h "bot waypoint_addflag blockwall"
bind m "bot waypoint_move"
bind r "bot waypoint_setradius 15"
bind s "bot waypoint_addflag sprint"
bind v omnibotmenu
bind x "bot waypoint_save"
bind UPARROW "+forward"
bind DOWNARROW "+back"
bind LEFTARROW "+moveleft"
bind RIGHTARROW "+moveright"
bind ALT "bot waypoint_biconnect"
set g_warmup "0"

 

 

 https://www.mediafire.com/file/r78cd624jmjwr09/OB_DMS.zip/file

You press v for this menu:

 

 

2022-10-07-214133-goldrush.jpg.b8909029614f763b0397151bb244f9b8.jpg

Edited by Buckwild
Add
  • Like 1
  • Love 1
Posted

Waypointing commads are in the OB_DMS.PK3:

OB_DMS.thumb.jpg.4588e1e407a73d7d83cf7898c1af375a.jpg

  • Like 1
  • Thanks 1
Posted (edited)

I can't believe how much help you have received in such a short time, thank you! :)
Redbaird: Yes, I did some research and have gained access to this file in the meantime. Thanks for the information! Unfortunately I couldn't find much stuff for RtCW + Omnibot, I found more information for ET. By the way, I have not managed to get the route tool to work, probably only ET works together.


Buckwild: does the .pk3 for RtCW_ that you showed me work fine?

As it is, I am learning these things enthusiastically. Script programming is difficult for me so far, I started waypoint generation 2 days ago, managed to make 3-5 maps. 


The question is, how to specify something to do with the bot? For example the radar_b1 map Allies spawn. Bots start by firing a gun at the window. How can this be programmed? (They only advance if the player shoots out the window.)
Then mp_ruiner map.  I lead the bots to the big gate, where at first the bots just run around, then they realize that dynamite needs to be installed, but minutes go by until then, this doesn't look very good in gameplay. 
The other way is up a ladder to a cliff where they don't deposit dynamite at all. I believe these features work by default, no?

(No problem if I ask RtCW? Or should I open a separate thread for this?)

Edited by rtcwtzs
  • Like 1
Posted (edited)
 

Unfortunately,(I had that trouble also)

I asked at the Omnibot Forums(Now closed) for help with that.

You have to wait for Bots to shoot It out(They will).

Connect 2 waypoints through it(If possible).

Don't add breakwalll property. You may have to add some properties to waypoint to go through window(jump, Crouch).

Add defend property to waypoint where You want dynamite planted(They will pause or stay near long enough to plant)

I never waypointed RTCW.

Note: I make simple waypoints for maps only, No Bot roles, Routes or stuff like that.

Try stuff.

I have made escort goal for tank.

I was unable to make plant goal like in video:

(These videos were made by Member of Omnibot Team)

 

Edited by Buckwild
  • Like 1
  • Thanks 1
Posted (edited)

What I like about Omnibot ET OB_DMS

Is that You can make scripts with it(*map.gm and *map_goals.gm)

0: Omnibot Commands\*Make Map GM *map.gm is saved in et\user folder.

9: Goal Options\9: Save goals(Goals are already in ET map).

*map_goals.gm is saved with waypoints in et\nav folder.

Once I was waypointing and ETc Jay(Leader) connected to My IP(Home Host Game).

He saw that I was playing ET on xfire(Old chat program).

*Probably a first in history of ET because Host Game doesn't show up on Server Listing).

Edited by Buckwild
Add
  • Thanks 1
Posted

If You create Omnibot ET  map Game Manager for waypoints, You'll get this:

Debug = 1, // please set to zero before distributing your script.

I wold set to Zero right away, Don't debug.

  • Like 1
Posted (edited)

- Yes you mean the mygamingtalk forum? It's strange to me too, because as a visitor I can view everything, but as a registered member it says the forum is closed.
- Which is the game manager? I've never used it. 
- I think I'm stuck, I have too many questions on the subject. 🙂

It's also strange, for example, that when they get to the door, everyone jumps around until the dynamite is installed. Then they run away. You can imagine what it looks like when there are 20 bots in one place. 

image.png.6f2c10e55b47b41cf1d92774819332cb.png
I suppose to stop at a door and put the dynamite down you need to create a gm file that tells you exactly what to do, right? So don't stand there waiting for it to explode. Instead, it runs off in another direction and returns later.

 

So this window should be shot out:
image.png.83faab621e9fcc0306868b69e7224b02.png

 

They fall here:

image.png.73a6bff204e6c9cb37efefcfdb1e2468.png
Since I haven't managed to set this up yet, I'm going to lead the bots down a different path.

 

- "All scripts in Omni-bot are GameMonkey scripts. First of all you should read GameMonkeyScriptReference.pdf." Is it available anywhere?

Edited by rtcwtzs
Posted (edited)

If You look in Wolfenstein - Enemy Territory\et\ nav

There's 3 waypoint files per map of waypoints that come with Omnibot ET.

*mapname.way

*mapname.gm(game manager)

*mapname_goals.gm

 

No, You don't need other game manager.

Don't worry about what bots do, bots will try to get to ET map goals.

You can make a route that bots follow...Commands will be added to existing scripts.

But, I have never made a route.

First, Make *mapname.gm with menu: Press v, Press 0, Press 0(Make map GM).

(it will be saved in et\user folder)

Set debug = 0 near top of script of *mapname.gm.

Then move it to nav folder.

Then save ET map goals: Press v, Press 9, Press 9(Save map goals).

It will be saved to nav folder(The correct place) as *mapname_goals.gm.

Then, make waypoints, Bots will behave better...

 

Is Dev Menu opening(ET must be running onmibotmod).

Edited by Buckwild
  • Love 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.