QUAKE 3 BOT DESIGNER
v1.0

Designed by Cricel
cricel472@hotmail.com

Vaguely Legal stuff:

DISTRIBUTE THIS.  I'm telling you to.  I WANT people to use this.
HOWEVER: If you are going to do anything vaguely commercial with this
like put it on a CD or sell it to your friends or anything REMOTELY
similar, you owe me at least some credit and probably some cash then.
Don't make me have to find out the hard way.  That said: DISTRIBUTE IT!


NOTE: This only works in 800x600 and above.  I strongly recommend
using 1024x 768 when running this program.  This is due to the size of
one of the dialogs.  If I get enough complaints I might work something
out but until then, this is the way it is.  You shouldn't be running
less than 800x600 anyway...


First of all: If you do not want to read through my moderately
windy speech about q3bd, jump down to the line that says *IMPORTANT*
because it is.  If you will grant me the chance to talk about my new
program and continue on, the important stuff is not so important that
it can't wait until you're done reading this.

OK, so you've just made your nice shiny new model.  You're feeling
pretty good.  But what is this?  You can't play against your new model
as a computer opponent...  You need some schmuck (read: friend) to sit
around and test it with you.  That makes life kind of troublesome when
working out the kinks.  And what about all those soon to be raving
fans of yours?  How are THEY going to really see it in action unless
they find someone online who is using it?  Well, you make a bot of
course.

Now, obviously, the above is mostly just for my own entertainment.
If you've got this, you probably know at least something about bots
and models already (at least I hope you do).  So what does this program
do?  Well, if you've ever tried to add bot support to your model once
before, you might have found it a bit involving.  You have to go into
the source code, open some stuff up and type in some numbers and see
what happens.  I'd like to say that those days are over and done with,
you'll never had to look at it again but then, I'd be lying and you'd
be mad at me.  So we'll make it easy:

Q3BD does this:  It provides a VERY nice, VERY easy and VERY smooth
graphical (Windows) interface to all of that bot editing you had to do
before.  You slide these nice little sliders around and save your bots
(without actually making multiple copies of all those nasty _c.c, _t.c,
_i.c and _w.c files).  Everything is contained in a very small -- very
portable -- .q3b file that opens up and saves very cleanly in q3bd.
Then when you're finally done tinkering to your heart's content, all
you need do is click on "Create Q3 Source" and it will make it all for
you...  SO much easier I assure you.  Try it out and see...

Now a few things to mention:  1) You still more or less need to know
what goes in those files.  Designing a bot for Q3 is just far too
complicated to actually remove understanding of the basic principles
from the user of a program like this.  You need to know what the
different categories refer to.  I have made a few arbitrary sections
to make it easier to see everything but all in all it should seem
straightforward.  I would like to hope that it is also fairly intuitive.

Note: I have to admit that I do not actually make models myself.  I
came into this from the programming side because I was flipping through
all the stuff in the pak0.pk3 file and found these piles of files with
bots names and I was just like, wow, what are these?  Looked through,
saw the potential and figured it would make a neat program.  So here it
is.  I tried to do my best with it and I hope you can find some vague
use for it here and there.  Therefore, if there is anything missing that
needs to be added or anything you would like to see added or anything
that just plain sucks and needs to get ripped out or replaced: tell me.
My email address is in q3bd's about and at the top of this file.

***IMPORTANT***
[especially #2]

However, as I DO come from the programming side I can tell you a few
things about these files that some of you might not have known before:

1) contrary to what some (very much including myself) have said, you
do NOT need to use bots.txt to get your bot into q3.  Q3BD will generate
for you what q3 really wants: a .bot file.  It's very simple, very easy
and all done automatically for you.  With a .bot file you just dump it
into the scripts dir and then q3 will recognize it.  This is very good
because, previously, using bots.txt the model downloader will have to
make a new bots.txt for all of his new models.  Now he needs know nothing
at all about it and all of the old bots.txt you might've created along
the way you can chuck.

2) Things that need be known about the chat conversation statements made by bots:

_ALL_ of your statements to be said by bots _MUST_ be inside of quotes i.e.:

"Hi I am a new bot.  Won't you play with me?"

This MUST be in the slots for typing in the statements in the convos dialog.

On the Chat Convos dialog in Q3BD there are a great number of chat topics.
These are all arranged inside of subjects: Level Responses, Hit Responses,
Death Responses, Kill Responses and Random Responses.  Each of these subjects
has some special numbers that will insert stuff into what the bot says.  They are
listed here:

Level Responses:
	0 = the bot's name
	1 = random opponent
	2 = opponent in first place
	3 = opponent in last place
	4 = level's title

Hit Responses:
with hit_talking and hit_nodeath:
	0 = guy who shot the bot
with hit_nokill:
	0 = guy who didn't die

Death Responses:
	0 = guy who killed the bot

Kill Responses:
	0 = guy the bot killed

Random Responses:
	0 = name of randomly chosen player (other than bot)
	1 = bot's last victim's name

Usage example:

"Hi", 0, "I am a random bot and I hate you"

NOTE: quotation marks and commas are ABSOLUTELY necessary.
Do not try it without them.


If you want to really expand on it, there are actually more things you can
insert into the bots' convos, words this time, these are explained in
MrElusive's Q3BotEdit file, available at just about any major q3 news site.
Try www.planetquake.com if you don't know any others.  It's there somewhere.

Have fun, enjoy the program.


Things to be said:

- Your settings (the stuff in the general settings dialog and the model
dir and .q3b dir) will be saved on exit (in q3d.ini, it's text).
- Make Default Bot saves the current bot (except for the bot's name and
the bot model name) in defbot.ini (this is actually a .q3b file but renamed)
which is then used as the bot skills, personalities, chats, etc when
creating a new bot.
- Once again: I have made efforts to make stuff intuitive and obvious
but I have used the names and setup as it is in the source code.  That
means you need to at least sort of understand what goes into the source
code even tho you do not need to edit the source yourself.  Read
MrElusive's Q3BotEdit!!
- BaseDir is the base directory for all of your model files -- the one
that you will zip with subdirectories for making a pk3. botfiles\bots
will be added to the end of this for when the source is generated.
This can be adjusted in the General Settings.
- You will need to associate .q3b files with q3bd yourself.

Known issues that should be mentioned in the readme:

- since you don't install this program, I can't set a variable to know
where q3bd is located.  Therefore, the q3bd.ini will pop up in whatever
folder you use as the working directory (in the link/exe properties --
or if you open up a q3b file by double clicking it).  This may force you
to redo your settings a couple of times for which I apologize.  It's not
that complicated tho.  And I am trying to work out a solution.
- Apply All does NOT work for Chat Convos
- There should be browse for folder buttons but there aren't because
that's a pain to implement (but I will do it sooner or later).  Therefore
you must know the path for your folders (model dir and .q3b dir).
- There might be some glitches here and there with the advanced skill changing.
- I might someday add a Read Q3 Source option to get a .q3b from the _c.c etc
files of a preexisting bot but that would be a pain so... not now.
- Spaces in names are currently not supported.

