- Details
- Written by: INsane
- Category: Sturmbot Waypointing
- Hits: 10297
Updated Sturmbot Waypoint Tutorial
About this document and other links to waypointing Sturmbot.
Other guides: You can also read this guide. Sturmbot waypoints - By LiveWire and 1 collaborator.
Authors: This waypoint tutorial was created by Jowo and Envinyatar. Additions, editing, and formatting by
This document was edited again - INsane: From August 2019 to 31st Dec 2019, I have been updating and checking this guide made by Rich Nagel. It has grown in size and there is also about 2 hours of video footage added.
The final revision of this document is by INsane.
Using the index and internal document links: Inside the document there are internal links to other parts of the document. To get back to where your were, simply press your browser back button. The external links will open in a new window. Images with a magnifying icon can be pressed to view a larger popup version.
1. SturmBot waypoints, what are they?
Index1. SturmBot waypoints, what are they? 2. What do waypoints look like in the map? 4. INsanes alternate Menu and Keybinds |
9. Miscellaneous Waypoint Information |
Waypoints are locations in the maps that the bots will use when navigating. They allow the bot to roam about the map without having to blindly bump into walls. They are something marking a path to make it easier to follow.
The waypoints are not displayed while the game is being played.
The bots "know" which way to go by following the path laid out by these waypoints. In order to get the bots to cover the entire map when playing the game, waypoints should be laid out all over the map. Without the waypoints the bots will just randomly run around and will tend to stay in the same area.
Waypoints also allow the bot to know where specific goals are in the game. You couldn't play capture the flag unless you knew where the flag was. Waypoints are what makes all of these things possible.
Bots with sufficiently advanced waypoint information and algorithms (they do have instructions beyond waypoints and their AI programming also includes learning as they play) will be able to navigate from their current position in spawn start point to some goal on the other side of the map.
This document describes the commands needed to create, edit and fault find a waypoint file.
Basic first start up advice:
- When creating or editing a waypoint file it is best NOT to have any bots wandering around at the same time. You may have the "autopath" command set to on, every bot will now be making routes all over the map... it can be the end of your waypoints. Go to your dod/sturmbot/bot.cfg. Ensure you have this set... "min_bots 0" and "max_bots 0" if those commands are present.
- Create a LAN game (listen server) and join the game then start laying out waypoints for a map.
- Save your waypoints often, use the "waypoint quicksave" command if the normal save ("waypoint save" command) is too slow. (Note: with modern day computers this isn't a problem, in 2001 it was.)
- Ensure you know about the sturmbot "learn" and "temp" folders, they hold instructions that the bots collect as they play each round and not deleting them after a save can make waypoints work incorrectly. This is a very common fault and one of the major complaints from player installing new waypoints after playing another older set.
- Disconnect from the server, delete those learn and temp files, then start the game again, this time with the bots to see how good (or poorly) they follow the waypoints you have created.
- Normally you will need to investigate and alter things, there are some solutions in the "Miscellaneous Waypoint Information" section.
2. What do waypoints look like in the map?
The waypoints are displayed using vertical lines. The vertical line used to draw the waypoint is commomly the same height as the player. Some are shorter if crouched.
Different types of waypoints often have different colors, they (often not always) have different functions. You can read about that later in the "Types of Waypoints" section.
There are horizontal lines that look like lightning or electric streams these are paths (named "pathwaypoints") between the waypoints, they connect each waypoint to form a mesh of paths with intervals (the waypoints) that instruct the bots what route to follow and what to do when looking at the current or next waypoint.
The bots also have other instructions built in to randomly decide what route to take if they have a choice.
Basic Waypoints and Paths. |
Waypoints are stored in a file with the same name as the map file name but using the extension ".wpt" instead of the map file extension of ".bsp".
For example, the waypoint file for the map dod_caen would be dod_caen.wpt. It will be stored in the Half-Life\dod\sturmbot\waypoints folder.
Waypoint files are automatically loaded when the map is loaded (if they exist). If the waypoint file does not exist, you will need to create it using the directions contained in this document.
There is a bit more to read before you actually fire up a game and start editing. In this guide that starts in the section "Placing Waypoints".
Just slow down a bit and flick through the next sections as they hold references you will likely need later and also you really do not want to proceed without installing some special binds and a really helpful in game menu this guide is built on.
3. Waypoint Console Commands
The following Waypoint commands are available (note these ARE case sensitive). Don't worry about these too much right now, it is good to know them for reference but below this section we will discuss a menu or two so you don't have to remember them all and manually enter each one in the VALVe developer console. No one likes that much editing, most can do and simple map in 30 minutes with the menu or custom binds... it takes hours doing that manually.
Console Command |
Description |
waypoint on | Displays all waypoints. |
waypoint off | Hides all waypoints. |
waypoint add | Adds a waypoint at the current player location. |
waypoint readd | Creates paths from the last added waypoint to the other surrounding team-specific waypoints, and simultaneously removes any paths that are not of the same team as the last added waypoint. This also works for waypoints that are not team-specific as well. |
waypoint delete | Deletes the waypoint nearest to the player. |
waypoint save | Saves all waypoint data to a file, and also generates all routes (this may take some time). |
waypoint quicksave | Saves all waypoint data to a file (without generating routes). |
waypoint load | Loads all waypoints for the current map. |
waypoint menu | Brings up a menu were you can edit the waypoint options and tags nearest to the player. (See below). |
waypoint team | Turn it off and you will be able to edit waypoints for the other team. |
waypoint teamspecific | Will make the next waypoint that you add teamspecific. |
waypoint connect | Brings up a menu where you can select a flag that you wish to connect to your current waypoint. |
waypoint creator | (See below). |
waypoint help | Prints all console commands in the console (See below). |
autowaypoint | Displays the status of the autowaypoint setting. |
autowaypoint on | Turns on the autowaypoint setting. |
autowaypoint off | Turns off the autowaypoint setting. |
autopath | Displays the status of the autopath setting. |
autopath on | Turns on the autopath setting. |
autopath off | Turns off the autopath setting (waypoints must be manually connected with pathways). |
pathwaypoint | Displays the status of the pathwaypoint setting. |
pathwaypoint on | Displays all paths. |
pathwaypoint off | Hides all paths. |
pathwaypoint create1 | (See below). |
pathwaypoint create2 | (See below). |
pathwaypoint remove1 | (See below). |
pathwaypoint remove2 | (See below). |
ways | Displays the status of the ways setting. |
ways on | Displays all routes. |
ways off | Hides all routes. |
ways rebuild | Rebuild all navigation routes. |
ways create1 | Manually start building a route (very rarely used). |
ways create2 | Manually finish a route (very rarely used). |
ways remove1 | Manually start deleting a route (very rarely used). |
ways remove2 | Manually removes a route (very rarely used). |
connection create1 | Start creating a connection. |
connection create2 | Creates the connection. |
connection remove1 | Start removing an connection. |
connection remove2 | Removes the connection. |
Traditionally to use the waypoint commands, you had to use the console. It's the way the developers of Sturmbot designed it and the "official" waypointing guide is here if you want to go that way.
I (INsane - editing this guide in 2019 ) do not advise it. Instead I will attempt in the sections below to edit Rich Nagel's guide with an updated menu method that was not around when he made his guide.
4. INsanes alternate menu and Keybind waypointing method.
I have a custom menu that replaces the in game "command menu" (file address - dod/commandmenu.txt) This will be used while updating this page.
You can download that in the Sturmbot 1.9 for Steam dod version manual zip package, look for the folder "OPTIONAL_SturmBot Dev Menu". There is a readme that will get you set up quick.
You can leave this new custom menu as your main menu as it has all the stuff in the standard dod one plus special sturmbot playing commands and even a player menu for some custom audio and visual commands while playing.
Install that now and come back here!
INsanes Sturmbot Dev Menu | The number pad keybinds |
The images to the right shows the custom "in game" menu (left) and a keypad bind layout (right). The menu was developed by me to simplify and speed up the waypointing process.
As you can see by the amount of commands in the above section remembering all of these commands is hard!
A lot of the "buttons" have multiple sturmbot waypointing commands all activating at once.
This way you are dealing with a better user interface that is at least in English (sorry there are no language conversions but feel free to make one off this one).
To compliment that I have my own special set of keyboard binds that use a config file (File address - dod/SturmBOT_Menu.cfg)
As you can see in the image to the far right it is only for...
- Adding a single waypoint (where you stand) - Key Pad Plus - "waypoint add"
- Deleting single waypoint (where you stand) - Key Pad Minus - "waypoint delete"
- Manually adding paths between waypoints - 1st press Key Pad 7 "pathwaypoint create1" and Key Pad 9 "pathwaypoint create2"
- Manually remove paths between waypoints - 1st press Key Pad 4 "pathwaypoint remove1" and Key Pad 6 "pathwaypoint remove2"
Here are the contents of the SturmBOT_Menu.cfg that supports the menu and adds the binds...
Oh and don't forget - place "exec SturmBOT_Menu.cfg" in your userconfig.cfg or config.cfg file for this to work
...
|
Contents of SturmBOT_Menu.cfg |
The point of the menu is convenience and speed and still provide access to all the commands noted in the standard menus in the below section.
My menu adds nearly all commands and even dumps information in the console for those difficult commands that can only be used via the console. Like this command, "waypoint info".
5. The Standard Sturmbot Waypoint Menus
Typing "waypoint menu" in the console will display the following "Waypoint Menu".
Waypoint Menu Note: You can also access these standard menus from my custom in game menu. See images...
Get the standard Sturmbot Menu |
Get the Waypoint tag menu (A set of 4 choices per menu) |
1. Add waypoint 2. Delete waypoint 3. Load waypoints 4. Save waypoints 5. Paths 1. Show paths 2. Don't build paths 3. Add path 4. Delete path 5. CANCEL 6. Waypoint Info 7. Waypoint Options/Tags 1. Crouch Jump 2. Door Waypoint 3. Bazooka Target 4. Sniper Spot 5. MORE... 1. Flag Location 2. Capture/Bomb Location 3. Object Location 4. Precision Waypoint 5. MORE... 1. Guard Spot 2. Bottom Ladder 3. Button Waypoint 4. Navigation Waypoint 5. MORE... 1. Break Waypoint 2. Capture Area 3. Wait Waypoint 4. Sprint Waypoint 5. MORE... 1. Obstruction Waypoint (Bazooka) 5. CANCEL 9. CANCEL
These menus (the standard ones or INsanes alternate "Dev" menu) are very handy.
The are many commands in Sturmbot and remembering them all is difficult. You will see why these are important in the next section when you start working on waypoints.
6. Placing Waypoints
The best way to explain this is a video or two, they are below. This basic information is covered in a guide in "dod/sturmbot/WaypointTutorial" folder. That guide is basic and does not include a custom menu that the videos are based on.
Please read part 1 as there are downloads and some setup files to install those.
In the Videos I waypoint a small developer textured map called dod_lime_bsl_b1. There are many ways to lay down a set of waypoints, the method I use is one way to complete these small simple maps, at least it will get you started.
These are the best map types to learn on, I strongly advise you use that method and map type first and build up your skills gradually by doing another one with ladders, move on to dod_anzio, then try the more complex dod_avalanche, finally try dod_jagd (bazooka's and document capture). dod_charlie is also a good test of skill.
The best way to pick up techniques and troubleshoot layouts is to gain enough skill to use the tools in sturmbot (they are shown in the videos) and load up Waypoint set made by a good waypointer, like Martee, Gamedrianed, Gooofy, Godcha.
Martee has a different style to the others, make sure you view his waypoints, he has the best waypoints out of all of them and his style is less traditional compared to the rest.
Videos
Part 1 - Basic waypoint placement. Controls and the spawns |
Part 1 - Basic waypoint placement. Controls and the spawns
In part 1 you will learn some basic beginner tasks for placing waypoints and pathways.
You will need to have Sturmbot installed of course, you will also need some special keyboard binds and a special "Dev" menu.
The required files:
- Download the Sturmbot manual zip package.
- It has the special menu and key binds in a folder called "OPTIONAL_SturmBot Dev Menu"
- Read the readme on how to set up the menu and special key binds.
- Part one (and others) use a map called dod_lime_bsl_b1
dod_lime_bsl_bi is a small, simple developer texture map and has the normal 5 flag set up you will find in most day of defeat maps. It is the best map to start on as there are no ladders or other complex items to take on. First you need to walk, then you can run.
This will set you up with enough to waypoint the allied and axis spawns. The videos that come after this one will continue until the entire map is waypointed and saved, enough for a play test check up.
Part 2 - Placing Waypoints. The general playing area, jumps and handy hints |
Part 2 - Placing Waypoints. The general playing area, jumps and handy hints
This is part 2 of the Sturmbot Waypointing Guide.
In Part 2 the waypointing of the general play area is done, we touch on one difficult area that the bots need to jump over.
There are also some tips on waypoint tags. This take the guide up to the point were we have waypointed most of the map and sets up the next video.
Part 3 after this video deals with the more complex task of flags and special "Ways" routes.
Part 3 - Placing Waypoints. Set up flag and capture areas, set up "Ways" special paths. |
Part 3 - Placing Waypoints. Set up flag and capture areas, set up "Ways" special paths.
Time to set up flag and capture areas.
We also explore what "Ways" are, a special route based on a Navigation waypoint set.
We will also save the waypoints to a file.
In Part 4 after this video we will play test the map and look over the map for any final adjustments.
Part 4 - Placing Waypoints. Play test, check and adjust. Finalise the file. Finished. |
Part 4 - Placing Waypoints. Play test, check and adjust. Finalize the file.
In Part 4. Flag and capture areas done, we have play tested and have items to fix.
The play test uncovered some small issues around the centre capture zone, there is always something to do after the first and second play test!
There are a few more handy tips like finding a waypoint, how to access spots via a sv_gravity "cheat".
Finally we finish naming the file with the "waypoint creator" command.
The waypoints are ready to share with others.
Whats next?
If you followed what to do in the videos and worked on a successful set of waypoints or two for these smaller, less complex maps, the best way to learn is to find a set of waypoints made by others and look at what they do in their sets.
You have all the tools to investigate. Say you want to look at a map like dod_jagd or others that have complicated captures done by Bazooka or in the case of dod_charlie where satchel charges are needed to blow up objectives to cap them out.
Download and install a set from an experienced waypointer (like Martee or from the waypoints downloads section on this site) and observe how they arranged their waypoints.
If someone made a set, please don't adjust a small portion and rename it yours then share it. Sure it may be broken but you didn't put in the hours for moving a waypoint or two. Best way is to leave the waypointers details (first) and place in - adjusted by Joe (2020).
That way others will know on the start up screen it isn't a orgional set. Like using "waypoint creator" after a quick adjustment on my set in the Tutorial. You would do this in console...
waypoint creator "Waypoints by INsane 2019. \n Adjusted by Joe Jan 2020."
That would create a message in game as you start up the map...
Waypoints by INsane 2019.
Adjusted by Joe Jan 2020.
More than just good manners, it makes the waypoint file unique, all waypoints in the dod/sturmbot/waypoints folder end up with the same map name no matter who made them. If you open them in notepad++ you can see the waypoint creator name in the header of the file. If you do open with a text file editor... don't save them it will destroy them.
This is important if someone made another version of a map, it has no waypoints but all is required is a rename of the file, place in the waypoint folder, adjust them, save them and they are now OK for that map version. You would rename them so other waypointers know where they came from.
In the next section the main waypoints and waypoint tags are explained.
7. Types of Waypoints
There are different types of waypoints. Waypoints can be placed while either walking - standing or crouching.
Using the "waypoint menu" we can also apply a "tag" to a waypoint from a special menu when standing on the waypoint. This alters the properties for that waypoint and instructs the bot to carry out an instruction. You can have multiple "tags" on a single waypoint.
Look at two first types below a "Crouch Waypoint" is added if you need to get under something like the sewer pipes in dod_kalt.
Now look at the "Crouch /Jump Waypoint" example, its a Crouch waypoint and a extra "tag" added via the menu that also makes the bot Crouch/Jump as soon as the bot gets to the pole before it and reads the next instruction.
Important note on where to place a "tag" : A note about how a bot uses the information. At a waypoint the bot is already reading and acting on the next waypoints instruction.
If you see a bot acting too early on certain waypoints you may have to move that "instruction" to a waypoint further along.
As a bot reaches a waypoint he is actually reading the next waypoint and starting to act on that command. So be mindful where you place that command.
The best way to visualise this it to spectate a bot as it moves through a waypoint set, you can get a feel of how they think, what and when they need an instruction to be placed correctly.
The Sturmbot menu "Waypoint Tags" does not have all the different waypoint types. It does alter a base waypoint type.
The list below are standard waypoint types.
These are applied via the "waypoint add" command. After that you can add a "Waypoint tag" or many waypoint tags to further instruct the bot what to do at that waypoint.
Waypoint type | Appearance | Usage | The command |
Non-team | Blue |
The most common type. Used by all teams and makes up the bulk of waypoints in the map. |
"waypoint add" with "waypoint team off" |
Team Specific |
Red (axis) or Green (Allied) |
These two waypoints are used by bots on the axis or allied side. They are basically another common, general use waypoint like the non-team type. The only difference is if you used the command "waypoint teamspecific" after placing a non-team waypoint then whatever team you are on (like red for axis) that waypoint you place next will only be used for bots on the axis team. Use the "waypoint teamspecific" toggle command again and the next waypoint will be a non-team waypoint. |
"waypoint teamspecific" Toggles between non-team and the side you are on. |
Crouch Waypoint | Half size and Light Blue | Usage of this is mentioned below. It is less common. Basically if you need the bot to get under something then do that action yourself and add the waypoint. | Just crouch and use "waypoint add" |
Weapon Waypoint | Dull Green |
This is applied like the crouch waypoint. It's simply a non-team or team waypoint and if you step over a weapon like a bazooka or a satchel charge (typically in spawn) you will note the waypoint turns dull green in color. The bots will stop and pick up that weapon, most times not always. If you type "waypoint info" and look at your console it will say... Non team waypoint |
Just stand on the weapon and use "waypoint add" |
"Crouch Waypoint"
Normal Crouch waypoint |
(not in the Waypoint tag menu, activated when crouched and you add a waypoint)
This will force the bots to crouch when they are heading for the waypoint. These waypoints are automatically created if you crouch while adding a waypoint.
You use this in places like dod_kalt in the sewers, there are pipes the bots need to go under, just crouch and add a waypoint, now the bots go under the pipe.
"Crouch /Jump Waypoint"
Crouch /Jump Waypoint |
Forces the bot to crouch and jump when he is heading for this waypoint. Place this one on the top of an obstacle which you want the bots to jump over.
Note: Make sure that the object isn't too high to actually jump over. It is best practice to make a Precision Waypoint just before the Crouch/Jump waypoint.
This set should be close together, just like you do as a player when setting up a crouch/jump. Also make sure the set of waypoints is in a straight line or the bot will change direction mid jump, the bot really needs to be slowed down a lot during these jumps and you should check and test these waypoints.
You should also note the similarly named following waypoint "Crouch" that has not got a jump function tag and used for a different purpose.
"Door Waypoint" (also used as a "walk" waypoint) "Door / Walk" waypoint
Door WPT - and escape route | Bots commonly get stuck in doors |
The bots will slow down and push the "use" button when it is heading towards a door waypoint.
Explanation: Going through doors is not the easiest manoeuvre for the bots. Most doors need to be pushed open. In addition to that, there is also a delay for the door to swing open wide enough, and then the door closes.
Also, the bots tend to "look" left and right as they walk. When they are looking around and encounter a door (and happen to be looking left or right at the same time), the door may open towards them in the wrong direction.
To help with these issues, we have the "door waypoint". The door waypoint prevents the bots from looking sideways, and also forces them to pause for a short period.
The "Walk" part. It also slows down the bot. If you use the command "waypoint info" while standing on a "Door" waypoint you will note what the engine returns in the console...
Non team waypoint
This is a door/walk waypoint
Tips: Place a door waypoint in the middle of the door frame. Provide an escape route (see images). Also see the "Wait" waypoint tag, it could help in areas like this.
Always test your waypoints with as many bots on the server, visit places like this and observe the area. In doing this you will have to alter doors, the images provide some solutions.
There is no one way to do this as doors are all different. Knowing all waypoint and path options and testing is the only rule here. Think out of the box, the last resort is you may have to avoid the door entirely and force the bots on another route.
"Bazooka Target"
This waypoint tag has a little more to it than just adding a tag and bots will do what you want, point a bazooka at the tagged waypoint. There are some items you should know about the main dod files and how sturmbot and bazooka's interact.
Sturmbot was being upgraded past version 1.6 at the time Bazooka's were made a selectable class in dod steam ver1.2 (2 April 2003). Sturmbot has never got a bazooka class as Johan Linde (Jowo) tragically passed away and had not finished the updates.
However, before that dod ver 1.2 update there had been bazooka's in the game. They were installed in maps, usually at spawns on the ground and you could pick them up via walking over them and pressing the "g" key (Default key "g" = "drop" command). If you have the correct cvars set you can see them in the spawns of supported maps like dod_cean, dod_kalt, dod_jagd, dod_vicenza and dod_zalec.
So while sturmbot does have bazooka capabilities it relies on dod to ensure the bazooka's spawn correctly.
Guess what. The main dod files have been screwed up so by default bazookas DO NOT spawn. If you are going to waypoint for bazooka's then you should...
- Make sure you use my latest Sturmbot install files as the main dod folder files have a fix for this.
- Or, download this package as it has the same fixed files and a PDF explaining the issue in depth.
The Bazooka's in dod maps have two main tasks...
- A weapon that is used to remove obstructions like walls so you (and the bots) can progress through a route. dod_cean and dod_kalt is like this.
- A weapon that is used to destroy vehicles and cap out the map. dod_jagd and dod_vicenza are like this, without bazookas dod_jagd cannot be capped by axis as it requires two tanks to blow up. In dod_vicenza even though it says you can blow the vehicles with satchel charges, you cannot, you must use a bazooka to cap out.
The issue with removing obstructions like walls. The Bazooka waypoints for those two tasks have different needs, the bots need to know what they are blowing up is an objective (like the tanks in dod_jagd) or simply a wall they need to blow up and continue through the route.
dod_vicenza walls | dod_cean walls |
If the map is enabled to have bazooka's spawn then on some maps and some locations within that map the bots "know" a wall is to be destroyed, without waypoints they aim at the wall and fire.
I have seen this in dod_vicenza, in the centre area there are two walls at either end of "The Sniper Ledge" the bots will blow these as soon as they see them.
The same in dod_cean, just near the allied second there are 3 walls allied can blow, as soon as a bot armed with a Piat can see the top sniper spot or one of the lower ones he shoots at it, no waypoint tells them to do that, they are reading a entity in the maps .bsp file.
But, even if you place a bazooka waypoint on one of the other lower ones (the one facing towards the allied second flag) the bot ignores it even though you set a waypoint correctly.
When you place a bazooka tag on a waypoint and use the waypoint info command you get this message...
Bots will fire bazooka at this waypoint. If the waypoint also is a Break waypoint then the bots wont think destroying the target is an objective.
Just be aware for "obstructions" it is quite buggy. You may think your waypoints are working... but try that area in dod_cean, the bots are not working off waypoints. 😕
Based on the evidence I have seen watching bot behaviour after adjusting waypoints the bots are already hard wired and know about the map brush entity "func_breakable" that the walls are made from.
So placing in a 'Bazooka" or "Obstruction" or "Break" waypoint tag will certainly not hurt as they will likely attract the bots attention. In play testing the issue on the dod_cean wall the bots never targeted with the bazooka, I tried a "Obstruction" waypoint and the bots fired at it with a bazooka.
They seem to be aiming for the centre origin of the brush entity so giving that a partially covered target would end up in a miss. They seem to give up trying after a couple of goes and place that into the learning files. After that the other bots also ignore that particular target... until you remove the learn files.
So what did I learn about Bots, Bazookas and breakable walls for waypointing?
1. Placement of the route itself is important leading up to a func_breakable may be more important than the waypoint tag "bazooka". If you are making a route up to a breakable wall, try and get the entire route waypoints positioned either for a blocked shot (bots can't see the target) when far away and as you get closer only place a waypoint in a spot that is aiming in the direct centre of the broken wall (centre origin of the entire func_breakable block).
2. Bots decide to use the Bazooka as soon as they "see" a func_breakable target. A waypoint is a decision point in the main route so placement is critical to when they shoot. Experiment with the waypoint position in the routes around func_breakable areas, make sure all the waypoints you place in an area with func_breakable blocks have a good aim point to the centre origin of the entire func_breakable block.
3. Bots do react to the Bazooka waypoint tag? Yes. In the next issue below you will see that. They do on most occasions (if set up like the below "cap out the map" example) seem to shoot at Bazooka and "Obstruction" waypoint tags.
4. Do bots shoot at a "Break" waypoint? NO. No they do not shoot at a "Break" waypoint that is used to destroy items like the wood doors on gates on dod_flash or the small metal grates over manholes in dod_kalt. You can see that if a bazooka enabled bot tries to get into the dod_kalt sewers, the bot with a Bazooka will not shoot the metal grill over the access manhole, but a bot with a normal gun will. Their seems to be a difference between the large walls and the smaller doors and metal grates in the map entities and the bots are reading that value.
Now on to the second situation where the Bazooka waypoint tag is used. Less buggy... but has to be done correctly.
Issues faced when destroying vehicles to cap out the map. Unlike the somewhat buggy issue above there is a good work around to use a Bazooka tag on a waypoint and it is much more reliable... if you do it correctly.
During the 2019 review I worked with Martee on this issue, we found this worked.
The fix found for a correct waypoint circuit, this fix also helped all maps that need bazooka's to cap the map. |
This workaround connects to a general circuit and you will notice the path (pathwaypoint) connection to the axis waypoints from the bazooka waypoint are facing away from the main route on both sides.
If you placed the pathway to the waypoints closer to the main routes this becomes unstable, the bots shoot too soon before they round the corner of the building. Do it exactly like this and it will work. The same technique was used on dod_vicenza and it worked there too.
So as you can see the Bazooka's are overall buggy in the game but when they are set up correctly they do work.
"Sniper Waypoint"
Sniper Spot waypoint |
This will advise the bot to snipe at that place.
The bots will look at the same direction as you when you changed the waypoint to a sniper spot.
You will note a small blue waypoint indicating what direction the bot will look. Always provide a way to get off the waypoint and move on to other objectives, it may be OK to have these at your first flag but not helpful if the team is on the last flag calling for back up.
Yes, they do respond to the standard dod voice command "I need backup" ("voice_backup").
"Flag Waypoint"
This will let the bot know where to find a flag. Placing a flag waypoint isn't the end of it. The Flag waypoint tags are part of a set in the overall route. The best way to see where this is used is the video "Part 3 - Placing waypoints" in the placing waypoints section.
"Capture/Bomb Location"
Capture/Bomb Location Martee |
Capture/Bomb Location Godcha |
The bot will leave the object or the bomb at this location.
Commonly used added to a waypoint at a capture zone or flag that needs a satchel charge placed to cap the area.
Make this waypoint a "break" waypoint if the bots need to break a wall or something to get through.
There are two examples from two different waypointers on dod_charlie both work OK.
"Object Waypoint"
Object Waypoint |
The bot will try and find a capture waypoint as soon as he has picked up the object.
This will let the bot know where he can find an object or a bomb.
You just make a waypoint over the TNT (like on dod_escape in Axis spawn) or the satchel charges on the beach on dod_charlie.
See the image on the right.
It is not required for the bot to know as they will pick these up automatically as they walk over the waypoint.
But... these may be tied to the control entity system in the map, so for neatness sake I would place them in like Godcha did on dod_charlie.
"Precision Waypoint"
The bots will make sure they hit this waypoint before they continues (useful if the bots get stuck because they turn to the next waypoint too early).
There are places this comes in handy like a set of waypoints to make a bot crouch jump over an object, the waypoint just before a ladder. The best way to see where this is used is the video "Part 2 - Placing waypoints" in the placing waypoints section.
You can also slow down a bot by making them crouch and walk. It takes off the speed and provides more accuracy.
Look at the "Crouch" waypoint (not a waypoint tag, a unique waypoint) and the "Crouch / Jump" waypoint tag for examples.
Also the "Door / Walk" waypoint can slow down bots walking upright.
"Guard Waypoint"
Guard Waypoint |
This waypoint works the same as the sniper waypoint. Place it close to a flag, and the bots will guard it if necessary.
Place these behind turrets or mounted machine guns (along with a "Button Waypoint") if you want the bots to use them. You will note a small blue waypoint indicating what direction the bot will look. Always provide a way to get off the waypoint and move on to other objectives, it may be OK to have these at your first flag but not helpful if the team is on the last flag calling for back up.
The bots will also head towards a guard waypoint if their team is defending.
"Bottom Ladder Waypoint" (And the "ladder waypoint")
These need to be placed on a ladder if you want the bots to climb it. Set the bottom waypoint at a position where you're already "stuck" to the ladder. At the top of the ladder you should place another ladder waypoint. Set this at a position where you can look ever the edge. If the ladder is quite a long one, you might want to place another ladder waypoint in between the other ones.
In most cases you will need to connect the waypoints manually by using "pathwaypoint create1" and "pathwaypoint create2". (
For better climbing, use a "Bottom Ladder" waypoint at the bottom of the ladder so they will jump off the ladder. If there is no connection between the waypoints the bots will NOT climb the ladder!
The best way to learn how to use this is to download a good waypointers file, observe the bots are using a ladder well and look at how the waypointer did it.
I say that as ladders and bots are not good friends.
Some ladders work OK, some not. It isn't something you can solve sometimes as it depends on how the mapper made the ladder, if they did a sloppy job the bots will stick.
Sometimes you just have to pick another route around the ladder.
"Button Waypoint"
Button WPT - Single press button |
The bot will try to push the nearest button when it has reached a button waypoint.
This is not only for traditional buttons like the example in dod_rats_caravan, in that case a table lowered and cut off a route on the ladder, just at that cut off point another alternate route was made for the bot to hop off the ladder, go to the switch, press it, the table lifts then the bot can exit the button area and go back to the ladder.
if you go to the map dod_forest the centre section has mortars. Custom map dod_hill is another with mortars.
You can get the bot to fire them if you place a waypoint near them and apply a Button tag.
Its like your "use" key (Default key "e" "+use") so if an item in game works for you with the "use" key then this bots will be able to do that as well.
"Break Waypoint"
The bots will shoot breakable objects at this waypoint (breakable windows, doors, mortars, etc...). If the waypoint is also a bazooka or a capture waypoint, then they will use their bazooka / bomb to break it. If a bot doesn't have a bazooka or a bomb, then he won't try to use this waypoint.
The best example is the metal grates in dod_kalt. On map start there are metal grates over the sewer entrance, the bots need a instruction on a waypoint on or just behind / in front of to fire bullets at the grate. Once broken they can go down the sewers and use the routes.
"Capture Area"
This will let the bot know that it have to hold this area for a time, and in some cases be at least 2 or 3 players to capture it.
You have to connect this waypoint with the nearest flag waypoint so the bot knows which team that controls the area.
You can do this exactly the same way that you add a path between waypoints, but exchange the "pathwaypoint create1/create2" command to "connection create1/create2". Or, simply use the "waypoint connect" command when you stand at the capture area waypoint.
The best way to see where this is used is the video "Part 3 - Placing waypoints" in the placing waypoints section.
"Wait Waypoint"
The bots will wait until there are no other players at the next waypoint (useful if the bots congregate and get stuck in "choke" areas, such as narrow doorways). Also see the "Door" waypoint tag to see where this may be used.
"Sprint Waypoint"
The bots will run when towards this waypoint as they approach it.
Note that Sturmbot's do NOT loose stamina when they are running (like the human players do)!
"Obstruction Waypoint" (Bazooka)
This waypoint is used in conjunction with a "bazooka target" waypoint, and a "break" waypoint. The addition of this waypoint instructs the bots that this obstruction will need to be destroyed in order to pass through.
Compared to only a simple "bazooka target" waypoint (which is generally used for map objectives that need to be destroyed in order to win the map; such as tanks, gun placements, etc...), this waypoint instructs the bots that the obstruction only needs to be destroyed with a bazooka in order to navigate through the area.
You would use this on places like dod_cean to access side routes. But a warning, please read what I found in the "bazooka target" waypoint tag. The bots seem hard wired into the map entity func_breakable and fire at those spots anyway.
I have not seen this used much with success and I am not convinced (INsane 2019) anyone knows it this works or not.
I will post any updates as I find them. It requires a lot of testing.
8. Navigation Waypoints (Ways)
Navigation waypoints are used for better bot navigation. If no navigation waypoints exist, the bots will always use the shortest path (and won't "learn" which paths are most dangerous). Navigation waypoints shall be placed where the bot diverge to other routes, near goals (like flags or capture waypoints) and in the middle of some long routes.
Note: Please see the videos in the Placing waypoints section. Especially Video 3.
You can place Navigation waypoints by using the "waypoint menu" while standing on a waypoint that shall become a navigation waypoint. If the waypoint you are standing at is non-team-specific, then it will make 2 waypoints (one for each team).
After placing some navigation waypoints, you will have to rebuild the navigation routes (using the command "ways rebuild"), and then save the waypoints in order to make the bots use them and learn from them. Turn on the displaying of the ways by using "ways on" and add new navigation waypoints where it's necessary.
Fig. 1: |
Fig. 2: |
9. Miscellaneous Waypoint Information
Waypoint Commands and other items that didn't fit in the other sections.
Waypoint help.
If you want to see a list of all waypoint commands while playing, you can type "waypoint help". You will then see a list of all waypoint commands used by SturmBot in the console. They are listed in section 3.
Manually Creating a Path
Type "pathwaypoint create1" when you are standing at the waypoint the path should start at. Run to the next waypoint and type "pathwaypoint create2".You can do the same to remove paths by using "pathwaypoint remove1" and "pathwaypoint remove2"
Note: If you want the path to be a two-way path (not just a one-way path), you will have to do the same again but start at the waypoint without any path.
This covered in the Placing waypoints section see Video 1.
Waypoint Connect Menu
Waypoint connect menu |
The waypoint connect menu can be viewed via the command "waypoint connect".
It brings up a menu where you can select a flag that you wish to connect to your current waypoint.
This special menu connects a waypoint of your choice to a flag entity, its a way for the waypoint engine to talk to the maps control system and pass that on to the bots of where flags and capture points are in the map. You can see an example in the image to the right, the menu is on the left middle of the image.
Waypoint Creator Information
You can let SturmBot show a message when the map starts by using the "waypoint creator" command. Here is an example
waypoint creator command "This message will be shown when the map starts. \n This is a new line."
This is covered in Video 4 in the Placing waypoints section.
Common Problems
After you have placed some waypoints and added a bot to test how good the waypoints are, the bot might spin and say "Warning no route from waypoint *** to waypoint ***".
This is probably because you haven't saved your waypoints after you have changed some of them, or because there actually is no path from the waypoint that the bot is standing near to the waypoint he is talking about. To fix that, find the waypoints by using the "waypoint find" command (See below), and then check if there are any paths from the waypoint to another.
It can also be related to the learn files. Save your waypoints and exit the game. Delete the learn and temp files and rejoin the map and play test again.
Waypoint Info
When you get into the advanced side of Waypointing, the editing and final cleaning up/checking, you may come across a waypoint you have to edit, the waypoint is a special one with a tag... but what type of tag and what side (axis or allied) does it belong to?
Sturmbot has a command called "waypoint info", very handy, stand over a waypoint, open the console, type in the command and it displays it in the console :)
It has some problems... if you have not set "waypoint team off" it will only tell you about your current teams waypoints/tags 😝
Waypoint info menu location | Waypoint info - the console output |
The menu way is easier and it takes care of those problems...
1. Click on "Waypoint diagnostics"
2. Then ""Waypoint info (READ CONSOLE)""
3. What happens after the click is the console opens for you, at the same time it activates the "waypoint team off" and the "waypoint info" command.
It also adds a spacer to separate the different ones you looked at.
Finding a Specific Waypoint
To find a specific waypoint, you will have to enter the command "waypoint find ***", where "***" is the number of the waypoint that you want to find. You will then see a light beam from your current position to the waypoint that needs to be found. If you are using this with the intent to edit paths on the waypoint, be aware that you should turn off the beam as it can make some paths not visible. To turn off waypoint find it is done simply by typing in "waypoint find off".
Forcing a Bot to go to a Specific Waypoint
You can force all of the bots in the game go to a specific waypoint by entering the command "waypoint test". All bots in the game will react, and try to find the waypoint nearest to you.
This can be very useful if you want to test if the bots can get up a specific area in the map (e.g. a sniper location, an area where a bot must jump, etc...).
This is covered in the Placing waypoints section see Video 4.
Flag Debug
Join a team (i.e. do not play in "spectator" mode), and type "flagdebug" in the console window. This will list the various flag entities in the map.
If you assigned the waypoints properly, this command will also list the teams associated with the flag entities in the map like the following example used on the map dod_avalanche:
Controllpoint 0 (POINT_AXISSTREET) index = 4 team = 2 alliedwpt = 158 axiswpt = 202
Controllpoint 1 (POINT_AVALANCHE_MARKET) index = 2 team = 0 alliedwpt = 16 axiswpt = 375
Controllpoint 2 (POINT_ALLIEDSTREET) index = 0 team = 1 alliedwpt = 2 axiswpt = 237
Controllpoint 3 (POINT_AVALANCHE_AXISGUNPOSITION) index = 3 team = 2 alliedwpt = 3 axiswpt = 377
Controllpoint 4 (POINT_AVALANCHE_ALLIEDGUNPOSITION) index = 1 team = 1 alliedwpt = 4 axiswpt = 378
The "Learn" and "Temp" files. Why and when you should delete them.
The bots record specific information as they cycle through maps. They store information of the routes and while I have not found a lot of information in readme's I can tell you about some issues you may have if you ignore them.
Learn and Temp | Learn files mapname.lrn | Temp files 3 types. |
Looking at history changelog, way back in Sturmbot Version 1 there is this... Added:- Bots will learn by their mistakes.
Then again in Sturmbot Version 1.5 Added:- The bots now learn which sniper spots are good and only guard areas where enemies usually come.
Then in version 1.6 Added:- "learn_priority" and "random_skill" commands. and Fixed:- Improved bots learning.
So they "Learn" and record information. That information while clever can also be a problem for altered or new waypoints.
Lets say I have a standard "dod_anzio.wpt" file in the dod/sturmbot/waypoints folder. Now if I had played that a few times then the bots have recorded all sorts of information on the best sniper spot waypoints, a route that is too dangerous. The bot will find that information in the dod_anzio.lrn file in dod/sturmbot/learn folder. This will also affect the "Ways" navigation information, that can really confruse the bots.
Now I decided to change the dod_anzio.wpt file and fire up the waypoint engine, I do all sorts of improvements and place in some new routes, maybe remove that sniper spot waypoint the bots recorded and totally revamped the spawn waypoints and routes.
What happens next is the bots will likely run around not finding the new waypoints as they are looking in the dod/strumbot/learn and temp folders for files and going of that instruction.
Lesson here is... delete those "mapname.lrn" files after radically changing the waypoints. or as it says in the text file of the learn folder...
"The files in this directory contains data from what the bots has learned during the game. If you are haveing any problems when starting a map, delete the .lrn file for that map and try again."
Its good advice, do it regularly. Consider also emptying the temp folder files as well.
In Conclusion...
Below is the conclusion from Jowo (Johan Linde).
For me (INsane) and others like Rich that have tried to make a manual for Sturmbot I will quote Johan Linde...
"Phew! I hope I didn't miss anything"
It is an insanely difficult topic as Johan never finished his program. The manual was never completely finished (like the main program) and I have tried to place in as much as I could from what I have observed and learned. I may add things as I find them after 2019.
Here is Jowo and Envinyatar's original conclusion....
Phew! I hope I didn't miss anything. Remember... the better the waypoint file, the more fun it is to play with the bots! If they are stuck somewhere on a map, it's usually the fault of the waypoint file creator.
Note this is Jowo's old addresses, they obviously don't work now: If you've got questions not answered here, please mail me at
Send any waypoints you create to
Happy SturmBot Waypointing!
This waypoint tutorial was created by Jowo and Envinyatar.
Additions, editing, and formatting by
Re-edits by INsane 31st December 2019.