# Project Overview

The goal of this project is to produce a modification for Hexen II that allows users to include simulated players in their networked games. These artificially intelligent players try to behave like real players, performing tasks such as collecting and using items, exploring their environment, and flee from and pursue enemies.

These entities are commonly known as 'bots', which is a name that derived from 'robot'. The term 'bot' is actually fairly generic as it is also used for any computer-controlled entity that runs around a level in multiplayer mode shooting at the players.

Greywolf: "The term 'bot' is fairly misleading, as this tends to suggest that users are competing with and/or against monsters designed for network play rather than simulated players. The difference between the two is what you would expect from them. You wouldn't necessarily expect monsters to either behave like the players or perform the same actions."

"I would have preferred to use the term 'AIP' (Artificially Intelligent Player), as there is no confusion as to what we're talking about (once you know what it stands for that is). I would like to know what your opinions are on this matter and whether a suitable acronym would be worth using instead of the term, 'bot'."

The Apocalypse Bot for Hexen II is not created to perform beyond the normal, physical capabilities of the players, but to perform within it. The source of the challenge from the bots is intended to come from their use of artificial intelligence; this is their ability handle any situation they may encounter during a network game.

## Current Features of the Apocalypse Bot

These are the current important features used and a description of that these mean to the project.

Feature | Information
--- | ---
Bot Personalities | Each of the twenty intrinsic bots are slightly different from one another in personality, not in skill. The differences include: favoured class, favoured weapons, aggression and style. The differences should become more apparent with each release.
Movement Engine | This is responsible for the realistic simulation of the player's physical movements in the game. This has been something of a pain to program, as Hexen II wasn't designed to allow for non-player entities to move like this.
AI Engine | The bots try to simulate the actions of real players. Until the dynamic waypoint generation code is fully implemented, the bots will be restricted in what they may choose to do.
Realistic Aim Code | Aiming has always been slightly strange for computer-controlled creatures. Some bots (like the Zeus as I seem to recall), decide whether they have hit you by using the electrical equivalent of dice. Apart from running directly towards or away from such bots, you might as well stand still as moving won't affect their chances of hitting you. The Apocalypse bots actually aim just like a real player, so when you strafe from side-to-side, jump, and crouch it will have an impact on the bot's aim and accuracy.