AI Scripting
AI Scripting allows enemies (and friends) to be controlled via external .ucs files that can be changed without map rebuilding. Almost every important NPC (non player character) in Unreal II has a long and detailed script behind it controlling its behavious and actions under various conditions. Note that .ucs files can only be attached to pawns which are subclassed from U2NPCControllerScriptable?.
Likewise, any custom scripting meant to control bots in UT2003/UT2004 is done via AI Scripting.
Classes
The following classes and subclasses thereof are involved in the UT2003/UT2004 bot support AI:
- TeamAI
- Creates squads, assigns bots to them and changes the objectives of squads based on the objectives of the gametype.
- SquadAI
- Team of bots following a Squad Leader.
- 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.
- NavigationPoint
- Various NavigationPoints, like Door, LiftExit, etc., have code or critical properties that work with other bot support actors.
Related Topics
- ScriptedPawn
- AI Scripting Reference
- Artificial Intelligence – A super topic for all AI (bots, monsters, NPCs, etc)
- Bot Vision – Modding unreal bots
- Basic AI Scripting Tutorial
Discussion
SuperApe: Classes related to bot support moved here, as it relates more closely to AIScripting and does not relate to stock bot suppot methods.