In the Forums...
Posted: July 5, 1999
Written by: Dan "Tweak Monkey" Kennedy
This is a quick guide I decided to write because I was playing Kingpin and found it lacking in some areas. I discovered and posted many of these tweaks when the Kingpin demo was released, but that was over 3 months ago. Since many of you probably don't remember those tweaks, here they are, with several additional tweaks. This guide will be updated with plenty more tweaks later.
To access the console, edit the Kingpin shortcut (right click the shortcut and choose properties). If you don't have a shortcut, create a new shortcut by right clicking your desktop and choosing New Shortcut. Once you have a shortcut and you can access the properties, click the Shortcut tab at the top and locate the box "Target:" It should say C:\somedirectory\kingpin\kingpin.exe or something similar. Add +developer "1" to the end of the shortcut, with a space between the path and the new text. Now you should be able to access the console with the ~ key.
The first and most important tweak for this game in my opinion is to make sure that you're using 16-bit color. Kingpin is based on the Quakee II engine and has no huge extra optimizations (that I can see) for 32-bit color, so I highly recommend that you set your desktop to 16-bit color when you play this game. Yes, it will work with 32-bit color, but I can't see any benefit. If you want to try it for yourself, go for it, and decide which is best for you. If you're still unfamiliar with the process of changing color depth, right click your desktop, choose Properties, and then Settings (at the top). Select High Color (16-bit). That should be an instant 15-40% performance boost if you were using 32-bit color.
Before you even start the game, you should follow this process to avoid hard drive thrashing, that I posted March 30, 1999 in the news section:
"I was playing with Kingpin earlier and stumbled upon a few ways to increase performance, particularly to avoid hard drive thrashing. The first and most important step to stop the constant thrashing for me was to set my AGP aperture size to 16 MB. I have 64 MB of ram, and the aperture size was set to 32 MB... by lowering this, you'll have more memory available to Kingpin. This removed about 75% of the hard drive reading, and made the game load faster. You can mess with the AGP aperture size in your BIOS. To do this, restart your computer, hit delete (or the setup key designated). Now search around for AGP aperture size. You should be able to find it under "Chipset Features Setup" or something similar. Set this value to 1/4 your system memory if you were experiencing severe hard drive thrashing. If you experience any problems, restore your old value. Before launching Kingpin, close any extra programs you have open. Hit CTRL-ALT-DELETE, and manually shut down any programs you know you don't need open like ICQ, FindFast, or GetRight. MAKE SURE to close any game device profiler software like Microsoft's or Logitech's.. these take a lot of memory. This should, for the most part, take care of any problems with hard drive swapping."
For more information on tweaking BIOS options, check out the CPU/Motherboard Tweak Guide, which includes a load of BIOS tweaks. If you haven't checked out these guides yet, you can free up even more memory and resources from the System Startup Tweak Guide, the Hard Drive Tweak Guide, and the Win9x System Cleanup Tweak Guide.
Once you have started the game, hit ESC and choose Visuals. I recommend setting the resolution to 800x600 or 1024x768 to ensure a solid frame rate. If you want to use a higher resolution, make sure you have the power to keep a high frame rate at this resolution and/or tweak some settings as mentioned below to keep it high. Slide the texture quality bar all the way to the right (assuming you have the frame rate to spare) and adjust the brightness to your liking. This should optimize the game for the best graphics. If you're having a hard time adjusting the brightness, try typing vid_gamma at the console. Lower or raise this value and type vid_restart each time you do this so you can see the changes. Set 8-bit textures to No, Shadows to No (these are the same style as with Quake II) and fog to No (read below).
The fog option adds a murky lair of fog to all objects and graphics. See the pictures below for a comparison.
I choose to disable fog because it makes everything less clear. I like the vivid colors with fog disabled as opposed to the darker colors with fog enabled. Try both... if you like fog, keep it enabled. It will probably take a bit of performance though.
Dynamic lights are real-time projections from light objects. This looks rather cool but it takes a bit of performance. I recommend that you disable dynamic lighting for performance only. In other words: if your game runs fine, don't bother. But if your game is slow, consider disabling this option. Another reason to disable dynamic lighting is because it distracts from your game play, especially in multiplayer matches. Also, disabling dynamic lighting will cause the flashlight to no longer function. See the screenshots below for a comparison:
You can disable dynamic lighting by typing gl_dynamic 0 at the console.
Tweaking the brightness even more is an easy task. If the brightness bar doesn't have all you want, perhaps the command gl_modulate will help a little. Gl_modulate's default value with Kingpin is 1. When you increase this value, you will increase all lighted objects' brightness. This usually helps a lot in dark areas. I found one side effect though: if you have dynamic lighting enabled, the effect of the light projections on walls and surfaces is much brighter. This makes it seem a bit unrealistic. If things are too dark, try increasing this value slightly by typing gl_modulate x (where x is any positive value). I recommend anywhere from 1 to 2.5.
Another option you may want to disable is palette shifting. This will make it so when you are being shot or on fire, your screen will not be flooded with a different color (or fire). Disabling this can help performance slightly and causes less distractions during the game. You can disable palette shifting by typing gl_polyblend 0 at the console. To re-enable this, type gl_polyblend 1.
For the best performance, low quality, maximum performance sound should be used. It still sounds good, and it will not thrash your hard drive as much. If you want the best sounds, use Maximum Performance, DirectSound, 16-bit sound, 22 KHz sample rates.
At the console, type s_mixahead .2 to use Maximum Performance sound. If this causes problems, set this value to .14 instead. Most sound cards can handle .2, but some sound cards (especially with AudioPCI and similar chipsets) must use Maximum Compatibility or the sound will stutter badly.
Type s_primary 1 to use DirectSound, for a performance boost. If this causes problems, set this value to 0 instead. DirectSound can boost performance and quality.
Type s_khz 11 to use 11 KHz sample rate sounds. If you want better sound (recommended), set this value to 22 instead. The performance hit will be minor unless you have a very old sound card and/or very little system memory.
Type s_loadas8bit 1 to use 8-bit sounds. If you set this to 0 (recommended), your system will use 16-bit sound instead. As with the sample rate, 8-bit sound typically should only be used if you have an old sound card and/or very little available ram.
Most of these sound options (and a couple others) can be accessed in the Options menu.
When playing any 3D game, you're likely to experience some lag if you use a modem to access the Internet. Luckily you can tweak Kingpin for your net connection also. Before you begin, make sure your modem is optimized and tweaked. A good place to optimize your modem is the Modem Tweak Guide, if you haven't already.
The first step should be to enable the netgraph. This will help you because you can see your lag as a graph. When the values are higher, you are lagging more. When the values are lower, your ping is low and therefore the game should appear smooth and it should function better. Enable the netgraph by typing netgraph 1 at the console. It can be disabled at any time by typing netgraph 0. This is especially handy if you're jumping from server to server, because you can tell which servers are better very quickly and easily.
The next step is to adjust your rate. If you're familiar with this option, you should realize that the rate pattern is the same as with Quake 2 and Half-Life. Adjusting the rate will lower or raise the maximum amount of data that your connection will receive at a time. The faster your connection, the higher the value should be set. For more information on this, check out my Half-Life Internet Tweak Guide.
Here are the values I recommend for the rate option:
To set the rate, type rate at the console. This will display your current value. Now type rate x where x is the value you wish to use. I highly recommend that you use one of the recommendations above.
Now you should limit your frame rate. As with Quake 2, Half-Life, and many other games, limiting the frame rate helps fight lag, to a point. Don't try setting your frame rate to 3 or some very low number like that just to decrease your lag, because your frame rate will then be maxed out at 3, making the game less playable than before you tweaked it. Instead, set it 30, which is about the ideal point for the human eye. Setting it lower hardly reduces the ping at all, and makes the game choppy. Type cl_maxfps at the console to see the current setting. Default is 90 with Kingpin. Now type cl_maxfps 30 or your desired frame rate. If you have a fast connection or you can't stand 30 FPS, set this higher.
Stay tuned for more Internet tweak tips.
This tweak guide was slapped together to help solve people's performance/visual problems with Kingpin. I hope these tweaks helped you. If they didn't, don't worry... there will be plenty more later on. Thanks for reading... and as always, if you have suggestions, send them in!