Title     : Navy SEALs sQuad bots (upgrade of Navy SEALs 2.0)
Filename  : sqdbt201.zip
Version   : 2.0.1
Date      : 12/12/97
Author    : William van der Sterren
Email     : sterren@iae.nl
Credits   : id software,
              for releasing Quake as a modifiable environment
            Minh Le (gooseman@smartt.com)
              for starting off Navy SEALs, and
              for high quality weapons, models and animations
            Roscoe A. Sincero (legion@keg.zymurgy.org)
              for a large part of the bot movement code
              (Norse_movetogoal package v0.32, slightly modified)
            Alan Kivlin (alan.kivlin@cybersurf.co.uk)
              for bot rankings code
            Skullhunter (ChantaclairRose@prodigy.net)
              for additional weapons and models

            DnV, Blackhorse,
              for publicity and testing
            AssLord, Skullhunter, Spidergecko
              for testing


Build time: over 100 hours ...
            (I probably spend too much time testing :) )

Type of Mod
-----------
Quake C  : yes
Sound    : no
MDL      : no

Important: This modification requires (in the same directory) the Navy SEALs
2.0 modification, (because of its models, sounds and maps).
This modification replaces and upgrades the Navy SEALs 2.0 progs.dat. This
modification add squadbots to Navy SEALs 2.0 and fixes minor weapon selection
problems.

If you are impressed by the monsters models and - animations, and by the
weapon models, please take a look at the credits again; that wasn't my work.


Format of QuakeC (if a Quake C Mod)
-----------------------------------
unified diff  : no
context diff  : no
.qc files     : no
progs.dat     : yes


Description of the Modification
-------------------------------
This Navy SEALs sQuad bots modification confronts you with a team
of up to four opponent bots, which operate in a (more) intelligent,
realistic, and coordinated fashion than current Quake monsters and
most other bots. This modification aims to enhance your "single player"
Quake with more realism and replayability.

Navy SEALs sQuad bots do not passively wait for you to eliminate them,
nor do they forget to pursuit you when you try to run. These sQuad bots
come to help their team mates if you try to attack one of them. These
sQuad bots enter formations and try to stay within supporting distance
of each other. These sQuad bots move out of each other lines of fire,
if "asked" by their team mates.
Navy SEALs sQuad bots fully use the professional animations and sounds,
created by Minh Le and friends, to sit down and fire, to reload, and to roll.

Navy SEALs sQuad bots have NOT been designed with ordinary deathmatch in mind.
Most real life soldiers and terrorists do not wait near the red armor
spawn location, do not dive into slime to obtain the quad damage
power-up, and do not learn to circle strafe. Nor do these Navy SEALs
sQuad bots.

Other limitations, specific for this version (and hopefully removed in
future versions):
- the Navy SEALs sQuad bots currently are limited to operate on map e1m1
  ("The Slipgate Complex"), and on new maps especially designed for these
  sQuad bots.
- the Navy SEALs sQuad bots currently are limited to one team only (thus
  four bots at maximum).
- crashes in GLQuake due to some .mdl files that cannot be "meshed"
  by GLQuake. Look for a patch including new .mdl files at the Navy SEALs
  home page (http://www.planetquake.com/qca/goose). This problem is
  a property of both the original and this release of Navy SEALs 2.0.

Below, more detailed information is provided to help you:
- changes wrt the previous versions
- install the patch,
- to use the required "impulses",
- to use the bots
- to use the menu
- to use different game modes

Even more information is given if you are having troubles or if
you are very curious about the bots:
- known bugs and problems
- "frequently asked" questions and answers
- sQuad bot implementation information (may spoil game)
- author info

Have fun,

William

New to version 2.0.1
------------------
Version 2.0.1 differs from version Navy SEALs 2.0 (Dec 4, 1997) and
squad bot 1.3 (Dec 8, 1997) as follows:
* Navy SEAL differences:
- fixes minor problems with weapon cycling/selection, weapon pickup
  and player respawn
- fixes minor problems with obituary messages
* squad bot differences:
- mk23 armed bots now use realistic 12 bullet clips (instead of the
  previous 20 bullet clip)
- includes Navy SEALs 2.0 animations and weapons; new death sequences
  have not yet been used
- bot menu (via impulse 99) is now unavailable in standard
  deathmatch and coop modes to prevent cheating in multiplayer
  games
- bots cannot be spawned in standard multiplayer games
- rewrote menu for weapon issueing (when using bots). Now, weapons
  are presented in front of you, and you have about 3 seconds to
  fetch them. You will not be give a weapon you already have.
- bots use MP5SD and flashbang grenades against you. Bots do not
  hear the differences between the MP5 and MP5SD you use (actually,
  they don't hear at all) and their vision is not by flashbangs.
  However, they run from your flashbang grenades.
New to version 1.3
------------------
Version 1.3 differs from version 1.2 (Dec 1, 1997) as follows:
- rewritten bot connect/disconnect and setting of models, to solve
  (a) the "invisible" bot problem a few users had, and (b) to
  solve the inconsistent "frags" mentioned in the frag list.
- the bot squad sometimes to decides to wait for you (ambush) instead of
  running towards you (that was all to easy :) ).
- use some different respawn positions (one of the old position gave
  problems)
- correct version info (v1.2 said "1.1")
- some textual clarifications in this readme file
- minor tweaks to AI and animations
New to version 1.2
------------------
Version 1.2 differs from version 1.1 (Nov 31, 1997) as follows:
- fixed important bug that assigned team number 0 to bots regardless
  the team value of the player; if player had default pants, thus
  team 0, bots wouldn't attack him.
New to version 1.1
------------------
Version 1.1 differs from version 1.0 (Nov 20, 1997) as follows:
- bots may now use MP5 machine gun and "guard.mdl" animations;
- normally a squad consists of up to 4 bots, randomly selected from
  pistol - and machinegun armed models. The player may customize
  squad composition using the "squad settings..." menu, then
  option 5.
- bots now use a running number of frags (it was reset to zero
  after a bot was killed in v1.0).
- a full squad is inserted within one second (instead of taking
  up to 10 seconds).
- debug settings is now option 6 in "squad settings" menu, instead
  of option 5.
- minor tweaks to bot AI and animations.
- minor tweaks to this text file.
- squadbot.cfg file now includes "coop 0".


How to install the patch
------------------------

step 1. Make sure you installed Navy SEALs 2.0 (INCLUDING the so-called
        multiplayer update, available on the news page - until the news
        page mentions an single zip file).

step 2. Extract the progs.dat, squadbot.cfg, and sqdbot20.txt (this file)
        into the directory where you installed Navy SEALs. Answer yes,
        if required, to overwrite the existing progs.dat file.

Impulses
------------------------
This patch requires keys 1, 2, 3, 4, 5, 6 and key 9 to be bound
to "impulse 1", ..., "impulse 6" and "impulse 9" respectively. If you
don't understand what I mean, don't worry: default Quake settings
meet this requirement.

This patch adds one new impulse command to the Navy SEALs impulses:
- impulse 99,
  shows main menu. Choose options 1...6, or choose 9 to exit menu,
  or ignore menu (will disappear in 10 seconds or so).
  As long as the menu is screen and you didn't choose one of the
  options, you won't be able to use impulse 1..6 to select weapons
  (they select menu options instead).
  As soon as the menu disappears, or a menu action has been executed
  (providing you with a reassuring click sound, and a message on screen,
  starting with "menu:" to confirm your choice).
  If you choose an option leading to another menu (those menu options
  end with "...", you won't be able to select weapons using keys 1...6
  until you chose a menu action).
  This may sound awkward, but it works fine.

I'll repeat the standard Navy SEALs impulses for you convenience
(see Navy SEALs text files for more info):
- impulse 100,
  will reload the guns (except for shotgun which reloads automatically).
- impulse 101,
  will fire the grenade launcher (you must have the M-16 to do this).
- impulse 102/103,
  will zoom in/out with the PSG-1 (this only works in regular Quake).
- impulse 104
  will toggle crouch mode.
- impulse 105
  will toggle between MP5/MP5SD single shot / burst rate controlled
  / fully automatic modes. (You must have the MP5/MP5SD in your hands to
  toggle this setting).
- impulse 200
  will toggle between flash-bang grenades and fragmentation grenades.


To use the bots
------------------------
To use the bots (and select the most appropriate game mode), please
do the following:

Fire up Quake using (at least) the following command line options:
  quake.exe -game navyseal -listen 5 -exec squadbot.cfg
(you can use glquake.exe, winquake.exe, etc. as well - use glquake
after obtaining the new .mdl patch from the Navy SEALs home page, when
available).

You'll arrive near the exit of the Slipgate Complex, without seeing
the standard powerups. Now pull the console down and type:
  impulse 99

The menu appears. Just press "1" and a squad of 4 bots will be inserted
(somewhere in the level). You may wait for them to come, or go find them.
Have fun.


The squadbot.cfg file you just used (to start up the game in this mode)
contains the following lines:
  coop 0
  skill 3
  deathmatch 89
  teamplay 1
  map e1m1

You can edit the "skill" and "deathmatch" values in this file to
suit your own preferences.

Do not change the teamplay mode. "Teamplay 1" sets the bots to be immune
for friendly fire. Yes, I know, that's not very realistic, but I still
am troubled by a bug that tells the bots they won't hit teammates while do
hit they mates.

Do not try to use some other map. "map e1m1" starts map "The Slipgate Complex",
the only map currently supported.

Do not remove "coop 0". Coop 1 mode does not allow bots, because it
is reserved for multiplayer purposes.

Skill sets the bots aiming precision; skill 0 is minimal precision,
skill 5 is maximal precision. This does not affect their grenade aiming
precision (which cannot be adjusted).

The deathmatch value reflects the various game modes. See that section
below.

By the way, (commercial plug on), I suggest you use the QuakeOn/QTray tools
(http://quakeon.stomped.com) to manage the various Quake configurations.
They proved essential to me in managing the different games modes I
needed to test. (commercial plug off)


To use the menu
------------------------
Because I hate to remember and program a lot of impulses (I used a lot
of them during testing), and because I saw the elegant menu solution in
the TeamFortress patch, I added menus to the sQuad bot patch.

As stated above, use impulse 99 to display the main menu. And choose
options 1...6, or choose 9 to exit menu. Every choice you make is
confirmed with a nice click, and you'll be given either a new (sub)menu
or confirmation of your choice.

You are able to automate frequently used menu interactions. For
example,
  bind "," "impulse 99; wait; impulse 4; wait; impulse 6; wait; impulse 5"
toggles the bot targeting the player in fraction of a second, without
showing you the 3 menus.

Below, you can find a brief explanation of the menus (in a tree format):

1. Insert sQuad
   [action] inserts a squad of bots, if there is no squad active.
            if you choose "auto respawn" in the mission settings,
            you have to insert a squad only once.

2. Mission settings...
   [submenu]
             1. Infiltrate start to exit
                [action] has player start near start of level, and bots
                         come to the start of level. Takes effect after
                         restart mission.

             2. Infiltrate exit to start
                [action] has player start near exit of level, and bots
                         come to the exit of level. Takes effect after
                         restart mission.

             3. Toggle sQuad bots auto respawn
                [action] toggles whether the squad automatically respawns
                         after all its members got killed. The console shows
                         the new setting. Takes effect immediately.

             4. Toggle item availability
                [action] toggles whether powerups, weapons, ammo etc.
                         is present on this level. If item availability
                         is toggled to "no", items are removed immediately.
                         To have items available again, toggle to "yes"
                         and restart game.

             5. <not implemented>
                [action] whatever the label says, it does not do anything
                         except for exiting the menu.

             6. Restart mission
                [action] restarts mission, so new mission settings can take
                         effect. Similar to typing "restart" at the console.

             Note: these mission settings are recorded as different values
                   for the deathmatch console variable. By looking at the
                   deathmatch value that corresponds to your favorite
                   mission settings (type "deathmatch<enter>" at the console)
                   and using this setting in your squadbot.cfg file,
                   the game will automatically start using these settings.

3. Weapon settings...
   [submenu]
             1. Close Range Weapons
             [submenu]
                     1. H&K MP5
                     [action]    spawns the H&K MP5 weapon in front of the
                                 player,

                     2. H&K MP5SD
                     [action]    spawns the H&K MP5SD weapon in front of the
                                 player,

                     3. Mossberg shotgun
                     [action]    spawns the Mossberg shotgun in front of the
                                 player,

                     4. Assault shotgun
                     [action]    spawns the assault shotgun in front of the
                                 player,

             2. Other Range Weapons
             [submenu]
                     1. Colt M16-A2
                     [action]    spawns the Colt M16-A2 weapon in front of
                                 the player

                     2. Colt M16-A2+RAW
                     [action]    spawns the Colt M16-A2+RAW weapon in front of
                                 the player. No clip for normal M16 operation
                                 provided.

                     3. PSG1 sniper rifle
                     [action]    spawns the PSG1 sniper rifle in front of
                                 the player.

                     4. Barrett M-82 sniper rifle
                     [action]    spawns the Barrett M-82 sniper rifle in
                                 front of the player.

                     5. M60 machine gun
                     [action]    spawns the M60 machine gun in front of the
                                 player.

             Note, to receive a weapon, there must be plenty of free space
             in front of you. You cannot receive a weapon you already have.
             You have only 3 seconds to pick up the weapon. If you do
             not pick up the weapon, it will disappear and you have to
             try again.

             A bug in Navy SEALs 2.0 tends to mess up your weaponry arsenal
             if you obtain the Barrett. You'll loose your Mk23 for sure.
             But hey, you wanted to be sniper!


4. Squad settings...
   [submenu]
             1. Set sQuad size to 1 member
             [action]    sets squad size to 1 member only. Takes
                         effect when a new squad is inserted / respawns.
             2. Set sQuad size to 2 member
             [action]    sets squad size to 1 member only. Takes
                         effect when a new squad is inserted / respawns.
             3. Set sQuad size to 3 member
             [action]    sets squad size to 1 member only. Takes
                         effect when a new squad is inserted / respawns.
             4. Set sQuad size to 4 member
             [action]    sets squad size to 1 member only. Takes
                         effect when a new squad is inserted / respawns.
             5. Toggle sQuad composition
             [action]    toggles squad composition from "mixed" (both
                         machinegun armed and handgun armed guys) to
                         "handgun armed guys" to "machinegun armed guys".
                         Default, after startup is "mixed". "handgun armed"
                         is probably the easiest setting.
             6. Squad debug settings...
             [submenu]
                       1. Toggle team state info
                          [action]  no info :)
                       2. Toggle member state info
                          [action]  no info :)
                       3. Toggle waypoint visibility
                          [action]  no info :)
                       4. Display current states of members and team
                          [action]  no info :)
                       5. Toggle bots targeting player
                          [action]  useful to observe the wonderful
                                    animations and sometimes cool behavior
                                    of the bot

             Note: I don't think these squad settings are useful for
                   the normal player. However, if you come across some
                   annoying bugs and want to provide me addition info,
                   you can use these settings to isolate and document
                   the problem.
                   And if you like to know what's happening in the minds
                   of the bots, you're welcome as well. However, it may spoil
                   the game :).

5. Remove powerups/items
   [action] removes items, powerups and weapons from this level. Please
            use the "Mission Settings...", "Toggle item availability" to
            have the items removed by default.
            I consider the availability of red armor, medikits, etc.
            (combined with the effortless picking up of this stuff) a bit
            unrealistic. If Navy SEALs really were to pick up all this stuff,
            they probably have a shopping cart as part of their basic
            arsenal.

6. About / credits...
   [info]   our attempt to become rich and famous (yeah, right).
            Credits to the people that devoted a significant part
            of their ideas and time to a Quake patch you get for free.

9. Exit menu
   [action] exits menu, allowing you to use your weapon selection keys.



Navy SEALs sQuad bots game modes
------------------------
As said above, the mission settings are recorded in the deathmatch
console variable. Here is an overview of the different modes and
values:

              no items    auto respawn    start-to-exit    exit-to-start
deathmatch    --------    ------------    -------------    -------------
        8  =                                    X
        9  =                                                     X
       24  =                   X                X
       25  =                   X                                 X
       72  =     X                              X
       73  =     X                                               x
       88  =     X             X                X
       89  =     X             X                                 X


Other values may result in strange behavior. Coop == 1, and normal
deathmatch values are reserved for multiplayer (network) play and
do not allow bots nor the extra menu.
I prefer to use values 88 and 89.



Known bugs and problems
------------------------
The following bugs and problems have not been resolved before releasing
this patch. (I consider these problems minor compared to the fun this
patch may already provide you).

Navy SEALs
- GLQuake crashes when running Navy SEALs 2.0 (problems with meshing
  a number of the new models for weapons)
- selecting the Barrett sniper rifle looses the MK23 handgun (probably
  a bitfield overflow)
- obituary messages for players killed by handgrenades mention
  any weapon but a handgrenade
squad bots
- frag counter does display inconsistent values
- bots sometimes get stuck in each other in the elevator near start
- bots sometimes have trouble coming out of the water/slime
- bots sometimes display really bad strafing behavior
- bots sometimes hit teammates

The latter bug is very annoying to me, as I programmed to bots to
check for teammates in their lines of fire. It probably has something
to do with the difference between bounding boxes and real size of
the model.


"Frequently asked" question and answers
---------------------------------------
* What's the idea behind these squad bots?

  I developed squad bots because I wasn't challenged by all
  those "super bosses", thus monsters becoming more dangerous
  because they'd have heavier weapons and armor. (Of course,
  I'm still afraid of Doom's Cyberdemon, but that's a different
  story).
  As soon as I learned about bots (December '96), I set out
  to develop "lightweight" bots that are dangerous because of
  their cooperation and "brains".
  In the second half of '97, I came across Gooseman's high
  quality animations, which allowed the bots to appear more
  realistic. Also the more realistic use of weapons in
  Navy SEALs attracted me. Gooseman generously provided
  me the sources and his support.


* Why are these bots limited to map e1m1 (The Slipgate Complex)?

  These bots need waypoint information to efficiently move
  across a level. The waypoint information also tells them some
  important issues of the level (good places to go into formation
  again, places to blindly run through a door, etc.).
  It is quite a lot of work to add waypoint information for
  a specific level. In addition, a number of levels is just not
  suitable for a cooperating squad of bots. (They didn't learn about
  lava environments and moon-like gravity in their basic training).

  The squad bots operate most effectively in urban environments
  (houses, windows, doors, some stairs, not that much water,
  no small ledges, etc.).
  For newly created maps, a Worldcraft definition of waypoint
  entities is available. Send me an email, and I'll be happy to
  send you the Worldcraft .fgd file and additional explanation.


* Why are do these bots suck in normal deathmatch?

  These bots have not been designed for normal deathmatch. Use
  the Zeus-, Reaper- or Omicron bot for that. But please don't expect the
  Zeus-, Reaper- or Omicron bot to work together, reload their gun or
  keep close to their teammates.


* Why don't these bots use secret passages in e1m1?

  It was hard for me to have the bots operate efficiently in close
  hallways (for example, near the pillar in the main building). That's why
  I didn't inserted waypoints for these locations.
  So, use it to your advantage!


* If I use the sniper rifle, or M60, the bots are as dangerous
  as Hexen II sheep!

  First of all, try skill = 5. (Type skill 5 on the command line)
  and try again. These bots won't shoot that bad anymore.

  I consider it realistic that the bots, armed with a pistol
  or light machinegun, only effective at short ranges, don't stand a
  chance against your sniper rifle or M60.
  I do think it is unrealistic that you are able run around
  at high speeds with your M60 and shoot without being pushed back
  or loosing aiming precision.
  I may do something about latter cause when I have some
  time available.


* I have this COOL idea about adding cruise missiles, two hundred
  Nazi's, HUMV vehicles, speech recognition, twin Vulcan
  machine guns, and mine hunting dolphins. You MUST add that
  to your patch!

  Please consider my situation. I do have a day job, a lovely girl
  friend, friends, and other hobbies. I started working on these
  cooperating bots because I liked the combination of Quake,
  programming some "AI", 3D environments and a realistic combat
  simulation. Because I have received support from various
  people in the Quake community, I could come up with this patch.
  I publish this patch as a "thank you" to these people and
  to enable other people enjoy this.

  I don't publish this patch to have other people tell me what
  to do. I don't work on this patch to do the programming other
  people don't like to do themselves.

  However, I do love to receive any ideas, and feedback,
  especially for the bot AI. And, as long as I have the time,
  I love to cooperate with other people committed to
  getting their concepts to work. (Hi there, Gooseman and
  Skullhunter!).
  My focus is (and will be) programming bot AI.

  By the way, isn't your idea a bit over the top?

* These bots, are they very specific for Navy SEALs?

  Only partially - reloading, grenade throwing/detection, sitting,
  rolling and the animations are specific for Navy SEALs. The AI
  could be useful in many more patches. Why are you asking?

* What about QuakeWorld support?

  This patch does not support Quakeworld environments.

  However, if you could explain to me what is required to
  support QuakeWorld (both technically, and in terms of effort),
  I might consider working on QW support.

* What about these bots and Quake2?

  Porting these bots to Quake2 (actually, redesigning the bots
  and then putting the into Quake2) is definitely on my mind.
  Whether that'll be in a Navy SEALs context, or some other
  context, I don't know.


About the Navy SEALs sQuad bot implementation
---------------------------------------------
Each bot is implemented as a so-called state machine; at
every moment in time, the bot is exactly in one single state,
and that state determines how the bot reacts to his environment.

To illustrate the state machine idea, the bots can have the
following states:
- wait, reload, patrol, hunt stuff, hunt enemy, strafe,
  defend, attack, pain, die, assemble, position, guard, run to
  help, spread, check, run for cover, ambush

Let me explain a bit about these states:
The states assemble, position and guard are used to have
the bots enter a specific formation. If a bot has to enter
a formation, he changes to state "assemble". In that state,
the bot runs to the assembly area, using waypoints.
Also specific for that state, the bots ignore a.o. all nice
stuff that could be picked up, but still look for enemies
and incoming grenades.
As soon as the bot arrives at the assembly location, the
team determines the exact location for the bot to go to.
He does so in state "position", which means he walks to the
specific position, now ignoring waypoints. Again the bot is
ignoring stuff.
Finally, when the bot arrives at his position, he will stay
there until the whole team is assembled, or a time out occurs.
While at his position, he is in state "guard", and checks
his surroundings.

Note that neither state machines (well known as FSM-s or
Finite State Machines) nor this bot implementation are very
new or special.
The interesting bit in the "squad bots" is added by a team
coordination entity: the squad! ("team" has less in common
with "quake" than "squad" has, that's why it is called "squad").

To coordinate a squad of bots (and to process the communication
between the bots), the squad entity is created. Again,
this entity is a state machine, and has at least the following
states:
- create team, uncoordinated team, assembly team, spread out
  team

Depending on actions, observations and states from the squad
bots, the squad entity itself changes state, and instructs the squad
bots.
For example, if a bot arrives at location suitable for
a re-formation of all the bots in the squad, it notifies
the squad itself. The squad entity determines if the bots
should enter formation (again), and decides which bots apply
to enter formation with a certain time span.

Similarly, if a bot detects an enemy, he will signal his
squad (state-of-art radio equipment), which is to decide
if and who is to help him. The squad will take care of
coordination of lines of fire.

Special behavior also applies when an enemy has gone out of
sight, or when entering a building.

While writing about 100 pages (A4) of squad bots code,
I made the following observations about Quake bot AI:
- we already know bot movement is hard (Nelno has written
  an interesting article about that, see PlanetQuake);
  I think bot formation movement is just as complex
  (having bots keep a certain distance to other bots,
   negotiate about lines of fire, negotiate who is to
   trigger buttons, when to use which formation). At least,
  the QuakeC code I wrote for this is complex.
  I personally look forward to see Half-Life's
  "flock" type of formation AI for the monsters.

- though the current Quake monster AI is bad (all those
  monsters just waiting by themselves for you to come
  kill them), adding AI similar to the squad bots AI would
  not make it that much better:
  - level design/monster balancing becomes more complex,
    because monsters act (more) autonomously; it is
    hard to ensure the player has both a fair chance
    and a challenge to finish/survive a level
  - much of the inter-monster coordination is not visible
    to the player; in the case of squad bots, all their
    formation code (keeping them together), is more or
    less hidden for the player. You won't see these bots
    use formations when they kill you.

- bot AI becomes more interesting to a player if bots are
  cooperating with the player. I didn't feel emotionally attached
  to my squad bots, except for some moment when they completely surprised
  me (the catwalk near the exit allows them to move in
  ways I didn't expect). However, playing Scourge of
  Armagon, or better: Soldier of Fortune, where you receive
  support from cooperating monsters (bots),
  made me feel responsible for those monsters (bots). That's
  the way to go. It seems Ion Storm's Daikatana (sp?)
  is also promising in that aspect.

  The squad bots can operate in coop mode with the player;
  I strongly encourage map designers to take advantage of
  that. I'm also glad to assist in providing any "scripted"
  behavior for such levels. Just think about situations where
  both the player and the bots have different but interdependent
  goals in a level.

- I haven't seen many really intelligent bots. For me,
  intelligence has something to do with learning. There are
  only a couple of bots available that really learn while
  they play - think of Reaper, Zeus and now Omicron. Frankly, my
  squad bots should not be considered intelligent - they
  don't learn while playing, nor do they employ "strategies".
  (Since v1.3, they do sometimes decide to ambush instead of
  attack).
  However, these bots do employ tactics, and communicate which
  makes them challenging to play (at least, for me).



About the author
----------------
William is a bloke of about 28 years, living in the Netherlands,
with a background in computer sciences.

William did not previously publish any other Quake modifications.
He started working on this patch as early as December 1996.
He is interested in continuing this bot AI programming for Quake II.



Copyright and Distribution Permissions
--------------------------------------
The modifications included in this archive are Copyright 1997,
William van der Sterren (unless specified otherwise -
see credits).

The original QuakeC source is Copyright 1996, id software.

This modification may be electronically distributed only if
all the files in this archive remain intact and unmodified
and are distributed together, AND if this modification is
distributed at NO CHARGE to the recipient.

This modification cannot be used or modified in any way without
written permission from the author.

I would also like to request any who reviews this patch
to kindly inform me that they have done so. Thanks:)

Availability
------------
See http://www.planetquake.com/qca/goose

