---------------------------------------------------------------
------====== How Do I Get a Smooth Game on Line ? ======-------
---------------------------------------------------------------
                  Version 1.6   August 20, 1996

               A Frequently Asked Questions File
                        By Tony Fabris

             Contributors: Tod Bouris, Raymond Chi

                 For more information, contact:
                        tfabris@oro.net

     Copyright (C) 1996 Tony Fabris. All rights reserved.
     You are granted the right to distribute copies of this
     document, provided the copies are exact and complete,
     are not modified in any way, and are distributed in
     electronic form. You may not charge any sort of a price
     or fee relating to any copies of this work in any form.

     All specific names included herein are trademarks and
     are so acknowledged: DOOM, QUAKE, SIRIUS, SIRDOOM, GAME
     CONNECTION, US ROBOTICS. Any trademarks not mentioned
     here are still hypothetically acknowledged.


1. Introduction
---------------

"When I play (insert name of any head-to-head game here) over a
modem, the games are slow or 'choppy'. How do I get smooth
games?"

This is a common complaint by on line gamers who play action
games such as Doom or Quake by modem or via a Game Connection
BBS. This document will help you set up your computer so you
can play a smooth game.

This document covers the following scenarios:

- Playing Doom and its cousins (Doom 2, Heretic, Hexen) via a
  BBS system such as Sirius Software's Game Connection, using
  the sirdoom.exe program.

- Playing Doom and its cousins by dialing directly to another
  computer.

- Playing Quake via a BBS system or directly dialing into
  a server computer.

- Playing Quake via the Internet with a dial-up PPP connection.

- Playing most other on line games that can be played via modem.
  No specific games besides Doom and Quake are covered here,
  but these principles apply to almost all online games.

This document does -not- cover:

- Setting up your connection and using your dialer software.
  This is a performance-enhancement guide, not a newbie how-to.
  Check Doomgate on the World Wide Web for the newbie how-to's.

- Playing any game via any kind of direct connection such as
  null modem, ISDN, ethernet, etc. This document is for
  performance-tuning modem connections only.

- Playing Doom via a dial-up Internet connection. It's too slow
  unless you have an ISDN line.

With that out of the way, some words of encouragement...

You -can- get smooth modem games. At least for Doom anyway. It
just doesn't always happen automatically. Sometimes it takes
some tinkering.

Many gamers can play perfectly smooth games via a dial up link.
Many folks have no problem playing games that are nearly as
smooth as if they were playing on a local area network. I've
done it on a Game Connection BBS many times. So it -can- be
done.

Other players, however, dial up and get unusually slow or choppy
game play. The most common complaint is that there is a 'chop'
or 'pause' intermittently in the game. For instance, you might
be trying to spin around and shoot your opponent behind you. But
you miss, because during the spin, there were little 'screen
freezes' that threw your timing off. You didn't spin at a
constant rate, so you pulled the trigger at the wrong moment and
missed the target. Or worse, you pulled the trigger at the right
moment, but it didn't register as having fired right away,
causing you to shoot at empty air.


2. Why is this happening?
-------------------------

On line games in the Doom genre are all currently using a peer
to peer networking technology to play multi player (more than
two player) games.

The problem with peer to peer technology is that all of the
players must be synchronized with each other in order for the
game to work properly. So if one player's system is slow or
intermittent in sending data, all of the other player's systems
must wait for him before they can continue. This makes on line
gaming very timing sensitive. Any interruption in the steady
flow of data will cause a freeze in the game for all players.

At the time of this writing, id Software had just come out with
Quake version 1.01. Quake is different than all the previous
games. It uses a new client-server system that allows for only
the one "slow" player to experience problems, without affecting
the other players. All of the principles outlined in this
document still apply, they just apply to -that- player only.

There aren't any slowdown problems on a local area network,
where the data travels very fast and without any timing
sensitive protocols to mess it up. However, on a -modem-, the
game data is strangled by many limitations of the system. The
data has to go through several intermediate stages before it
reaches the other computer, and this is where the problem lies.
These intermediate stages induce different amounts of delay
into the data stream. This delay is called "latency" or "lag"
in net parlance.

First, the data has to get from the memory to the modem. This is
done via a COM port. Even if you have an internal modem, it
still goes through the COM port circuitry built into the modem.
This COM port has a circuit called a UART that is responsible
for keeping the data flowing smoothly. Some COM ports don't have
buffered UARTS, which tends to slow things down.

Next, the modem has to fiddle with the data so it can be beamed
down the phone line. This takes time, especially if the modem
has extra protocols enabled that fiddle with the data even more.
To make matters worse, most modems sold today come with those
protocols automatically turned on. These protocols often induce
pauses in the data stream. You don't usually notice these pauses
when you are surfing the net or downloading a file, because
those operations are not timing sensitive the way games are.

Finally, the receiving modem has to perform all those steps in
reverse. And if the receiving modem is on a gaming BBS, the data
packets have to be sent -one more time-, back out to the other
players in the game.

It gets even worse if you're playing on the Internet, because
between your modem and the other player's modems, there could be
dozens of different routers and switchers which add additional
latency to the connection.

Fortunately, all these things can be optimized so that you -can-
get a relatively smooth game with your modem. Well, at least
-your- equipment can be optimized. If the trouble lies
elsewhere, for instance, on the Internet or on your opponent's
computer, there is little that can be done. But every little bit
helps, and getting your system set up right is always the first
step.


3. So why do I get smooth games when I dial directly?
-----------------------------------------------------

Some people report that they can get a smooth game when they
dial up their friends directly, but the game is choppy over a
BBS or the Internet. There is a reason for this.

When two Doomers dial each other directly, they are using the
straight serial-to-serial drivers built into Doom. These were
optimized for a two-player-only game with modems.

To play a head to head game over a BBS, the systems have to do
more work than a direct dial connection. The reason for this is
because this method supports multi player (more than two player)
games. You can't play 4 player Doom by dialing your friends
directly. The ability to do this requires network packet
drivers. These add overhead to the data stream.

For instance, when you play 4 player Doom via a Game Connection
BBS, the Sirdoom program is using the IPX network packet drivers
and 'wrapping' the packets, in effect tricking Doom into
thinking it's running on a real IPX network. And, as mentioned
before, the data packets have to be sent and received twice
instead of once. This adds more overhead, and is more timing
sensitive than direct dialing. This tends to amplify small
configuration problems in the system.

Despite these limitations, playing games over a BBS is usually
smoother than playing over the Internet, because a BBS does not
suffer from the Internet's packet lag. A given data packet on
the Internet may take any one of a million different routes
before it reaches the destination computer, causing the packets
to arrive at irregular intervals.

As a matter of fact, it's generally reported that you can't
play Doom over the Internet at all if you're using a modem. It's
simply too slow. In my experience this has been true. Quake is
the first game I've seen to offer marginally playable games
over the Internet, but it's still not great. More on this later.


4. OK, how do I optimize my system to play smooth games?
--------------------------------------------------------

For Doom via a BBS (such as Game Connection):

- Make sure your computer is up to the task.
- Make sure your COM port is using a 16550 UART.
- Turn off Error Correction and Data Compression on your modem.
- Turn off V.34 signalling on your modem and connect at 14.4.
- Turn off Software flow control on your modem.
- Turn on Hardware flow control on your modem.
- Make sure your COM port speed is 19200, 38400, or higher.
- Don't run from Windows 95.
- Increase the Ticdup setting to compensate for system
  limitations.
- Change your mouse sensitivity to compensate for the Ticdup.
- Test your configuration by playing 'known smooth' users.

For Doom via direct-dial, same as above, except:

- Turn off all flow control features on your modem.
- Set your COM port speed to be the same as the modem's phone-
  line-signalling speed.

For Quake, same as the first one above, except:

- Turn on Data Compression on your modem.
- Turn on Error Correction if necessary to compensate for noise.
- Turn on V.34 signalling on your modem and connect at 28.8.
- Make sure your COM port speed is 38400, 57600, or higher.
- Don't run from Windows 95 unless you absolutely have to.
- If playing on the Internet, try different servers, and play
  during off-peak hours.
- Check your ping times in different playing situations
  (during combat/not during combat).

Exact details for each of these items are listed below. Read on
for more information, or use the basic list above as a starting
point for your own experimentation.

Note: I don't give a list of modem initialization strings in
this document. That would be a waste of time. Most init strings
you'll see in any given list are the wrong ones for online play.
Besides, any list I gave you would be outdated by the time you
read it. The strings built into Sirdoom (see info later in this
document) are correct for Game Connection BBS play, but that
list is not complete. Instead, I expect you to be able to open
your modem's manual and look up the codes. That way, you can be
absolutely sure the init string is correct.


5. What kind of computer is required?
-------------------------------------

CPU:

Basically, a 386 computer is not going to cut it for Doom. Yes,
a 386 will work, but it will play slowly and slow down all the
other players in the game.

A 486-25 will work for Doom, but the frame rate will be pretty
low. However, we have seen some users who are thrilled with
multiplayer Doom on a 486-25 (after they set their modems
right).

A 486-100 or higher is a really good system for on line Doom.

For Quake, you need a Pentium. Preferably 90 mhz or higher.
I can play Quake on my 486 DX4-100 but it's not great.

VIDEO:

A fast video card is a -must- because the processor needs to
spend as much time as possible pumping data to the modem. A slow
video card will bog down the processor because it has to wait
for each frame to be drawn before it can send game data.

A video card that uses local bus technology (either VESA Local
Bus or PCI Bus) will perform better than an ISA card.

From personal experience, I can attest to this. The frame rate
on my DX4-100 was 12 FPS with an ISA Diamond Speedstar video
card. When I upgraded the card to a VESA Local Bus ATI Mach 32,
the frame rate jumped to 24 FPS. It was amazing.

Note that adding more video ram (VRAM) to an expandable video
card will -not- usually improve its speed. Adding more VRAM to
a video card will let you do higher resolutions or colors, but
will not affect game speed in the most common 320x200 video
mode.

Certain new 3D-rendering video cards may help, but only if the
3D features are directly supported by the game you're playing.

MODEM:

A 14400 BPS modem is the minimum speed to play a decent BBS game
of Doom. If it's an internal modem, it must have a 16550 UART
chip. If it's an external modem, then you want your computer's
COM port to have a 16550.

Sirius software (the makers of the Game Connection BBS module)
says that a 9600 BPS modem will work for a BBS game of Doom. I'm
still waiting to see proof (anyone have experience with 9600 BPS
modems on a Game Connection BBS?).

If you're dialing somebody directly rather than playing on a
BBS, 9600 is fine for Doom. Note that currently there is no
advantage to using a 28800 BPS modem for Doom games. See the
info later in this document about the V.34 protocol.

For Quake, a 28.8 modem is pretty much required. Quake's current
code will easily overflow the bandwidth of a 14.4 modem. See the
section later in this document regarding data compression for
more information.


6. What is a 16550 UART and why do I need one?
----------------------------------------------

The Universal Asynchronous Receiver Transmitter is a chip that
controls the data flow in the COM port. Older ones like the 8250
required that the CPU wait for each byte to be transmitted
before it could continue. The new 16550 UARTs contain a 16-byte
FIFO buffer that allows the CPU to go do other things (like
drawing the Doom screen) while it's chewing on the data.

If you have an internal modem, the UART is built into your
modem. If you have an external modem, the UART is built into the
COM port circuitry. To find out if you have a 16550 UART, you
can run the MSD program that comes with Windows.

If you're playing on a BBS with Sirdoom, it checks for the
presence of a 16550 at startup and displays a warning if it does
not detect one. Some Sirdoom users get a warning about the 16550
UART if they are running from Windows 95, even if they have a
perfectly good 16550. This is sometimes due to the way Win 95
virtualizes the COM ports. See the section later in this
document about Windows 95.


7. How do I turn off Error Correction and Data Compression?
-----------------------------------------------------------

Error Correction and Data Compression are good things to have on
a modem, because they increase the reliability of the
connection and improve the overall speed of file downloads.
Unfortunately, these features also induce little pauses into the
data stream, which is murder for timing sensitive modem games.

The way to turn off these features varies from modem to modem.
You must look up the commands in your modem's manual and enter
them into the modem's initialization string in your dialer
software. If you do not have the manual for your modem, you are
out of luck and had better get a replacement copy of the manual
ordered soon. Please note that Error Correction is sometimes
called "ARQ" in some modem manuals. Data Compression likewise
comes in different flavors and will appear under different names
in your modem manual.

For example, for US Robotics modems (a popular brand), the
commands to turn off Error Correction and Data Compression are:

  &M0 &K0

These are usually seen as a subset of a larger initialization
string, entered into Sirdoom's 'Configure Modem' screen, such
as:

  AT &F1 &M0 &K0 M0 S32=20

But these commands will be different for different brands of
modems (wouldn't the world be better if we all standardized?).
Remember that the 0 characters are Zeroes and not Oh's. Also,
the ampersand characters (&) are important as well. For most
modems, a command with an ampersand in front is completely
different than a command without one. For instance on a US
Robotics modem, the command &M0 turns off Error Correction while
the command M0 silences the modem's speaker. So it is not
uncommon to see &M0 M0 in a modem initialization string.

If you're using Sirdoom, you can simply pick the modem
initialization string from the list that is built into Sirdoom.
Sirdoom's list is by no means comprehensive, but if you are
lucky enough to be on the list, then your modem setup is easy.
Simply press ALT+C while you are in Sirdoom, then select
Configure Modem, then press the F2 key to get the list.
Sirius seems to have preprogrammed these strings right. If your
modem is not on the list, it's time to crack open that manual.

By the way, if you change your initialization string in
Sirdoom, you must remember to log off the BBS, exit Sirdoom,
then re-enter Sirdoom and log back on. This will make sure that
Sirdoom has had a chance to send the new initialization string
to the modem (it can't initialize the modem in the middle of a
call when you're connected to the BBS). Make sure you see
Sirdoom actually send the new init string to the modem, and make
sure that the modem responds with "OK". If the modem does not
echo back "OK", then you have either made a mistake in entering
the init string or there is something else wrong.


7a. What about Data Compression for Quake?
------------------------------------------

Tough issue. Basically, Quake version 1.01 is the first game
I've seen that will actually overflow a 14.4 modem. It will,
quite often, even overflow a 28.8 modem. So, despite the fact
that data compression induces extra latency, it may be necessary
to turn it on when playing Quake.

Doom and its cousins will only send small amounts of data
between the players. Just the bare minimum of player control
information. Doom expects all computers in the game to make the
appropriate calculations. Quake, on the other hand, lets a
single server computer handle all the game calculations, then
it sends that computed data out to all of the other players.

This is all fine when you're just running around the level and
you're not engaged in a firefight. But as soon as the fighting
starts, the data transmissions from the server get large. They
get larger for each game object that your player can see.

For instance, if there are three players firing nailguns on your
screen, the server has to send you all the data for those three
players, as well as the data for each nail. On levels with
large, open rooms (such as E1M7), you can often see a dozen
players on the screen simultaneously. At this point, the data
packets become gigantic.

This will immediately saturate the modem line and slow down your
game even more. The worst part is that if you're playing on the
Internet, all of the data packets will pile up on your ISP's
server. If you get into a big firefight, your game input will
slow down to a crawl and -stay- that way for long periods of
time, as your ISP's server tries to update your overflowing
modem with all those backlogged packets.

The only way to alleviate this is to turn on data compression.
Depending on how bad things get, the modem's data compression
may not be enough. But it's better than nothing.

At the time of this writing, Quake was undergoing a major code
revision that is supposed to prevent this "bandwidth saturation"
problem. If this new version of Quake ends up performing as
advertised, then you might be able to turn data compression off
again to improve speed. But we won't know until it comes out.


7b. What about Error Correction for Quake?
------------------------------------------

Another tough issue. As stated before, a 28.8 modem is pretty
much necessary for Quake. It can be played on a 14.4, but not
as well.

The problem is that 28.8 connections are often very noisy and
will require that error correction be turned on. Experiment
with your modem. The latency induced by the modem's error
correction may end up being less than the latency induced when
the Quake server has to re-send a batch of packets because of
line noise.

However, if you can get away with turning off error correction
and keep your line clean, you'll get a better game.


8. What's Software and Hardware flow control?
---------------------------------------------

Flow control allows the modem to send and receive data without
dropping characters. There are two kinds of flow control:

Hardware flow control is also called RTS/CTS flow control. You
want this turned -ON- for BBS and Internet games.

Software flow control is also called XON/XOFF flow control. You
want this turned -OFF- in all cases.

Our experience shows that having Software flow control enabled
on the modem caused extremely choppy Doom play. When we switched
to Hardware flow control, the games suddenly became as smooth
as glass.

Again, you have to look this one up in your modem's manual and
add the proper codes to the modem's initialization string. Every
modem is different, and you may need to use more than one
command. For instance, on my USR 14.4 I must use &I0 &R2 &H1.
On my modem, those commands do the following:

&I0 - Disable Software (XON/XOFF) flow control.
&R2 - Enable hardware flow control of received (RTS) data.
&H1 - Enable hardware flow control of transmitted (CTS) data.

The last one, &H1, should not be confused with H1 (without the
ampersand) which is the off hook code.

On some modems, you don't need multiple commands. On some USR
28.8 modems, the command &F1 does the job for you by loading a
factory defaults template with hardware flow control fully
enabled.

Note to direct dial Doom users: Turning on Hardware flow control
is needed for Sirdoom/BBS play only. If you are dialing up
another player directly via Doom's built in SERSETUP utility,
turn all flow control features off.


9. How do I turn off V.34 signalling?
-------------------------------------

V.34 signalling is a special protocol that allows the newer 28.8
modems to communicate at speeds of 28800 BPS and higher.
Unfortunately, it tends to have some trouble with timing
sensitive modem games.

I've been given conflicting reasons as to why this happens. One
theory is that V.34 has some timing latency deliberately built
into the protocol to improve the reliability of the high speed
connection, and these pauses cause choppy games. I've also been
told that that the "deliberate pause" story is bunk, and the
freezes are due to dropped packets and/or error retries because
a 28.8 connection is usually quite noisy. This second
explanation sounds much more logical.

Either way, if you connect to play Doom at 28800 BPS or higher
using the V.34 protocol, you can be pretty much guaranteed a
choppy game. For that reason, you will get a smoother game if
you kill the V.34 protocol and connect at 14400 BPS.

For Quake, you'll need to leave V.34 on and connect at 28.8 to
help alleviate the bandwidth saturation that occurs. This may
change when the new version of Quake comes out with the
bandwidth optimizations implemented. It may end up that dropping
back to 14.4 is the right way to use the new Quake. Or maybe
not. We'll have to see.

Again, each modem has its own commands for disabling the V.34
protocol. And it gets even trickier because each model of modem
may have a different command even if they were made by the same
company. The US Robotics 28.8 Sportster modems have two
different commands depending on which sub model of the modem you
are using. Some require the command S32=20, while other models
might need the command S56=64. Again, you need to spend quality
time with your modem's manual to find out.


10. How do I set my COM port speed?
-----------------------------------

There is some confusion about the difference between the speed
of the COM port and the speed of the modem. This is made worse
by the fact that most terminal programs (Sirdoom included) do
not make the distinction clear. To add insult to injury, some
modems report the signalling speed ("CONNECT 14400") while
others report the COM port speed ("CONNECT 38400").

Most terminal software usually has a box in which you select a
speed (in Sirdoom, the box is in the 'Configure Modem' screen).
This speed is usually a multiple of a common modem speed such
as 9600, 14400, 19200, 38400, 57600, 115200, etc. Many people
mistake this number for the telephone line signalling speed of
the modem. It is not. The codes in the modem initialization
string control the modem's phone line signalling speed. This
number controls how fast the COM port communicates with your
modem.

In your modem manual, these speeds may be called the DCE speed
(the Communication speed, or the modem signalling speed), and
the DTE speed (the Terminal speed, or the COM port speed).

The COM port speed should usually be faster than your modem's
signalling speed. For 14400 BPS modems, this number is usually
set to 38400. In order for this to work, hardware flow control
must be enabled. The modem may lose characters if you use a
high COM port speed without hardware flow control. Refer to the
flow control section earlier in this document.

Your modem's manual might actually give a recommended speed.
My USR 14.4 modem's manual specifically says that it must be
set to at least 19200 and they recommend 57600 if your software
can handle it. If you do not know what the speed is supposed to
be, set it to 38400 for starters and experiment from there.

Using a high COM port speed may also place a higher demand on
your computer's processor. If that's the case, you may want to
try lowering the COM port speed to 19200 or 14400 to see if the
game improves. I personally can set mine to 115200 with no
problems at all. However, this may cause some systems to perform
badly or drop characters if the computer isn't up to the task.

Two notes to direct dial Doom players: A high COM port speed is
only useful for BBS play using Sirdoom with flow control
enabled. If you are dialing up another player directly with
Doom's built in serial drivers, turn all flow control features
off and set the COM port speed to match the modem speed.

Also, some 14.4 and 28.8 modems do not respond to a 14400 BPS
COM port speed when you are running Doom's serial drivers. In
that case, you must use 19200 or 9600.


11. Why can't I run it from Windows 95?
---------------------------------------

Well, you can. And some people do, with no ill effects. But
other users have reported problems running under Win 95. Most of
these problems stem from the fact that Windows 95 sort of
'takes over' the COM ports and inserts itself as some kind of
virtual COM driver between your software and the COM ports. I
don't know the technical details, I just know it happens.

The funny part about this is that it sometimes even happens when
you pick "MS-DOS Mode" from Win 95. The only way to be -sure-
the COM port is under the full control of your software is to
reboot the computer, press F8 during bootup to get the bootup
menu, then choose "Safe Mode Command Prompt Only" from the
bootup menu list (usually near the end of the list- it's number
7 on mine).

We had one computer running Windows 95 that -always- played
choppy games no matter what we did. Even if we connected it
directly to the BBS server with a null modem cable. And this was
a Pentium 100, too. We tried everything, and nothing worked
until we did the "Safe Mode Command Prompt Only" trick. After
that, it played smooth as glass.

The drawback to doing the "Safe Mode Command Prompt Only" trick
is that it doesn't load your mouse drivers or sound card drivers
automatically. You must load those by hand or create a batch
file that loads them for you and then starts Sirdoom or whatever
dialer software you're using. This is usually not very difficult
to do.

Another drawback is for Quake players who are using the Win 95
dial-up-networking service to connect to the Internet. These
players can't play on the 'net unless they're running from
Windows 95. I don't know what to tell you in this situation.
You can't really control the init strings easily from Win 95,
and you can't be sure that Windows isn't doing something goofy
to slow down your connection. Unfortunately, there isn't much
available in the way of DOS Internet connection software. And
what's out there is expensive and difficult to configure. So
try Win 95 for a while and see what you can do about changing
Win 95's settings. I can't really help you.

Like I said before, some users have no problem running under
Windows 95. But if you're getting choppy games, and you are
running under Windows 95, it's worth testing to see if the games
are smoother after you do the safe-mode trick described above.


12. What does the Ticdup setting do?
------------------------------------

The Ticdup setting in Doom is a special parameter that
deliberately reduces the refresh rate of the game to reduce the
data transmission overhead. This setting is found in Sirdoom's
'Setup Game' box, or it can be applied to Doom's command line.

A 'tick', in game programmer terms, is a moment in time where
the positions of all game objects are updated, and all damage is
calculated. Normally, in Doom, this happens 35 times per
second. Of course, when playing over a modem, each tick's
arrival time is critical. If each system isn't sending their
data when the other computers expect to get it, then you get a
pause or a lag in the game play.

The Ticdup setting tells the game engine how many times to
duplicate a given game tick internally. For instance, a Ticdup
setting of 2 tells the game to listen for half as many real
ticks as a setting of Ticdup 1 does. So the higher the Ticdup
number, the less timing critical the modem data becomes. This
has the effect of making the game smoother (i.e., the frames are
more regular with fewer 'hiccups') at the expense of the
overall frames-per-second rate.

It is possible to play a smooth Doom game online with a Ticdup
setting of 1. But this requires that all players involved have a
high powered computer and a perfectly configured modem. It is
much more common to play at a Ticdup setting of 2. This is
pretty smooth and is quite playable, once you get used to the
slightly lower frame rate. If you have a severely underpowered
computer, you may need to play at a Ticdup setting of 3 or
higher to get an acceptably smooth game.

On a Game Connection BBS, the Ticdup setting is controlled in
Sirdoom's 'Setup Game' menu. Only the moderator of the game
channel needs to set the Ticdup. All other players will sync
to the moderator's setting.

Other games may have a similar setting. Check the documentation
for your particular game to see if it supports a similar
command. For instance, in Duke 3D, the command-line parameter
is /F4.

Quake has a similar setting called SYS_TICRATE, but it only
works on servers that are running with the -DEDICATED parameter
and only on the server's side. This setting defaults to 0.05
(one tick=1/20th of a second) but many server operators change
it to 0.10 (1/10th of a second). This may end up being different
in the new version of Quake. From what I've read, the new Quake
server software will not use a tick-based game input loop any
more at all. So this parameter may end up doing nothing at all
in future releases. We won't know until it's released.


13. I changed the Ticdup, and now my mouse is ultra sensitive?
--------------------------------------------------------------

Doom's Ticdup setting unfortunately has the nasty side effect of
changing your mouse's sensitivity. And not the way you would
think; it actually makes the mouse -more- sensitive when you
increase the Ticdup. So much that you tend to over rotate and
overshoot your targets.

Usually you can just go into Doom's options and adjust the
mouse sensitivity to your liking, once you've started playing
the game at the new Ticdup setting.

But for some unlucky users, it changes the sensitivity so much
that you can't compensate for it enough in Doom's own internal
settings. In those cases, you need to pre-compensate the mouse
by changing the sensitivity of the mouse driver at the DOS
command line. Most mouse drivers have a command line parameter
that lets you change the sensitivity on the fly. If you're
playing on a BBS, you can usually change this setting by
shelling out to DOS while you're still connected, chatting in
the game channel. This allows you to compensate for the Ticdup
change without having to reboot and relog on to the BBS.

For instance, if I am waiting to play a game, and somebody comes
into the game channel and says "I need to play at Ticdup 2", I
simply reset my mouse driver as follows: I press ALT+J to shell
out to DOS. Then I type MOUSE /S40 to turn down the mouse
sensitivity (your mouse driver may be different, try MOUSE /?
and see if it gives you a command list). Then I type EXIT to
return to Sirdoom. Then I press ALT+C to get into the setup menu
and change the setting to Ticdup 2. Then I hit 'Save and Exit'
from the Sirdoom configuration menu, and I'm ready to play. When
I want to play at Ticdup 1 again, I perform the same steps but
use the sensitivity setting of /S85 in my mouse driver.


14. Special Quake considerations
--------------------------------

- The "Listen" server:

Quake works as a client-server system. This is different than
the other Doom-style games. One player must always be the
server. If you are playing head-to-head Quake with only two
computers, then one of your computers is doing double duty as a
server and a client. This is called the "listen" server because
you can start one with the "-listen" command line parameter.
(You can also choose it from Quake's menus by selecting "start
a new game").

If you are the client dialing up a listen server, your game will
always suck in comparison to the server. This is because the
server computer is too busy rendering its own 3D graphics and
not taking the time to send you data.

The only way around this is to play on a BBS or the Internet,
and connect to a dedicated server instead. Dedicated servers do
nothing but serve up the game data and don't have to do the hard
work of rendering the 3D graphics.

- Loss of control:

Quake's version of a choppy game is funny because the screen
continues to render at its regular frame rate (it doesn't
freeze), but your character's movement and firing actions
are delayed. This sometimes makes you seem completely out of
control.

For instance, assume that you have a really bad latency problem
that causes your data to take one second to go from you to the
server and back again. Rotation is handled on the client side
(you), movement and firing (including which direction you moved
and fired) is handled on the server. So if you try to move
forward, and it doesn't work immediately, then you rotate to
the left, you will seem to skate to the right. Actually, you're
just moving forward in the direction you told it to 1 second
ago.

It happens worse on the Internet than it does if you dial a BBS
server directly, because the Internet has extra stuff happening
between you and the server. In fact, distance has nothing to do
with it. It all depends on the number of routers between you and
the server on the Internet.

Sometimes it gets so bad that you end up re-spawning after a
firefight, and then jump directly into a pool of lava. This is
because all the lagged commands that you issued during the
firefight are finally coming through.

- The "Ping" command:

To find out your connection speed to the server, bind Quake's
ping command to your "P" key with the following command in your
Quake configuration file:

bind p "ping "

This allows you to check your ping times without stopping what
you're doing and pulling down the console.

This ping command gives you an accurate reporting of the
input-to-output latency while playing the game. For instance,
if ping says you have 300ms, then there will be 1/3 of a second
between the time that you press fire and your weapon is shown
shooting on the screen.

If you check your ping times at various points in the game, you
will notice that the pings get much longer when there is a lot
of stuff happening in the game, for instance when there are a
lot of players on your screen all firing at the same time. This
can be helped a little by turning on your modem's data
compression. See the section on data compression earlier in this
document for more detailed information.

So what's a good ping time when playing over the Internet? Well,
that's subjective. I personally can get a 300ms ping time with
my 14.4 modem and my DX4-100 computer. I can play Quake on the
Internet, even though I'm not supposed to be able to. This is
because my Internet service provider has good equipment and a
big wide pipe closely connected to the backbone. I play late at
night, too, when my ISP and the 'net aren't clogged up. And I'm
also tolerant of the delays and I learn how to lead my targets
by 300ms. Most folks would consider this completely unplayable,
and would rather see latencies in the neighborhood of 100-150ms
before they'd be willing to play.

In order to get ping times that low, you need to connect at 28.8
and do all the other stuff outlined in this document. And even
then, you can't expect to get ping times that low unless you're
dialing directly into a dedicated server. If you've got the
Internet between you and your server, consider yourself lucky to
get pings in the neighborhood of 200-250ms. On the net, try
connecting to different servers and see if any particular
server gives you better pings than any other.

If your Internet play still sucks, it may be your ISP's server
and his connection to the Internet backbone. Some ISP's have low
bandwidth lines to the net, or have to go through too many
routers for online games to be feasible for their users. Use
a traceroute program to find out where the signal is going.

Beyond that, the only way to get a better Internet game is to
get a direct connection to the net via an ISDN line or some
other means.

- The new Quake:

As mentioned before, a new version of the Quake server software
is in the works that might help reduce the lag on the Internet.
The changes in the works include the removal of the time-based
game input loop, and various bandwidth-reducing optimizations.
Some client-side movement prediction is also being implemented.
Whether or not this really improves the game remains to be seen.


15. OK, I've set all my stuff up right. My game's still choppy?
---------------------------------------------------------------

Remember that for Doom and its ilk, all players involved in the
game must be set up correctly. If any one of the players has an
incorrectly configured modem, there will be no improvement in
the smoothness of the game.

The best way to test your connection is to find other players
that are known to play smooth games. Ask around your BBS or your
area. If you're on a BBS, play only a two player game against
them for your first initial test. If the game is smooth, then
you are ready to graduate to 3 or 4 player BBS games.

If you have a 3 or 4 player BBS Doom game going, and it's
choppy, tell the 'suspected bad' player to drop out of the game
(in Doom, you press F10 to exit the game). If the game smooths
out suddenly, then you know it was that player's computer that
was slowing you down. Point them to this document. By the way,
if one of the players drops out of a 2 player game, the only
remaining player will always play at maximum smoothness because
there is no modem data to send. So that particular test only
works for 3 or 4 player BBS Doom games.

If there are players in the game that have underpowered
computers or slow ISA video cards, it might help to have them
reduce the size of their game window (in Doom, you press the
minus (-) key repeatedly to shrink the window). If the gameplay
improves when they shrink the window, it is because their CPU
is working too hard to draw the screen and not getting enough
time to pump the data to the modem.

All of the above stuff counts for Doom and similar games. Quake
is different because one player's slow connection will not
slow down the rest of the players. See the previous section for
special Quake considerations.

Finally, you might just have to (gasp) live with choppy games.
some systems, no matter how much you tweak them, still get a
little chunky when playing online Games. You could dial up your
friends directly, which might be smoother than BBS or Internet
play, but you can't play more-than-two-player games that way.
The steps in this document should have helped at least a little
(assuming you really tried everything), and you might find that
your games are mostly playable. "How much chunk is too much?"
is a subjective question that will be answered differently by
every player. What seems smooth to you might be unplayable to
somebody else. Just remember that it's a game, and you should
try to have fun with it despite the technical details.


16. Where can I get more information?
-------------------------------------

If you're playing Doom on a Game Connection BBS, read the
SIRDOOM.DOC file that came with Sirdoom. I can't stress this
point enough. If you have Sirdoom installed on your hard disk,
then you have that document. It's a great document, and goes
into great detail about exactly how to solve choppy game
problems. Yes, it's even longer than this document. Basically,
if you have done everything listed in -this- file, and you
still get choppy games, it's time to crack open that
SIRDOOM.DOC file and go through it carefully line by line.

Also, contact the Sysop of your BBS. They should be willing to
help you debug your game speed. But don't expect them to be
able to find the initialization strings for your particular
modem brand- that's something you have to dig up in the manual
yourself.

You can also poke around on the Internet for more information.
The Usenet newsgroups rec.games.computer.doom.playing,
rec.games.computer.doom.help, and the corresponding Quake groups
are a good place to start.

That's all! Have fun fragging!

