Name of Mod        : The Famkebot, for Quake II
File Name          : famkebot.zip
Version            : 5.6
For Q2 Version     : 3.14
Date               : April 15, 1998
E-mail             : thefatal1@quake2.com
Web Site           : http://www.quake2.com/famkebot/ (check back often for
                     updates)

Additional Credits : John Crickett, author of the Oak II bot, deserves lots
                     of thanks. He's done TONS to help me with the bot.
                     Also, thanks to Ridah, author of the Eraser bot, who
                     helped me a little when I first got started on this
                     bot. And thanks to Brian 'AceComb' McClelland for
                     designing levels with items on them so I could test
                     what the bots would do with them and not have to lead
                     the bots into the items on one of the normal levels or
                     make my own levels. :) Also (they just keep coming)
                     thanks to sATaN, because he wrote a chasecam tutorial.
                     I used it to see how you set the client's view to
                     another object (just used a few lines of code from the
                     whole giant tutorial :). Also (ahhh) thanks to the
                     author of VWep (because the Famkebot now supports
                     VWep).

AUTHOR INFO
-----------
My name's Rich Whitehouse, and I'm also the author of QCAP for Q1. You can
pick it up at the web site listed above, if you want it, as well as the
source code for a previous version of this bot and a tutorial on the source
code.

TYPE OF MOD 
-----------
DLL      : Sure thing.
Sound    : Nope.
MDL      : Nope.
Maps     : Nope.
Graphics : Nope.

FORMAT
------
I compiled this with LCCWin32. It should also work fine in Windows NT.

INSTALLATION
------------
Unzip with zip file that this file was in into c:\quake2\famke (if
c:\quake2 is your Quake II directory) WITH directory structure (e.g.
pkunzip famkebot.zip -d). Then start Q2 with this command line:

c:\quake2\quake2.exe +set game famke

If you are using the partial CD install, you will need to add some
other parameters to the command line. If you can't figure it out and
have tried asking everyone else you can think of, then you can e-mail
me.

COMMANDS AND OTHER THINGS YOU NEED TO KNOW
------------------------------------------
addbot - Add a DeathMatch bot, or a bot on the opposite team for teamplay.

addbot_team - Add a bot on your team in teamplay.

addbot_coop - Add a bot in cooperative mode.

botscores - Prints the scores of the first 20 bots you added to the center
            of the screen and to the console.

bottalk 0/1 - Toggle bot-talk on and off. Default is 0, which means on.

maxbots # - # is the maximum number of bots that can be added. The default
            is 128. This is mainly for server admins to set so that clients
            that connect to the server can't flood the server by adding too
            many bots.

nofootsteps 0/1 - Toggle bot footstep sounds on and off. Default is 0, which
                  means on.

teamplaybots 0/1 - Toggle bot teamplay on/off (see "To start a teamplay
                   game:" below).

bot_giveweap - Make last created cooperative bot throw its weapon for you or
               another bot.

giveweap - Throw your weapon for another player or a bot.

lastbot_come - Teleport last created cooperative bot to your current
               location (if there's enough room).

forgetenemy - Tell last created cooperative bot to ignore its current enemy
              and follow you.

forgetitem - Tell last created bot to ignore the item it's after and follow
             you.

coopview - View through the eyes of the last created coop bot.

removebot - Disconnects a bot from the server. You can only disconnect bots
            you have created. This is to prevent clients on a server from
            disconnecting bots that the server admin has added.
addbot_custom - Executes custom bot file (botcfg.fam). botcfg.fam can be
                edited with any text editor (DOS EDIT, Windows Notepad,
                anything you want). Please don't e-mail me if you have no
                idea what I'm talking about or are having trouble with it.
                You should probably learn more about the basics of computers
                if you're having trouble. :) You can also seek out a
                frontend that supports this bot and see if it has a way to
                let you easilly customise the file.

vwep 0/1 - Enable/disable Viewable Weapons. You will need the PAK file from
           the original VWep patch for this to work. If you don't have it
           and enable vwep (1 is on, 0 is off) the bots will have diamonds
           as weapons. Do not e-mail the author of VWep if you have problems
           with this, and don't e-mail me. I know it works, and chances are
           that if you can't get it working, you've done something wrong.
           See "VWep support:" below for instructions on what to do to get
           everything working right.

practice 0/1 - Enable/disable practice mode. This is a special mode created
               for the bots which changes many things. See "Practice mode:"
               below.
practiceweap 0-10 - Select weapon for practice mode. See "Practice mode:"
                    below.
roam 0/1 - Toggle learning of level/use of FRF files on/off.

To start a DeathMatch game:
Type deathmatch 1 in the console, then map <map of your choice>. Then once
the level has finished loading, type addbot to add bots.

To start a teamplay game:
Type teamplaybots 1 in the console, then deathmatch 1 in the console. Then
type map <map of your choice>. Use addbot to add bots on the other team
and addbot_team to add bots on your team.

To start a cooperative game:
Type coop 1 in the console and then map <map of your choice>. Use
addbot_coop to add cooperative bots.

All of these modes should work on a dedicated server. Teamplay's rules
may seem a bit odd with more than one real player, but it'll still
work.

CUSTOM NAME AND MODEL SUPPORT:
You can customise botcfg.fam and use addbot_custom, or you can add custom
bots manually. To do this, use the following:

addbot <bot's name> <bot's model> <bot's weapon model> <bot's sex>

For example, to add a male bot named Jimmy, you could use:

addbot Jimmy famke/male/tris.md2 players/male/weapon.md2 male

For a female bot named Xenia, you could use:

addbot Xenia famke/female/tris.md2 players/female/weapon.md2 female

addbot_team and addbot_coop support custom names, but not models. So you
can only use addbot_team <bot's name>/addbot_coop <bot's name> for those.
For example, to create a coop bot named Xenia, you would use:

addbot_coop Xenia

If you have trouble understanding any of the above, please don't e-mail me.
You should seek help elsewhere.

If typing addbot, addbot_team, botscores, etc. doesn't work, try using cmd in
front of it (cmd addbot, etc.)... if it still doesn't work, it means you've
installed the bot incorrectly or not started Q2 with the correct command line.
Read the installation instructions carefully and try again.

Skill settings:
There are 3 skill settings: 0 through 3 (type skill # where #=0-3 at the
console and restart the level to change the skill setting). 1 uses all
of the combat AI in the bot, 0 disables some of the advanced strafing and
movement as well as the bot's ability to aim rockets better, and 0-3 adjust
how well the bot aims and such (0 being bad, 3 being perfect).

VWep support:
First, make sure you have the PAK file from the VWep patch in your
quake2\baseq2 directory. If you don't have it, you can get it at:

http://www.telefragged.com/tsunami/

After you've put the PAK in your quake2\baseq2 directory, start Q2 with the
Famkebot as you usually would. Then, once you've started the game, type
vwep 1 at the console and restart the level. That's all you need to do.

Practice mode:
To start a game in practice mode, type practice 1 then deathmatch 1 and
restart the level. In practice mode, all items (powerups, weapons, ammo,
everything) are removed and all players (or bots) have only one weapon,
which can be any weapon you want with unlimited ammo. In this mode, you don't
kill or get killed. Your score goes up and down depending on how much damage
you inflict on yourself and others. The botscores command still works in this
mode, and it will tell you the scores of the bots in how much damage they
have done. To select which weapon you and the bots will have, type
practiceweap # at the console and restart the level. # can be any number
between 0 and 10, here's what the numbers stand for:

0 - BFG10K
1 - Blaster
2 - Shotgun
3 - Super Shotgun
4 - Machinegun
5 - Chaingun
6 - Grenade Launcher
7 - Rocket Launcher
8 - Hyperblaster
9 - Railgun
10 - Hand Grenades

Damage will not be visible in this mode, either (as far as blood and stuff
goes). However, you (or other players, or bots) will still get knocked back
and such by strong blasts (like getting hit by a rocket or a direct super
shotgun blast).

FRF Files
---------
FRFs (Famke Route Files) are files that contain data that the bot uses to
travel around levels. If you play a bot on a level that it has no FRF for,
it will learn from what you do. Then, the information from what you do will
be saved in the format of FRF so the bot will know the level next time you
play it. It is recommended that when playing on a level that the bot
doesn't know that you run around getting powerups for about 5 minutes. The
bot will probably already know the level well then by the time you add it.
You don't have to worry about saving and loading FRF files, because they
are saved and loaded automatically. If you've created an FRF file and want
to remake it, go into your famke\info\ directory and delete the FRF file
you want to remake.

Bugs and other stuff
--------------------
If you're playing the game and it suddenly crashes, well, sorry. I haven't
found any in specific, but I'm sure there are still a few bugs. If you know
exactly what is causing the crash, e-mail me and tell me. If you don't, or
if the bug you want to report isn't a game-crashing bug, don't bother to
e-mail me. Thanks.

COPYRIGHT/PERMISSIONS
---------------------
If you decide to use the source code for this mod (or a previous version)
and decide you're going to do something with it, like make your own mod
off of it, I don't mind, but please give me credit for it in some way, and
ask me first. Thanks. This mod is in no way associated with id Software.
E-mail thefatal1@quake2.com with comments and questions. This mod may be
distributed on CD, but only after you've gotten my permission. You may not
distribute this mod without including this text file.
