OpenArena Message Boards

id Tech 3 => Engine => Topic started by: hemite on May 10, 2012, 12:21:29 AM



Title: AI Pathfinding In OpenArena
Post by: hemite 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. 


Title: Re: AI Pathfinding In OpenArena
Post by: Gig 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 (http://openarena.ws/board/index.php?action=profile;u=1541).

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:
(DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Bot
(DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Bot_play

This PDF (http://dev.johnstevenson.co.uk/bots/20585341-The-Quake-III-Arena-Bot.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.


Title: Re: AI Pathfinding In OpenArena
Post by: andrewj 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.


Title: Re: AI Pathfinding In OpenArena
Post by: Graion Dilach 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.


Title: Re: AI Pathfinding In OpenArena
Post by: hemite on May 11, 2012, 10:08:13 AM


This PDF (http://dev.johnstevenson.co.uk/bots/20585341-The-Quake-III-Arena-Bot.pdf) looks interesting for your research.



This is fantastic, thanks a lot.


Title: Re: AI Pathfinding In OpenArena
Post by: Gig on May 11, 2012, 01:57:52 PM
You're welcome. :)


Title: Re: AI Pathfinding In OpenArena
Post by: Tungsten on March 09, 2018, 09:08:44 AM
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?


Title: Re: AI Pathfinding In OpenArena
Post by: Gig on March 09, 2018, 02:53:28 PM
You are lucky, it looks like archive.org archived it just in time before it was removed!  :)
https://web.archive.org/web/20120710082819/http://dev.johnstevenson.co.uk/bots/20585341-The-Quake-III-Arena-Bot.pdf
The internet archive is very useful! As Q3-related stuff is progressively disappearing from the web, I would suggest people to add the more interesting pages and files about it to internet archive: just go to archive.org and enter the desired url... if that page or file has never been archived, it allows you to choose to archive it now!

Otherwise, DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Bot]here (http://([b) it is mentioned another location for that file, which still works: https://www.scribd.com/document/20585341/The-Quake-III-Arena-Bot.


Title: Re: AI Pathfinding In OpenArena
Post by: Tungsten on March 10, 2018, 10:44:38 AM
You are lucky, it looks like archive.org archived it just in time before it was removed!  :)
https://web.archive.org/web/20120710082819/http://dev.johnstevenson.co.uk/bots/20585341-The-Quake-III-Arena-Bot.pdf
The internet archive is very useful! As Q3-related stuff is progressively disappearing from the web, I would suggest people to add the more interesting pages and files about it to internet archive: just go to archive.org and enter the desired url... if that page or file has never been archived, it allows you to choose to archive it now!

Otherwise, DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Bot]here (http://([b) it is mentioned another location for that file, which still works: https://www.scribd.com/document/20585341/The-Quake-III-Arena-Bot.

Awesome, thanks a ton! If anyone else has more info i'd be really grateful!


Title: Re: AI Pathfinding In OpenArena
Post by: fromhell on March 10, 2018, 09:49:27 PM
The original original link's still around, from the late author of the q3 ai himself:

http://www.kbs.twi.tudelft.nl/Publications/MSc/2001-VanWaveren-MSc.html

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


Title: Re: AI Pathfinding In OpenArena
Post by: Tungsten on March 14, 2018, 04:51:14 PM
The original original link's still around, from the late author of the q3 ai himself:

http://www.kbs.twi.tudelft.nl/Publications/MSc/2001-VanWaveren-MSc.html

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?

Thanks.