4. Project goals
The Omicron bot should be an artificial player
for the game Quake. The bot should be able to operate in the deathmatch
mode of multiplayer type of game. The goals for creating the bot can be
divided into two groups. In the first place the bot should obey the same
game rules as human players. In the second place the bot should behave
like human players do in the deathmatch environment.
4.1
Game rules
The Omicron bot should obey the same game
rules as a human player. This may sound obvious but actually isn't. Because
the Omicron bot will be stored in the same game
library as the game rules it can easily occur the bot doesn't obey
all the rules. The limits of the most important game rules will be listed
here.
Physics
-
may not walk or run faster than a player
-
may not jump higher
-
same gravity applied as player
Weapons
-
may not shoot faster
-
may not shoot without ammo
Items
-
must get items like players by walking over
them
-
items have the same effect on bots as human
players when picked up
Miscellaneous
-
activate the same things as human players
-
same visual representation
-
same sounds at the right moments
-
die in lava or slime
-
drown when too long under water
4.2
Behaviour
The bot should behave like human players do
in the deathmatch environment. This goal isn't easy to describe in simple
useful terms. It is possible to say the bot should "aim at the enemy like
a human", "move during a battle like a human" or "move around like a human"
but these expressions are still rather vague.
This is the reason why part of the goal
is to analyze what a human player is actually doing in the Quake environment.
The following points will be studied in more detail:
-
The physical goals a human player has in the
game.
-
The actions a human player performs.
-
The decisions a human player makes.
After analyzing these points a structure has
to be found to efficiently store the knowledge. The bot should also be
able to use the stored knowledge in a efficient way. The best method will
most often be the one which uses the least computer processing power.