I would like to apply (program) the Artificial intelligence methods to create game bots for first person shooter games. Do you have any knowledge from where can I start to develop as a Linux user? Do you have a suggestion for an easy-to-start game for which I can develop bots easily, caring more about the result of my algorithms rather than spending a lot of time dealing with the game code? I've read some publications about the applied methods to Quake 3 (c) and Open Arena. But I couldn't find the source codes and manuals describing how to start coding( for compiling, developing ai and etc.).

I appreciate your help.


3 Answers 3


Looking at the Quake 3 source code probably isn't going to help you at this stage, if you're new to AI development. There is a lot of code and it can be quite easy to get overwhelmed at the sheer size of it.

First of all, if you want to create an AI bot for an existing game, then that's a little bit of a legal grey area and it's a lot more difficult since you probably won't have much access to the game's API.

On the other hand if you are creating a bot for a game that you currently are developing for, then this is relatively easier.

First of all, sort out exactly what you want your bot to do. Get a list of requirements of what you want your bot to eventually do. Then start right at the bottom.

I would probably split it up into separate tasks such as:

  • Movement
  • Targeting
  • Sensory system - what the bot can see and hear
  • World representation - how the bot observes and manipulates the world
  • An FSM to govern behaviour at first to keep it simple - Hunt state, Attack state, Flee state, etc
  • An algorithm to select the best weapon for the job - this can probably be simplified to always use the most powerful weapon in the bot's arsenal.

In Programming Game AI by Example, Buckland shows a 2D representation of a Quake-like game that contains goal-based behaviours, which is probably a lot more relevant to this kind of simulation. I'd definitely recommend getting the book as it deals with building AI from the bottom up.

Just bear in mind that a good AI bot is no simple task. There is a lot of research out there currently going on trying to get the most human-like behaviour. But as long as you design it well and break the entire thing into small tasks and components, you should make good progress on it.

Good luck! :)

  • 1
    \$\begingroup\$ This book is one of the best books in the literature,especially for practical applications. I have bought the book and started reading it. Thank you Ray \$\endgroup\$ Mar 7, 2011 at 10:26
  • \$\begingroup\$ Agreed, excellent starting point for anyone wanting to get into games AI. No problem :) \$\endgroup\$
    – Ray Dey
    Mar 7, 2011 at 15:36

The book "Programming Game AI by Example" (by Mat Buckland) is a great way to start. and as the title says, example code/game is included.


If you're looking to code a FPS bot without wanting to get into the engine itself, Pogamut allows you to code just the AI bot portion for Unreal Tournament 2004. It's more limiting than say diving into the Quake 3 or Enemy Territory code base, but it also lets you focus in on just AI.

Pogamut 3 GameBots2004

Extension of the original GameBots work done by USC which supports UT2004/ UDK/ and Defcon. Allows an external program to control bots in game in a Client/Server fashion as if they were a human player.

External control mechanisms can be connected to many of these games using the scripting languages, thereby providing a tool to control the in-game characters from the outside. Pogamut utilizes UnrealScript (UT2004 scripting language) in this way and also NetBeans Java platform to provide an out-of-the box development environment for AI of virtual characters inhabiting UT2004, Unreal Development Kit (UDK) and DEFCON worlds.

-- Copied and Pasted from my CW Game Dev post


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .