Belo Posted May 7, 2011 Posted May 7, 2011 (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. 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 : 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 : 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 : 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. 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 : 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. 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. 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 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 March 30, 2018 by Fearless Staff 1 Quote
rtcwtzs Posted October 6, 2022 Posted October 6, 2022 Excellent description thank you! I want to learn the omni-bot. I'm stuck, I need this program: http://svn.assembla.com/svn/omnibot/Enemy-Territory/0.8/tools/route_tool/ How can I access this file? Quote
Leader RedBaird Posted October 6, 2022 Leader Posted October 6, 2022 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. 😄 2 Quote
Buckwild Posted October 8, 2022 Posted October 8, 2022 (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 October 8, 2022 by Buckwild Add 1 1 Quote
Buckwild Posted October 8, 2022 Posted October 8, 2022 (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: Edited October 8, 2022 by Buckwild Add 1 1 Quote
Buckwild Posted October 8, 2022 Posted October 8, 2022 Waypointing commads are in the OB_DMS.PK3: 1 1 Quote
rtcwtzs Posted October 8, 2022 Posted October 8, 2022 (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 October 8, 2022 by rtcwtzs 1 Quote
Buckwild Posted October 8, 2022 Posted October 8, 2022 (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 October 8, 2022 by Buckwild 1 1 Quote
Buckwild Posted October 8, 2022 Posted October 8, 2022 (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 October 8, 2022 by Buckwild Add 1 Quote
Buckwild Posted October 8, 2022 Posted October 8, 2022 This website may be useful source: Index of /et/download/waypoints: https://harryhomers.org/et/download/waypoints/ 1 1 Quote
Buckwild Posted October 9, 2022 Posted October 9, 2022 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. 1 Quote
rtcwtzs Posted October 9, 2022 Posted October 9, 2022 (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. 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: They fall here: 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 October 9, 2022 by rtcwtzs Quote
Buckwild Posted October 9, 2022 Posted October 9, 2022 (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 October 9, 2022 by Buckwild 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.