<pre>
Frequently Answered Questions about the Stanford StoogeBot

o Are you a bot?

Yes, though a more accurate term would be "cyborg".  The StoogeBot
is a proxy which sits between the local quake game (client) and the
remote server, and performs target selection and fire control.  A human
player is responsible for everything else, including all navigation,
dodging hostile fire, seeking out items and targets, and most importantly,
thinking and acting strategically.

o How good is the StoogeBot?

When the bot is being operated by somebody who is also a good
"unassisted" player, and the proxy has a decent connection to the
server, the result is usually a very effective gib-generating team.
In straight deathmatches on public servers, frag ratios of 3 to 1
in the StoogeBot's favor are very common.

o Does the bot ever miss?

Absolutely.  Weapons like the rocket launcher take time to reach
their intended targets -- in order to know where to fire, the bot
must predict the motion of the target.  Even for "instantaneous"
weapons like the shotgun, there is a network-imposed delay between
the time that the bot decides to fire and the time the server
acts upon that decision; the bot must predict player movement during this
delay.  In either case, if the bot mispredicts, it can miss.

o Aren't you worried that the bot will ruin Quake?

We are avid (unassisted) quake players, and the last thing
we want to see is the bot ruin internet gameplay.  We believe
that most quake players are responsible, and will use the bot
appropriately.  While administrators can ban the StoogeBot
by including the phrase "no bots" in their center-printed
welcome screen, there is always the chance that some lowlife will
try to work around this in an attempt to cheat.  Unfortunately,
cheating in an internet game is relatively easy, and impossible
to prevent without some kind of authorization scheme built into the
game client itself.

o How can I tell if somebody is using the bot?

First, the player will have the characters "SBot." prepended to his or
her name.  Secondly, you will notice that the player can jump
over obstacles and navigate twisty passages while facing backwards.
Third, you may see the player rapidly switching between multiple
targets, hitting them with uncanny accuracy; this person may be
using the StoogeBot.

o When I try to connect to the proxy, I sometimes get "bad response".  Why?

The proxy and the client can become out of sync.  If you have have
this problem, try connecting to the proxy again.

o The client says "no response" when I try to connect.  Why?

Either the server is unreachable, the proxy and client have
become out of sync, or you have configured something incorrectly.
If the proxy is reporting that it has received packets from the server,
you can try connecting to the proxy again.  If the proxy does not report
any response from the server, it is probably down; try a different server.
If you are certain that the server is up, make sure that your quake
client is attempting to connect to the "listen" port reported by the
StoogeBot when you started it.  For example, if the proxy prints
something like:

   [...]
   using proxy address 100.200.666.42:26003
   waiting for a connection...

you should type:

   > port 26003

followed by

   > connect 100.200.666.42

at the quake console.  If the port number is 26000, you don't have
to use the "port" command.

   
o Sometimes the proxy will say that the connection is accepted,
  but the client says "no response".  What should I do?

This can happen when the proxy and the client get out of sync.
If you reconnect to the proxy, it will attempt another connection
with the server.

o The StoogeBot is firing too late, or behind players.  What's wrong?

Your latency setting is too low.  Increase it using the StoogeBot
Options menu until shots seem to be on target.  A good first guess
for the proper value is one half of your ping time as reported
by the "ping" quake console command.

o The StoogeBot is firing too early, or in front of players?  Ideas?

Your latency setting is too high; decrease it using the StoogeBot
Options menu.

o I'm having trouble getting out of the water when the StoogeBot
  is firing at somebody.  Why?

There are some subtle interactions in the movement/firing direction
decoupling that can cause underwater movement to be counter-intuitive
when the bot is targeting an enemy.  If you have problems getting out
of the water, try shooting your weapon manually while exiting; this
should solve the problem.

o The StoogeBot fired a rocket into the wall and killed me, even
  though my splash damage was set to a high number.  What's wrong with
  that knucklehead, anyway?

The Stooge can accidently hurt itself if it mispredicts your motion,
or if somebody unexpectedly gets in the way of a shot.  The moral?
Be careful with those quad rockets!

o Are you going to release source code?

Yes, eventually.
</pre>
