F.A.Q
General FAQ
What is a bot?
See About Bots
How do I install Omni-bot?
See Installing Omni-bot, and make sure you are running a supported mod by looking here Supported Games
Scripting FAQ
What are map scripts for?
When a bot plays a game of some complexity such as Enemy Territory, where there is alot of different things each class can do, and a specific sequence of objectives that need accomplished to 'win' the map, bots need help to determine what they need to do and in what order. Omni-bot does this using scripts that are written for each map. The script is responsible for disabling and enabling certain goals in the map in order to make sure the bots focus on goals that are relevant to the current objective. Without a map script, the bots would potentially choose goals to pursue that serve no purpose in furthering their teams objectives.
Why do I need a map script?
Technically, you don't ''need'' a map script. Simply having a waypoint for a map should be sufficient enough to get basic working bots. Without a decent script though, there is a good chance that there will be certain map objectives that the bots won't do. A good quality map script will greatly improve the bots behavior in a map. A good map script is set up to focus the attention of the bots toward the objectives that are relevant to the particular stages of the game. A game type and/or map with highly dynamic objectives will likely need a map script to help the bots understand the dynamic nature of the maps objectives.
What does a map script do?
First, an overview of how the bot system is set up. For any given map in any given game, there will be a number of Omni-bot_Map_Goals that become available for the bots to perform. These maps goals can be automatically detected goals, or goals that were a result of specific flags placed on waypoints.
Examples of Map Goals
- Flags for CTF
- Capture Points for CTF
- Checkpoints to capture
- Defend points
- Attack points
- Sniper points
Regardless of the source of each type of map goal, whether it be auto detected, manually placed on a waypoint, or possibly even created from script, they are all treated the same internally.
There are some problems with having so many map goals, each representing something that bot should do.
- What order should they do the goals in?
- When should a map goal, or group of mapgoals, be ignored?
These questions just can't be answered by the bot alone. It's impossible to detect or otherwise calculate the answer to these questions in any meaningful manner. This is where map scripts come in. The entire point of map scripts is to supply direction to the goals that the bots focus on. By adjusting goal priorities, or enabling/disabling entire groups of goals in certain circumstances, a map script can ensure the bots are focused on those objectives that mean the most depending on the context of the game.