I apologize beforehand if this thread is in the wrong section. Please move it if need be.

Hi All,

I'm writing a paper on AI movement in video games, specifically in relation to graph theory ( nodes and vertices). I've looked through the OA code base but there is quite a lot of it, and I'm not really sure where to start.

I was wondering if anyone more familiar with the code knows anything about how the AI navigates in each given map. This paper is very math intensive, so if anyone could point me to the files where the actual movement algorithms are coded, or if anyone understands AI movement well enough to explain it to me that would be much appreciated.

There is to say that OpenArena did some changes to the bot part (maybe to avoid some possible copyright problems, I'm not sure), so if you used a bot designed for Q3 in OA 0.8.5, it was not able to correctly select weapons. OA 0.8.8 includes a bot compatibility patch that allows bots designed for Q3 to behave correctly when used in OA.Someone (I hope Graion will find some time to do it!) should write a bot-writing manual, because AFAIK at the moment there is not much documentation that explains how to create a bot in the OA format instead of in the Q3 format.This to say that I don't know where you can find detailed infos about the differences between Q3 and OA bots in game logic. I don't know if and how the differences include pathfinding.

Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.

Navigation in Q3A / OA is done using the Area Awareness System (AAS for short).For each map there should be an AAS file, created by a special compiler program.(the AAS file can be absent, but then bots don't work on that map).

I think the PDF file which Gig linked to is the one which describes the Q3A bots,how they work, including a lot of detail about the AAS system.

What I know (which is nothing compared to the PDF linked above) that the bot personalities' _i.c combined with the fuzi.c (OA equvivalent of fw_items.c) creates a preference list and then the bot always goes through on that to decide where should it go. I don't know if the game uses some kind of A*-HS logic-alike or simply generate all pathfinding with the AAS system.

AFAIK Q3 and OA bots have no diiference in pathfinding.

Logged

One shall remind what have he left behind... to actually realize that it's still cool.

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.

Hey, sorry to bring this back up, but I've got pretty much the exact same question.I'm writing a paper about path finding, and I've been looking through the GitHub, but I haven't made much progress. The PDF link leads to a 404 now. Does anyone still have it?

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.

It doesn't get more original and official than this dutch university link.

Niiiice. Good for my bibliography (IB loves dem bibz)

I have another question that might be a little broad, but how does this code actually run? For instance, compare it to something like Arduino or MIT Battlecode that has a looping main method. Does this loop too? What about when the AI detects, say, a pit to either jump over or go around, what actually happens? Does it run reachability calculations, maybe some ClientMovementPredicion, WeaponJumpZVelocity? Is there code that definitively calls these methods based on input?