Home - Forums - Documentation - Gallery - Bugs

AI for the game is in its early stages. Brainstorming and early design work for the enemy aliens (Ch'thda) is beginning.

One goal of the game AI development is to have the enemies adapt to situations (choosing or creating appropriate tools to get at the player(s]] and use squad tactics to coordinate their assault (attack and defense playbooks, nodemaps shared at the squad level, fire by telemetry, cover fire and wolfpack tactics, laying ambushes). Also, we want to have an element of randomness so that playing out the same fight multiple times can have very different results.

My (evought) approach at present is to let the level designer give AI groups a goal and execution hints (preferences for attack, defense, conservation of ammo/energy, aggressiveness, etc). Each squad will have a designated ControlBug and a new ControlBug is elected ( BugElection ) when needed, although the election process disrupts the bugs for several moments and may wipe out shared tactical information. The control bug evaluates the situation, including the shared nodemap to choose a general strategy from a PlayBook and gives orders to individual bugs. Individual bugs are assigned roles rom the Playbook which may change over time.

On each move cycle, the individual bug evaluates their positions with respect to the defined goal and takes action. The bug evaluates predicates to set state variables, such as HasCover, NeedsCoverFire, HasGoodShot, HasPath, etc., its current goal and decides on a move. At the squad level, state variables are also set, such as a boolean indicating whether cover fire is needed and a list of eligible bugs to provide such fire, a list of bugs who have enfilade or defilade on an enemy or enemies and status on ammo (energy) expenditures and danger levels.

On each move, the current goal and plan will be weighted to avoid thrashing. In other words, all things being equal or nearly equal, a squad and an individual will prefer to continue a course of action until a significantly better one occurs. This will avoid switching rapidly back and forth between similar value goals and bugs who give up as soon as a difficulty arises (e.g. a player locks a door or moves an obstacle). Bugs will have a tendency to recon to extend the nodemap and to explore options (say probing a flank to find an alternative approach). Since discoveries are placed in a shared nodemap, bugs may be sacrificed to improve the overall strategy and disabled bugs may provide telemetry for the squad.

The control bug will provide an exploitable weakness for the players. When the controller is killed, much of the shared information and the current plan goes away, causing the bugs to be indecisive while an election takes place and the nodemap is rebuilt. Re-configuring a normal bug as a controller may also cost energy. Jamming bug communicaiton may also disrupt squads later in the game. Player strategy will gravitate toward picking off isolated bugs and disrupting command-and-control ( C2 ) in order to foil their strategy. A need for bug resupply will also provide opportunities for disrupting an advance.

I would like the game to be potentially playable and challenging in a multiplayer cooperatiove mode.


Back to DevelopersWhiteBoard

| Article | Discussion | View source | History |