5. Design

The Omicron bot is an extension to the game library. The bot is represented by an entity. This entity stores the current status of the bot.
 

5.1 Main structure

For the artificial intelligence a main AI structure is used. This structure gives the bot the ability to perform certain actions and also give the boundaries where the decisions are made within. The bot uses a tree like structure.

In the AI structure the bot will perform actions to deal with several goals. Mostly these goals are related to objects or entities in the Quake environment. The bot understands nearby and long term goals. The long term goals are translated into nearby ones so the bot will actually only deal with the nearby goals.
 

5.2 Knowledge systems

The bot uses three knowledge systems beside the main AI structure. Fuzzy logic, environment sampling and a waypoint system are used by the main AI structure. The waypoint system also uses the environment sampling.


                      System dependency
 

Fuzzy logic

The fuzzy logic gives the bot the knowledge to make decisions. Actually the fuzzy logic creates a decision library which stores all decisions in a efficient way. The fuzzy logic should give the best decision for the situation the bot is in.

Environment sampling

The code to sample the environment gives the bot the knowledge to analyze the nearby surroundings. From an analysis the bot can conclude things about the environment. The environment sampling gives extra information beside the status of the bot.

Waypoint system

The waypoint system gives the bot the knowledge to create an useful representation of the 3D world. It also gives the bot the knowledge to use this representation to get from one place to the other. The waypoint system is used to translate the long term goals into nearby goals. The waypoints are dynamically placed and this placement relies on environment sampling.