Pages: [1]
  Print  
Author Topic: AI Pathfinding In OpenArena  (Read 3056 times)
hemite
Nub


Cakes 1
Posts: 33


« on: May 10, 2012, 12:21:29 am »

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.

Again, all help is appreciated. Cheers. 
Logged
Gig
In the year 3000
***

Cakes 44
Posts: 3139


WWW
« Reply #1 on: May 10, 2012, 01:58:17 am »

I can't help you very much. About bot AI, maybe you may ask to Graion Dilach.

For some documentation about how bots work, you can take a look to the "external links" (which are mostly Q3 related) you can find here:
http://openarena.wikia.com/wiki/Bot
http://openarena.wikia.com/wiki/Bot_play

This PDF looks interesting for your research.

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, offending 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.
andrewj
Member


Cakes 23
Posts: 489



« Reply #2 on: May 10, 2012, 05:28:19 am »

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.
Logged
Graion Dilach
Member


Cakes 15
Posts: 400



« Reply #3 on: May 11, 2012, 03:39:48 am »

Huh, bot pathfinding in AAS level? I don't know that.

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.
hemite
Nub


Cakes 1
Posts: 33


« Reply #4 on: May 11, 2012, 10:08:13 am »



This PDF looks interesting for your research.



This is fantastic, thanks a lot.
Logged
Gig
In the year 3000
***

Cakes 44
Posts: 3139


WWW
« Reply #5 on: May 11, 2012, 01:57:52 pm »

You're welcome. Smiley
Logged

I never want to be aggressive, offending 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.
Pages: [1]
  Print  
 
Jump to: