Portfolio Homepage

  • Personal Projects
  • Team Projects
  • Commercial Projects
  • Resume
  • Home



ndBot:

Quake 4 does not natively come with multiplayer AI based opponents. The purpose of this mod is to remedy that situation. The architecture of the single player AI is not conducive for the creation of multiplayer bots that can behave like players because the engine requires single inheritance and the AI does not inherit from the Player class. For that reason, the bot was written from scratch using a fake client approach, such that the server is the only machine aware that the bots are not players. The bots fill the user command buffer of the player object with the desired commands such movement, attacking, and weapon selection. The only reusable code from the single player AI is the path finding code.

A bot's movement is independent from aiming direction. So just like a real player, if there is an enemy in front of them and a pick up behind them, the bot will continue to aim and shoot at the enemy while moving backward toward the item.

The bots are also able to use the jump pads and teleporters despite the fact that they are not recognized by the single player pathfinding code.

In this project I did the following:
  • Implemented additions to the navigation system for teleporters and jump-pads
  • Created a sensory perception system for items currently within the bots' view
  • Developed a memory system for player and item locations containing a confidence metric
Several bots are duking it out. Debug lines show their planning.

Website © Nader Akoury 2005–2007.

Last modified December 23, 2006