Bot Support
This is the topic page page for bot support in UT2003. See Bot Support (UT) for bot support for Unreal Tournament.
See Bot Refactoring.
Overview
Unreal bots are blind. They may be kicking your arse (and mine), but spare a thought for them as you bite the dust, because they don't get to share any of the wonders you see. Instead, a bot's idea of a map is a dull network of points, called Pathnodes and lines that join them up, called paths. It works like this:
- the mapper places pathnodes in the map
- UnrealEd analyses these and creates a network by joining pathnodes up. If the engine thinks it's possible to get from node A to node B, then it joins them. This network is saved as part of the map file
- bots run from node to node.
Bots are smart enough to know how to go up or down stairs, jump small ledges, etc. More advanced stuff like big jumps, translocator? hops, etc, will need special mojo from the mapper.
Classes
The following classes (and subclasses thereof) are involved in UT2003's bot support architecture:
- TeamAI
- Creates squads and assigns bots to them, and changes the objectives of squads.
- SquadAI
- Team of bots following the same objectives.
- Bot?
- Low-level bot behavior (navigation, combat, inventory acquisition).
Certain game objects have to tell bots what to do with them:
- GameObjective
- Immobile (though possibly destructible) markers for relevant places in a map: CTF flag bases, [Bombing Run]? bomb spawn points, goal hoops, Domination control points and so on.
- Weapon
- Weapon inventory items.
General Game AI
- Introduction to Game AI
- First Person Shooter AI Architecture
- FPS AI Architecture, Continued
- An AI Concept
- Using Binary Trees and Linked Lists To Represent Group Hierarchy
- Unreal Engine and Game Code Overview
Mapping for bots
- Bot Navigation (technical aspect) (needs a refactor.)
- Types of Pathnode
- Pathnoding (Basics) (probably 2k3-ok with a cleanup)
- Pathnoding Lifts (probably 2k3-ok)
- Creating And Using ScriptedActions (made for 2k3)
Coding with bots
- Bot Vision – how bots see
Monsters
- AI Scripting (Unreal 2 only)
- Dialog (Unreal 2 only)