Quake3 AI

G

Guest

Guest
Archived from groups: comp.ai.games (More info?)

Hi,

I'm an Italian student, working on a previous thesis about Quake 3 AI -
developed by an elder student few year ago.
In that thesis AI was "improved" by trapping Quake 3 basic actions, like
"move", "pick healt",... and passing them to a dedicated C++ server.
The server requires a valid plan for a goal, by calling a planner written in
SMODELS. No matter how complicated the planner is, I do not need to modify
it. Instead, there is a section in that planner, named " additional
actions", that I need to modify in order to adapt the generic planner for a
single level in Quake 3.

The level is mapped in macro-areas (5 to 10 because of complexity of
search).Reachability is modeled using a graph over these areas. The relation
delay_to_reach(A1,A2,T) means A2 is reachable from A2 with time T.
Using SMODELS and Chitta-Baral 's proposal about reasoning in AI, I need to
identify particular fluents and actions relatet to the level domain, i.e,
moving towards a bridge may be dangerous when an enemy is under the bridge,
and so on.
No problems in finding these relations. Yet the problem raises when I need
to "logically describe" how a Teleport works. Using delay_to _reach(...) ,
intended as non- symmetrical relation, result in having an area (the
teleport) for which every other areas are at time 1.
The planner uses delay_to_reach in order to find a shortest path for a
current goal (like move_towards),so using teleport description as above,
teleport areas seems to give particular advantages to BOT movements.
However - that's the question - , I'm not still able to detect if a bot USES
a teleport, or simply enters the macro-area in which teleport is. This
results in having a privileged area, either using a teleport or not, while I
need delay_to_reach(_,_,1) holds only if the bot uses the teleport.
Does anyone knows how Q3A manages teleports? Is my "logical description" of
teleport quite correct? Also, I have other ideas, but I need to know how
teleports works...


Thanks for any suggestions,

Zambelli Gabriele
 
G

Guest

Guest
Archived from groups: comp.ai.games (More info?)

On Sun, 01 Aug 2004 09:04:15 GMT, "Gabriele Zambelli"
<gkunkz@EVITATEMILOSPAMGRAZIE_inwind.it> wrote:

>I'm an Italian student, working on a previous thesis about Quake 3 AI -
>developed by an elder student few year ago.
>In that thesis AI was "improved" by trapping Quake 3 basic actions, like
>"move", "pick healt",... and passing them to a dedicated C++ server.
>The server requires a valid plan for a goal, by calling a planner written in
>SMODELS. No matter how complicated the planner is, I do not need to modify
>it. Instead, there is a section in that planner, named " additional
>actions", that I need to modify in order to adapt the generic planner for a
>single level in Quake 3.

>The level is mapped in macro-areas (5 to 10 because of complexity of
>search).Reachability is modeled using a graph over these areas. The relation
> delay_to_reach(A1,A2,T) means A2 is reachable from A2 with time T.
>Using SMODELS and Chitta-Baral 's proposal about reasoning in AI, I need to
>identify particular fluents and actions relatet to the level domain, i.e,
>moving towards a bridge may be dangerous when an enemy is under the bridge,
>and so on.
>No problems in finding these relations. Yet the problem raises when I need
>to "logically describe" how a Teleport works. Using delay_to _reach(...) ,
>intended as non- symmetrical relation, result in having an area (the
>teleport) for which every other areas are at time 1.
>The planner uses delay_to_reach in order to find a shortest path for a
>current goal (like move_towards),so using teleport description as above,
>teleport areas seems to give particular advantages to BOT movements.
>However - that's the question - , I'm not still able to detect if a bot USES
>a teleport, or simply enters the macro-area in which teleport is. This
>results in having a privileged area, either using a teleport or not, while I
>need delay_to_reach(_,_,1) holds only if the bot uses the teleport.
>Does anyone knows how Q3A manages teleports? Is my "logical description" of
>teleport quite correct? Also, I have other ideas, but I need to know how
>teleports works...

Have you tried editing your own Q3 map level? If you put a teleport
in it you would find out more about it. If you kept track of the x,y
coords of the position of your bot, a gap in the trail of coords could
show teleport usage.


Sig:
I have a brain the size of a planet. It's not much good to me, however. It's on a different planet.