Name of Mod        : The Jumbot
File Name          : jumbot01.zip
Version            : 0.1
Date               : August 06, 1999
E-mail             : thefatal@telefragged.com
Web Site           : http://www.telefragged.com/thefatal/

Additional Credits : Thanks to all the people who've helped me and
                     given me support, especially people like Strider
                     and news sites like the Bot Epidemic. I appreciate
                     all of the support. Thanks to Brian McClelland and
                     Adam Smith for helping test the bot and informing
                     me of various bugs. Thanks to John Crickett (author
                     of the Oak bot) for the helpful information on file
                     I/O.

AUTHOR INFO
-----------
I'm also the author of the Famkebot, Head Soccer, and many other
things.

TYPE OF MOD 
-----------
This is a DeathMatch and Teamplay bot for Half-Life.

PLEASE NOTE: This is a beta release of the bot and should not be considered
very stable or compatible with all systems. Also note that the patch
required to use the bot correctly has not yet been released as of this
writing, so many features of the bot will not work correctly if you are
not using the latest version of Half-Life.

Programming  : All of it.
Sound        : Nope.
MDL          : Nope.
Maps         : Nope.
Graphics     : Nope.

VERSION HISTORY
---------------
0.1:
First release. Features include standard server-side client emulation,
full weapon support, a new full level navigation system, and more.

INSTALLATION AND USE
--------------------
Extract the zip file WITH DIRECTORY STRUCTURE directly to your Half-Life
directory. If you did it correctly, you'll have a new "jumbot" folder
under your Half-Life folder. Now start Half-Life with the console
(-console at the command line). Once in the menu, use the custom
game option to activate the Jumbot. Now just start a regular LAN game
through the menu (note that if you want to use the bots on teams, just
set up the game to use Teamplay as you normally would) and use the console
(~ key) to enter commands and change values (which are listed below).

If there is no waypoint file for the bot, you'll need to place waypoints
yourself and save them to a file once you're happy with their placement.
See below for the various waypoint management commands and values.

TROUBLESHOOTING
---------------
Everyone's system works differently. While the bot works fine on my
computer, some of you may have problems. The only currently known problem
that shows up on some other systems has to do with the string allocation
routines. So, if the game is crashing for you (such as when you add a
bot), then set the "nobotcfg" cvar to 1 and use the other method of
customizing bots. This should fix any crashing problems. If the problem
continues, you should also try disabling bot chatting and see if that
fixes it.

Other than that, if you've followed the installation instructions above
correctly, you should have no problems at all.

WINDOWS NT AND PERFORMANCE ISSUES
---------------------------------
First off, you should note that the Jumbot uses some fairly advanced
navigation routines that require a good amount of processor speed.
However, the bot can still get around levels quite well without the
use of those routines, so there is an option to disable them for
those of you with slower computers. Simply use the speedup cvar in
the console, which you can read more about below. Also note that
increasing the bot's thinking speed to a higher value (also done
through a cvar, see below) can take more load off of the processor
because the bot does not need to do as many calculations per second.

There have been some issues in testing with Windows NT, and there
seem to be problems with the program crashing after adding a bot.
To try to get around this, you can set "ntfix" (console cvar) to
1 before adding a bot. It may still crash, but it might possibly
not. Please don't e-mail me about this problem, I'm currently
trying to obtain a copy of Windows NT so I can fix it myself.

CUSTOM BOT CONFIG FILES
-----------------------
The Jumbot comes with 2 custom bot configuration files. bots.cfg, and
execbots.cfg. The information in bots.cfg is read and used if
nobotcfg is not set to 1 each time a bot is added. To use execbots.cfg,
type "exec execbots.cfg" in the Half-Life console. It will set nobotcfg
to 1 and use the information in the file. Both files can be edited and
added to freely using any standard text editor.

CUSTOM CHAT CONFIG FILES
------------------------
Custom chat files can be specified using the chatfile cvar (see below).
By default, botchat.cfg will be used. This file can be edited and such
to your liking with any standard text editor. Each chat file holds a
total of 60 comments (30 for dying, 30 for killing). All chat files
should be placed in the Jumbot directory located under your Half-Life
directory. As an example, if you have a bot chat file called "chat2.cfg"
that you want to use instead of botchat.cfg, then you can simply type
"chatfile chat2.cfg" in the Half-Life console. From then on, all bot
chat comments will be read from chat2.cfg instead of botchat.cfg.

SETTINGS AND COMMANDS
---------------------
addbot (command): Adds a bot into the server.

removebot (command): Removes the last created bot from the server.

botfov (cvar): Sets the bot's field of vision. Works just like the
player's "fov" cvar. Default is 90.

botusefov (cvar): Default is 1. Setting to 0 tells the bot not to
limit its view to its field of vision.

bothearing (cvar): Default is 1. Setting to 0 disables the bot's
ability to detect things by hearing them instead of viewing them.

botpain (cvar): Default is 1. Setting to 0 will disable the bot's
ability to detect an enemy by figuring out which direction it is
feeling pain from (even if it cannot hear or see its enemy).

botaccuracy (cvar): Allows you to set the accuracy of the bot. The
default is 10. The lowest is 0, which is perfect, and the highest is
160, which is extremely bad.

botspeed (cvar): Allows you to increase or decrease the bot's running
speed (higher increases, negative value decreases).

bot_crowbar (cvar): Toggles the bot's use of the crowbar only on and
off. 1 is on, 0 is off. Default is 0.

botmsec (cvar): Changes bot physics update speed. Default is 75.

botchat (cvar): Default is 0. Setting to 1 enables bot chatting.

chatfreq_died (cvar): Sets how often a bot will speak after it dies.
Should be between 1 and 10. 1 would be hardly ever, 10 would be
every time.

chatfreq_killed (cvar): Sets how often a bot will speak after it kills
someone else. Should be between 1 and 10. 1 would be hardly ever, 10
would be every time.

chatfile (cvar): Default is "botchat.cfg". This allows you to specify
the name of the file that contains the comments the bot will use to
chat. All bot chat files should be placed in the Jumbot directory
under your Half-Life directory to be used.

speedup (cvar): The default for this is 0 (disabled). When set to one,
it will disable some of the bot's advanced navigation routines and take
a significant load off of the processor. The bots will still be able to
navigate levels well, but will not do some of the more advanced things
that they normally do in exchange for less processor usage.

bot_ai (cvar): The default for this is 1 (enabled). Setting to 0
completely disables the bot's AI.

bot_thinkspeed (cvar): The default for this is 0.1. It can be a value
anywhere between 0 and 1. This adjusts the speed at which the bot
thinks, reacts, etc. This factors into reaction time as well as
slightly into accuracy.

nobotcfg (cvar): This is 0 (disabled) by default. Setting it to 1 will
disable the use of the bots.cfg file, and you'll need to use the bot
information cvars to customize the bot. You should try setting this
to 1 if you're getting crashes when trying to add a bot. That shouldn't
happen, but there were reports of it from a couple people who I had
test the bot (I guess it all depends on your system in particular).

b_name (cvar): The bot being added uses this value as its name if
nobotcfg is set to 1.

b_model (cvar): The bot being added uses this value as its model if
nobotcfg is set to 1.

b_topcolor (cvar): The bot being added uses this value as its shirt
color if nobotcfg is set to 1.

b_bottomcolor (cvar): The bot being added uses this value as its pants
color if nobotcfg is set to 1.

*WAYPOINT MANAGEMENT COMMANDS AND CVARS*
wp_autoplace (cvar): Default is 1. Setting to 0 will disable attempts
to automatically place waypoints behind you when you're constructing
a waypoint table to be saved to a JRF file.

makewp (command): This will add a waypoint at your current location, it
is used while constructing a waypoint file for a level (see below).

writewpfile (command): Use this after you've finished placing waypoints
for a level to save the waypoint data to a file for later use.

CONSTRUCTING WAYPOINT (JRF) FILES
---------------------------------
When you load up a level that doesn't have a JRF file for it in your
Jumbot\wpfiles directory, you will automatically begin placing waypoints
(which will be visible to you in the form of crossbow bolts) whenever it
is determined by the checks in the program that one should be placed.
The program is often incorrect in its assumptions as to where they need
to go and will sometimes neglect to place one in an area where it is
needed. If you see this happening, use the makewp console command to
place a waypoint manually. Here are some good tips for creating waypoint
files:

1. Always make sure each waypoint is visible from the previous waypoint
   and the next waypoint.

2. Make sure you stay crouched while placing waypoints in areas that
   require the player to crouch to avoid certain obstacles.

3. Try not to go off any ledges that you can't climb back up.

4. Try to place a waypoint close to each side of a door.

5. Place waypoints close to buttons that need to be used, so the bots
   will know to use them.

6. Place waypoints close to health/HEV suit rechargers if you want the
   bots to use them.

7. Don't get killed.

After you've finished constructing your waypoint file, use the writewpfile
command to save the waypoints to a JRF file and then restart the level. The
JRF will be automatically loaded each time the level is loaded from now on.
If you don't like the job you did on the JRF and want to redo it, simply
delete it from your Jumbot\wpfiles directory and reload the level. Each
JRF file will have the same name as the level it is for (boot_camp.bsp is
boot_camp.jrf, etc).

BUGS, ETC.
----------
There are currently no bugs that I know of that are very serious.
Please don't send bug reports, since I have people to test the bot for
me under pretty much all conditions and I'll eventually find a bug
if it exists. If you're having odd obvious problems, make sure you
have the latest version of Half-Life.

COPYRIGHT/PERMISSIONS
---------------------
The bot may only be distributed if this file and all the other files that
came with it are included in the redistribution, and no money is charged
for the product being distributed. This excludes such things as video
game magazines which include a CD and things such as that, which are
permitted to include this bot (provided they meet the requirements above)
as long as they notify me before doing so and get my permission through
e-mail or some other form.

