Artificial Intelligence Depot
Visiting guest. Why not sign in?
News, knowledge and discussion for the AI enthusiast.
FEATURES COMMUNITY KNOWLEDGE SEARCH  
Genetic Programming : An Introduction
Imagine a world in which computers program other computers based on strategies borrowed from biology and natural selection. The book explores such fascinating possibilities thanks to AI!
More information at Amazon US UK

Reply to Message

Not registered yet?

The AI Depot has a focused community of friendly users. Rather than let anyone abuse the site at the brink of promiscuity, we prefer to let only those with an active interest participate... this simply requires registering.

Why not sign up!

Joining the site's community is completely free. You can then post messages freely, and customise your personal profile at will. Specific privileges will also be granted to you, like being able to access printer-friendly articles without restrictions. So, why not register?

Username:
Password:
Subject:
Email me when someone replies.
Body:

Parent Message

Quake 3 bot navigation

Hi,
I'm coding a samrt QUake 3 bot. It basically has two aspects - weapon changing and navigation. I have hacked through a major part of the code and am almost done with the weapon changing tactics. They are based on heuristics and parameters such as distance of enemy, enemy strength, etc.
The navigation part is a bit dicey though. What I've noticed is that in Quake 3, the strategy is highly map dependant. To make a strong Quake 3 opponent, I've decided to make my bot for only one map, but incorporate all possible stratagems for that map. Therefore, my bot has full knowledge of the map. I want it to anticipate the enemy (on the basis of sounds, for example) and move intelligently. It should recognize patterns in movement and try to counter them. How should I go about doing this? Using GAs is too time consuming and cannot give real time results. I was told that NNs are a good option since even though their training time is high, their implemented form is quick.
Could I get any help??

wargasm

4 posts.
Friday 22 March, 05:40
Reply
Strategies

Indeed, tactics can vary quite a lot based on the map. It's a good idea to think of specific behaviours at first, and then find a way to abstract them later -- so they can apply to any map.

You sound like you've thought about this quite a lot... what kind of specific tactics did you have in mind?

To detect patterns in movement, you'd have to remember all the enemy's motion. If you're using a waypoint mesh to represent the level, then you could increment a path counter everytime the enemy uses it. Or even better, you could have an array of counters at each node: based on the incoming path, which path was used to leave the node? Do this using an n*n array, where n is the number of paths connected). Though I haven't experimented much with this at all, it should be sufficient to predict the movement fairly accurately. Anything more would be really tough; you'd have to predict the state of the other player too, and simulate what he would do!

Anyway, using that data would suit a search algorithm nicely (basically planning). You simulate the possible options in the future for the bot, and the enemy. It can then decide which is the best moment to pounce, where to go, or how to intercept.

Does that make any sense to you?

935 posts.
Tuesday 26 March, 20:44
Reply
tactical terrain handling

Have a look at my 2001 GDC talk on 'terrain reasoning for 3D action games' ( http://www.cgf-ai.com/docs/gdc2001_slides.pdf ).
Note that the waypoint-based prediction example (used as an appetizer in the talk) actually is close to the way the Q3A actually uses prediction.

The tactical terrain analysis with on-line reinforcement learning creates a tactical annotation of the terrain (sometimes dubbed 'smart terrain'). If you're able to use that info in your AI's reasoning and navigation, you've got most of your problem solved.
The implementation of this approach is very efficient in-game, assuming that you have an opportunity to first (and once) analyze the terrain in some 10 to 20 seconds.
For a Q3A DM implementation, you should incorporate high values for the presence of certain powerups (BFGs, red armor), being close to those powerups, or being able to control avenues to those power ups.

William

19 posts.
Thursday 28 March, 09:13
Reply
Q3 Bot navigation

I am working on a navigational bot too. This bot is using its own waypoints, constructed from its exploration of the map. I am working on the AI engine for now, so I am interested in any informations on rpogramming bot for Quake3 (not the parameters changed, I would like to plug my engine in this game). If someone has any informations...
Thanks for your help !

7 posts.
Tuesday 30 April, 05:33
Reply
Q3 & Navigation

It's often difficult to get the AI coded as you get bogged down with practical engine interfaces. Q3 should be fairly easy to modify given the code, as the bot framework is already in place. You just need to remove the existing code, and put your own in there.

I haven't done this yet, but plan to once my Q2 bot is fully polished. I'll let you know.

935 posts.
Tuesday 30 April, 13:24
Reply

Back to the Artificial Intelligence Depot.