Orbus Gameworks

articles

The Bots of Quake III

Apr 30, 11:34 AM

Hi, this is Craig. I did the recent visualization stuff, and I do most of the analysis. Particularly, I’ve done a lot of analysis on the Quake 3 bots and how they perform.

The common stuff was easy: the bots are definitely separated into good, mediocre, and bad for each difficulty tier. Which bots are good and bad differs from difficulty to difficulty because each tier for each bot is hand-coded. For example, Klesk dominates at low difficulty levels, but loses to Crash (a notoriously easy bot) on nightmare. This is simply because Klesk isn’t scripted to dominate at the high levels.

Some bots are better at specific map types, too. Xaero, the end boss, is a kill machine on open, underpopulated levels. But he’s thoroughly mediocre (at least at moderate difficulties) in enclosed, crowded levels. Why?

Well, if you’ve played Quake 3, you’re probably thinking “Xaero likes railguns. Railguns are only really good at long range. So of course in a crowded map he’ll be mediocre…”

It’s true that Xaero theoretically wants the railgun twice as much as the BFG. But that’s not the reason.

Surprisingly, we found that bots follow the same weapon preferences. The reasons for this are kind of foggy, but it appears that the bots only switch weapons when their current weapon isn’t optimal… and the rocket launcher is considered optimal in every situation. Which means that all the bots tend to use basically two weapons: the rocket launcher and their starting machine gun. Their personal weapon preferences (such as Xaero’s addiction to the railgun) cause that weapon to come in a distant third.

What this means is that Xaero is not better at open levels because of his weapon preference. His weapon preference hardly matters at all, at least in bot-dominated games.

Each bot has a huge number of stats, but when it comes down to it only a few of them really matter: reaction time, aim skill/accuracy, and attack skill being three big examples. Which of these stats is most useful depends on the situation. Reaction time is most useful when you’re likely to have a surprise visit from someone with a shotgun. Aim skill is great for those long shots. Attack skill is good for open brawls.

The rest of the stats – field of view, various tactical weights, tendency (and skill at) chatting, tendency to grab items… all of them are, at most, barely noticeable. They have no reliable effect on games of four or more players.

Unless they are suddenly, amazingly effective in team matches or duels, these stats serve no purpose other than a slightly erratic attempt to make the bots seem a bit more human.

... Wish I wish I’d known that when Quake 3 came out. I spent a lot of time tweaking those stats in a vain attempt to give my bots more combat personality.

I have a feeling that the Quake 3 scripters did the exact same thing.

— CraigPerko

Comments

  1. Craig, Long time no chat. Thanks for this analysis. it's really interesting. Do you think in addition to the problem of the scripters not understanding the
    effect (or lack thereof) of certain stats that the problem could be in the coders' inability to see the multivariate problem space in effective ways. That is to say - there are two stats that are really useful (2d Cartesian space sufficient to visualize) and a third that is marginally useful. And beyond that it is basically ineffective to make changes.

    Doesn't this map somewhat to difficulty in dealing with dimesionality higher than 3-space? I mean, with Tufte he shows how to squeeze 6 dimensions of data in to a 2D visualization (ok, it was really Minard, so split hairs). The problem is that many (most) people don't think about this kind of advanced visualization and instead equate dimensions of data to dimensions in physical space. (Hey look, Excell does 3-D Charts! Kewl!)

    You, Jeff and Darius are doing really cool work. I look forward to more comments from the orange room.

    bc

    — Bill Crosbie · May 2, 01:04 PM · #

  2. Sorry, Bill, didn't see your reply until today. (I don't get mailed when there's a reply on this blog, not being the primary editor.)

    I think you're probably right, but at the moment I'm just dying of allergies and whatever it is that knocks you out in the stuff that's supposed to get rid of allergies but instead just knocks you out. So I'll have to address it in more detail later.

    CraigPerko · May 11, 11:24 AM · #

  3. The problem is that you can only show the complete range for 3 dimensions. you can add one more dimension through time but thats it. what tufte (minard) does in the the chart from napoleons march, is he shows correlated data points but not a space. statstics usually happens in higher order (vector) space which can't be understood or visualized. that is one reason for trying to reduce the dimensions.

    — Eugen Hotwagner · Jun 27, 08:56 AM · #

Commenting is closed for this article.

recently

Blog

Links