Action Quake2 Bot Preview movie (.dm2)
== Feb 06, 1999 ==================================================

The waiting ain't over yet, but finally you get to see
ActionQ2 bots in action. Here's a 4.5 minute
movie/documentary (210K zip) featuring the bots being
'tested' in an "attack-the-sniper-towers" mission
set in the Urban AQ2 map.

-- how to view the preview ---------------------------------------
To view the movie, make sure you've installed:
- Quake2  :),
- Action Quake2 mod
  (http://action.telefragged.com, see downloads page,
   don't forget to get the VWEP stuff mentioned there)
- Gerbil!'s (first) Urban map (urban.bsp)
  (http://www.mapdepot.net)

Then, extract the aq2botpreview.zip archive to your
action subdir of Quake2 (with 'Use Folders Names'
enabled). Both this text and the movie (aq2botpreview.dm2)
will be put in your action\demos dir, and a small
config file (aq2botpreview.cfg) will be put in your
action dir.
Then, boot up Action Quake2, and issue (from the console)
the command:
  exec aq2botpreview.cfg
(or, instead, type
  demomap aq2botpreview.dm2; demomap aq2botpreview.dm2
Yes, you need to issue TWO demomaps - Q2 seems to have some
problems running this server record demo at the first try).

Tip: a lot of people turn up the monitor's brightness when
playing Urban - you might want to do the same.

Enjoy!

William
(sterren@iae.nl)

-- background info on bots ---------------------------------------
CGF for Action Quake2:

This combination of bots, fire teams and scripting (dubbed
"Computer Generated Forces" or CGF) aims to combine the best
of single player missions and thrilling Action Quake2 (AQ2)
team play. When CGF is made available, expect to be able to
download, fight, edit and/or create missions for just about
any ActionQ2 map.

Features demonstrated in the preview include:
+ multiple forces of multiple teams,
+ fire teams executing battle plans/plots/scripts,
+ use of suppressive fire
+ use of cover
+ explicit communication and go-codes (the 2 four-man
  Marine fire teams are triggered by a go-code from the
  two-man Delta section)
+ formations,
+ dedicated sniper and sniper+spotter AI, and
+ bounding overwatch techniques during fire team
  advance and pullback movements.

The movie will also show you there's still a lot of work
to be done. I still need to achieve stability, full
integration with the final AQ2 code (until now, only a
few pieces of their code were used), and implementation of
some essential concepts, including:
- bots understanding about light and dark locations
  (and reduced enemy visibility at dark locations)
- mission objectives and mission linking
- resolving collisions and blocking when (multiple) fire
  teams operate in the same area or in narrow locations
This requires many more long development nights (after a
full-time day job).

Please don't send me large amounts of email. Instead,
use the AQ2 message board or (for AI discussions) the
BotBoard (http://www.telefragged.com/message_boards/metro)

Right at this time, Bot Epidemic also presents a preview
of CGF here (http://www.botepidemic.com/previews/cgf.shtml),
including a number of screen shots.

CGF was developed from scratch (though some small parts
were used from the SABIN project, and large parts were
provided to the SABIN project). CGF also was designed from
day one to support bots working in teams.
I personally doubt whether current 'solo' deathmatch bots
can easily be adapted to support the close co-ordination,
teamwork and tactics that we love to see in AQ2 (and AQ2 bots).
(A bit like 1st person shooter games that need to be designed
with either single player or multi-player in mind; they won't
succeed in doing a good job at both styles of play).
However, I won't stop you from trying.


-- background info on movie recording ----------------------------

The whole movie originates from a single server recorded demo
of about 110 seconds (recorded on my Celeron300A (@ 300Mhz),
128MB and in 640x480 windowed software mode).
Subsequently, the movie was heavily edited and re-cammed in
Keygrip2 to highlight the bot's capabilities and make it a
bit less boring (I spent most of my time camping during the
recording, and, just like in real AQ2, did not make any
frag at all). During re-camming, I noticed some bugs in the
bot code also.
Of course, the bots did not shout "lights", "camera" or
"action", and did not play the bad quality recording of the
well known TV tune - I added these sounds also.

As a result, the movie now runs for about 300 seconds and
displays most of the action from at least two angles.
Where possible, I did not violate the timeline. However,
with 16 bots in action, there was so much happening in
parallel that I needed to duplicate some of the action. When
you pay close attention, you can detect some small
inconsistencies.
During the actual mission, the bots also chatted a lot (like
in say_team), but these chats disappeared when recording a
serverrecorded dm2.

I did not change, modify or edit the bot's behavior in any way
during the movie.

I obtained the source demo by running the mission for about
30 times. On two occasions, a GPF (bug in my code) occurred,
on a number of occasions, the bots got stuck on the ladder,
and on other occasions the snipers killed all attackers. I
also did not pick the demos where I didn't make the
CocaCola jump :).


-- credits -------------------------------------------------------
CGF concept, design, AI, programming, movie:
  William van der Sterren (sterren@iae.nl)

additional coding:
  A-Team
    (who responded promptly to my bot offer
     by providing sources and support)

  SABIN project
    (notably Alan Kivlin and Terry Hendrix II)

AI advice and discussion
  John Crickett
  Steve Yeager
    (thanks for the A* and fuzzy logic discussions)

testing and tuning:
  Dominic 'Cube' Rutter
  Jon Kristian Mjorud (I forgot to ask for his nick)
  Timm 't1mm' Stokke

special thanks to
  id software
  Keygrip2 team
  Bavaria Malt