Preface
This plain English article will provide insight on waypoint mapping for the rest of us. It's a given that if you make a post on the forums spamming SOEMONE WAYPOINT MY LEVEL!1, no one is going to do it for you, because you are a loser and your map probably sucks. Take the initiative and atleast give waypoint mapping a try before begging for help. And if you want help and have not yet been offended by my modesty lacking introduction, read on from here.
Assumed Knowledge
By reading this article, it is assumed that:
. You have played Soldat with bots.
. You have made a map with the official Soldat map maker.
. You want to learn how to map waypoints or have a basic understanding of it.
. You've read the map maker help file.
This is not the place to find someone to waypoint a map for you!
What Are Waypoints?
A waypoint is a point on a map that contains instructions on moving about the map for bots who make contact with it, provided that they are not worrying about something else nearby. They are invisible and have no effect on human players.
When a bot player is created at a spawn site, it is programmed to act in a defensive manner. If there are no pressing matters for the bot to deal with, it will not make any actions unless there is a waypoint to guide it. Waypoints ensure that bots can interact with and make their way around a level; the intent of this is to make the map playable for a single human player (or more, or less) with bots. Waypoints are absolutely essential for infiltration and capture the flag maps.
How Waypoints Work
When a bot is following a waypoint path and makes contact with a waypoint (paths will be touched on shortly), it will follow the instructions that are included in the waypoint; by instructions we mean one or a combination of the following:
. Move left
. Move right
. Jump (up)
. Crouch (down)
. Use jetpack
also:
. Wait x seconds before following instructions
. stop and camp
(note: obviously some combinations of these are impossible and will cause the bot to malfunction)
The instructions are read as soon as the bot makes contact with the waypoint. At this point, any instructions the bot was following from a previous waypoint are terminated and it henceforth begins to follow the instructions read from the current waypoint.
The bot will follow the instructions until it makes contact with another waypoint in the current path, encounters an enemy player, encounters a team mate with the enemy flag or objective or discovers that its corresponding team's flag is nearby and not in the base.
In the case that the bot meets an enemy player, it will ignore any instructions it was following until the enemy is no longer in the bots field of view. Obviously, this problem can be solved by killing the enemy!
In the case that the bot encounters a team mate with the enemy flag or objective, it will once again ignore any instructions and instead revert to following its team mate until the flag or objective has been succesfully captured or is no longer in the bot's field of view.
If the bot encounters its corresponding team's flag and it is not in the base, it will ignore its instructions and instead make its way to the flag until the flag has been returned to base or the flag is no longer in the bot's field of view.
When these conditions are met, it will recall the instructions it was following from the last waypoint. To help you better understand how waypoints work, here is a descriptive example.
A bot is created at a spawn point and comes into contact with a waypoint that contains the instructions "Move Right" and "Use Jetpack". Now, picture your keyboard and the way you play Soldat. If you were a bot and read these instructions from a waypoint, you would press and hold your "Move Right" and "Use Jetpack" key. This is exactly how the bot would function; it would continue to move right and use its jetpack until it encounters an enemy player or makes contact with another waypoint in the current path.
Paths organize waypoints into groups which allow the creation of one or two paths for bots to follow on the map. Paths are created by linking waypoints together. For example, if a bot was following instructions from path 1 and made contact with a waypoint from path 2, it would ignore it. Bots will only follow a waypoint's instructions if it is in the same path as the last waypoint. It is possible for waypoints to link to more than one other waypoint and form seperate "branches" of the same path. This is a powerful waypoint fuction and allows bots to randomly decide on the next course of action.
In a capture the flag, each team should have a path originating from their spawn point. At a minimum, each path must have atleast one branch the leads to the enemy team's flag. In capture the flag games, path 1 corresponds to the red team and should lead to the blue flag, on the flip side path 2 corresponds to the blue team and should lead to the red flag.
In infiltration games, path 1 corresponds to the red team and should lead to the objective, where as path 2 corresponds to the blue team and should lead to, well, some sort of defensive position around the objective as well as the red team's base. Blue team's defensive "positions" are best described as waypoints ordering the "stop and camp" instruction. If the objective is taken from the blue base, the blue team bot will stop camping and follow the waypoint paths to the red base provided that they are there.
It is possible for a map to contain no waypoints and still function with bots, provided that they spawn close enough to eachother, but this is unprofessional and carries with it several limitations.
Any person, dumb or not, can work out how to use the map maker's waypoint tools. Even if you can't figure it out, there is a help file included with the map maker and it's probably a given that you've read it already.
The two most advisable things to do to get better at waypoint mapping are to look at other peoples' maps and to practice. Practice!
Presumed FAQ
Q: I've waypointed my map but the bots get stuck a lot!
A: This might not be a waypoint problem at all. Make sure your polygons are smooth first. If you think your polygons aren't causing any problems, then tweak the positions of your waypoints a bit. Go through the map yourself and get a feel for how you move about it, then base your waypoints on that.
Q: I've waypointed my map but the bots don't move!
A: Remember that a bot needs to come into contact with a waypoint from the start, so if the bot spawns in a place where it doesn't touch a waypoint, it won't start moving at all!
Q: The bots run around in loops!
A: It's pretty hard to make this happen! Just make sure you haven't linked waypoints together in a messy pattern or made two waypoints that say "Move right" and then "Move left"!
Q: Will you waypoint my map?
A: No.
Originally posted by Soap.