First Steps in Game AI: Your Own Bot
By ai-depot | June 30, 2002
Conclusion
Brief Look at Quake 3
Some of you may like a bit more information on Quake III, and the fully server side approach. We won’t go into it in as much detail as for the previous two engines as the task is slightly trickier, and is not recommended if you’re not sure what you’re doing. This is due to the fact that the standard bots are very good, and few independent authors have created their own. Together with this, they seem keen on keeping their source to themselves, so there are few references to look to for help.
Still, it’s possible, and all you really need is the Q3A souce released by Id Software. You can find a list of mirrors hosting the file right here.
The game comes with bots, but the source doesn’t contain them! They are wrapped into a small library that is not provided with the SDK. You can enhance the bots based on this library, but this can be quite ristricting if you have radical changes in mind!
What to Do Now
Once you’ve got your development base established, you’ll be ready to move onto better things! There are many problems to tackle, so start with one and try to get that working nicely before you move on.
This section aims to provide you with a few references, to get you started.
Path Finding
It’s a very important aspect of bots, and should not be neglected.
- Amit’s Game Programming Page
- Bot Navigation: Neural Networks for Obstacle Avoidance
- Terrain Reasoning for 3D Action Games
Combat
An equally crutial part of the AI!
- Quake AI Cafe
- Essay on Bot Aiming
- Multiplayer Combat Tactics
Learning
Not essential, but a nice touch.
- Reinforcement Learning: A Survey
- A Brief Introduction to Inductive Logic Programming
In Summary
Games are ideal for developing AI. Together with this being a fun process, it allows the programmer to easily deal with complex environment and player interactions without the hassle of having to implement the simulator.
This tutorial tackled the different possible approaches for creating a FPS bot and considered the engines that could be used. Two specific cases were discussed, which should allow you to make your first steps in game artificial intelligence easily. It’s up to you to code up your great ideas now!
Good luck ;)
Written by Alex J. Champandard.
Tags: none
Category: tutorial |