Author Topic: Waypointing 101  (Read 3628 times)

0 Members and 1 Guest are viewing this topic.

Offline Soap

  • Major(1)
  • Posts: 27
Waypointing 101
« on: March 18, 2007, 09:21:45 pm »
Preface
One of the most difficult aspects of Soldat mapping, as many Soldat mappers will testify to, is waypointing. Although not essential to a map, many members of the Soldat community consider functioning waypoints to be one of the qualities of a professional map. The aim of this article is to document the purpose and function of waypoints and to instruct any aspiring Soldat mappers on how to properly waypoint a map.

Assumed Knowledge
This article assumes that the reader has some experience playing Soldat with bots, understands the basics of designing a Soldat map and understands how to place and link waypoints. Refer to the Map Maker help files for further information.

What Are Waypoints?
A waypoint is a point on a map that contains instructions for bot players on how to maneuver about the map. In a map without waypoints, bots will not understand how to move about the map and will most likely stand idly in place for the duration of the game.

In Soldat, bots understand how to engage in combat with enemy players or other bots without the help of waypoints and can maneuver about the terrain with some degree of success provided that they are in combat. If a bot encounters an enemy player or bot, it will cease following the instructions of waypoints and revert to its instinctual fighting routines until there are no enemies in its line of site. When a bot is not in combat, it will refer to the nearest waypoint for instructions on how to move about the map.

It is possible to design very basic maps with functioning bots without including waypoints by ensuring that the bots will always be in combat with another player or bot, but this is not recommended. It is impossible to play a functioning game of capture the flag or infiltration without waypoints.

Requirements for Waypointing
Waypointing can be done with any of the available Soldat mapping programs, including Map Maker, Map Maker Pro and Polyworks.

How Waypoints Work
Waypoints are connected to one another via links. A waypoint that is not linked to another waypoint is totally useless. A bot player that comes into contact with a waypoint will behave based on how that waypoint is linked to others.

Links do not work both ways. For example, if you wish to instruct a bot to follow waypoint #1 to waypoint #2, the link must originate from waypoint #1 and lead into waypoint #2. If the link runs in the wrong direction, the bots that follow this path will behave incorrectly.

Contrary to popular belief, waypoints do not contain instructions on how to get to other waypoints. In actual fact, waypoints provide instructions for bots on how to get to that particular waypoint. In essence, this means that a bot that comes into contact with a waypoint will not follow the instructions of that waypoint, but follow the instructions of the next waypoint that the prior is linked to.

For example, imagine that you are driving down the road and see a sign that tells you to turn left to get to the place you want to go. This is not the way that bots interact with waypoints. A better analogy is that the sign is the place you want to get to and that this sign also tells you how to get to it. This paradoxical way of thinking does not work for human beings in the real world, but is how bots interpret waypoints.

A waypoint can link to several other waypoints. A waypoint can also be linked from several other waypoints. It is important to understand this distinction. In the prior case, if waypoint A is linked to B, C and D, then a bot coming into contact with waypoint A will randomly decide to follow the instructions of either waypoint B, C or D. In the later case, if waypoint A, B and C are all linked to waypoint D, then any bot coming into contact with waypoints A, B or D will follow the instructions of waypoint D.

Essentially, once a bot comes into contact with a waypoint, it is finished following the instructions of that waypoint and simply forgets about it. The bot may even have arrived at that waypoint by following a path contrary to its instructions. Regardless, the bot is finished using it. It will then follow the instructions of the next waypoint in the path it is following.

Waypoints can instruct a bot to do a number of these things. These include:
-   Move left
-   Move right
-   Jump
-   Crouch
-   Use jetpack
-   Wait for x seconds before following instructions
-   Stop and camp

Combinations of these instructions are possible. However, combinations of conflicting instructions may cause the bot to become confused and should be avoided.

For example, a bot arrives at waypoint #1 which is linked to waypoint #2. Having arrived at waypoint #1, the bot turns its attention to waypoint #2. Waypoint #2 instructs the bot to move right and use its jetpack. Effectively, this means that once the bot comes into contact with waypoint #2, it begins moving right and using its jetpack immediately.

Branches
Waypoints are not required to follow a single linear line. For greater variation in bot behavior, waypoints can effectively be broken off into several different branches. This is done simply by linking a waypoint to more than one waypoint.

Paths
Waypoints must be assigned to either path 1 or path 2. By default, waypoints will be assigned to path 1 unless you specify the program to do otherwise. In capture the flag and infiltration games, path 1 corresponds to the red team’s path to the blue flag and path 2 corresponds to the blue team’s path to the red flag. In non-team games, only one path is required, but two paths will give the bots greater variation in their behavior.

Once both paths have been created, it is required that the two paths are linked together. This is so that a bot that has capture the enemy team’s flag knows how to return to its base. If the paths are not linked together, then a bot that captures the enemy flag will not return to its home base and will either continue following the instructions of its last waypoint or simply stop moving altogether.

Effectively, once a bot has the enemy team’s flag, it should stop following the path corresponding to its team and begin following the enemy team’s path. This will lead it to its own flag so that it can capture the other team’s flag.

Generally, path 1 and path 2 are linked together at the point of both teams’ flags.

Deviating From Waypoint Instructions
A bot will stop following the instructions of waypoints in the following circumstances:
-   It is nearby an enemy bot or player
-   Its team’s flag has become loose and is nearby
-   A friendly bot attempting to escape with the enemy team’s flag is nearby

Once these conditions have been addressed, the bot will begin to follow the instructions of the nearest waypoint on its path. In any case, a bot will only deviate from waypoint instructions if the deviation is in the best interests of its team or the bot is in combat with an enemy.
Love,
- Soap

Offline Keron Cyst

  • Global Moderator
  • Rainbow Warrior
  • *****
  • Posts: 2872
  • will waypoint for food
Re: Waypointing 101
« Reply #1 on: March 18, 2007, 10:20:01 pm »
, or if it sees a bonu- ooh, a MediKit! *runs backwards and ignores shooting enemy in front :D*

*jetpack boots*

Offline Mr. Domino

  • Flagrunner
  • ****
  • Posts: 969
  • Don't just sit there and waste your precious time.
    • XBLIG.co
Re: Waypointing 101
« Reply #2 on: March 18, 2007, 11:26:04 pm »
It took me a while to comprehend how the bots follow the next instructions on the current waypoint, so I'm glad to see someone really emphasizing that. The only thing I wonder is why that is. When I place a waypoint over a spawn point, the spawned bot immediately follows the instructions attached to that waypoint. Yet, if I were to link that first waypoint to another, then this logic would mean that the first waypoint doesn't exist anymore in the bot's "mind," since upon spawning it will immediately look to the next stringed waypoint.

Offline Keron Cyst

  • Global Moderator
  • Rainbow Warrior
  • *****
  • Posts: 2872
  • will waypoint for food
Re: Waypointing 101
« Reply #3 on: March 18, 2007, 11:31:55 pm »
Yes, that's how it works. It was programmed that way so that bots could take multiple paths. Imagine ctf_Run... a bot spawns at the flag area. Then when it runs out, imagine if the last wypt. before deciding was Jump Right. It would always take the middle path! It must be made so that it obeys the LINKED waypoint's action, not the current, or else splitting trails would be impossible.

Offline Mr. Domino

  • Flagrunner
  • ****
  • Posts: 969
  • Don't just sit there and waste your precious time.
    • XBLIG.co
Re: Waypointing 101
« Reply #4 on: March 20, 2007, 11:23:52 am »
Yes, that's how it works. It was programmed that way so that bots could take multiple paths. Imagine ctf_Run... a bot spawns at the flag area. Then when it runs out, imagine if the last wypt. before deciding was Jump Right. It would always take the middle path! It must be made so that it obeys the LINKED waypoint's action, not the current, or else splitting trails would be impossible.

Thanks. :) I've never considered that, and that makes perfect sense. Although, I suppose it could have been programmed so that when a bot reaches a waypoint with multiple paths branching from it, it could then just randomly choose one path without considering the linked waypoint's instructions. That would make more sense to me. :P

Offline Keron Cyst

  • Global Moderator
  • Rainbow Warrior
  • *****
  • Posts: 2872
  • will waypoint for food
Re: Waypointing 101
« Reply #5 on: March 20, 2007, 02:17:12 pm »
It wouldn't know what action to take to get to whichever path it picks... but you get used to the format, anyways

Offline Kavukamari

  • Camper
  • ***
  • Posts: 435
  • 3.14159265358979, mmm... pi
Re: Waypointing 101
« Reply #6 on: March 29, 2007, 04:51:24 pm »
I made my first test-map with a working (yes, WORKING) waypoint chain. I feel so hyper/giddy :P
"Be mindful of fame, show a mighty courage, watch against foes. Nor shalt thou lack what thou desirest, if with thy life thou hast comest out from that heroic task."

Offline SoldatFire

  • Soldier
  • **
  • Posts: 224
Re: Waypointing 101
« Reply #7 on: December 02, 2010, 08:43:41 pm »
do i hawe to make the waypoint rig down or so or yust connect  ???
I'm drunk right now. I feel compelled to go to battle. This lamp in front of me has no chance. Die lamp die. Your light is gone. I have won.

Offline CrashMan

  • Major
  • *
  • Posts: 90
  • ... Is that so?
Re: Waypointing 101
« Reply #8 on: January 16, 2011, 08:42:00 pm »
For example, a bot arrives at waypoint #1 which is linked to waypoint #2. Having arrived at waypoint #1, the bot turns its attention to waypoint #2. Waypoint #2 instructs the bot to move right and use its jetpack. Effectively, this means that once the bot comes into contact with waypoint #2, it begins moving right and using its jetpack immediately.
Don't you mean the bot will follow Waypoint 2's instructions upon contact with Waypoint 1?

Also, I've just installed PolyWorks and I'm trying to do more work with my waypointing.

However... I can't seem to figure out how to edit the commands of existing waypoints.

Where's the manual for this thing? ):

Offline chutem

  • Veteran
  • *****
  • Posts: 1119
Re: Waypointing 101
« Reply #9 on: January 16, 2011, 11:53:58 pm »
Just select the target waypoint, and in the waypoints window change the settings
1NK3FbdNtH6jNH4dc1fzuvd4ruVdMQABvs

Offline frosty

  • Flagrunner
  • ****
  • Posts: 601
  • Uber Desert Eagle ^^
Re: Waypointing 101
« Reply #10 on: January 23, 2011, 12:32:01 am »
quick question, how do i make the 2 paths required for CTF without making a conflicting path? or do i need to make 2 waypoints on the same spot, each with the two different paths set?

and whats the easiest way to waypoint? ive got a crapload of unwaypointed maps that need fixing (around 70 that need fixing)
check out my server! click here

If at first you don't succeed, Improvise! :D

Offline Blue-ninja

  • Veteran
  • *****
  • Posts: 1419
Re: Waypointing 101
« Reply #11 on: January 23, 2011, 01:37:41 am »
In my limited knowledge of CTF waypointing, you just do a working waypoint route for Alpha team (Path 1), and then working waypoints for Bravo team (Path 2).

When a bot for alpha team grabs the blue flag, they then use the bravo waypoints to make their way back to alpha base and score, and vice versa.