BUILD GAMES IN WINDOWS 9x   v10-03-2003  Release 10 © RTCM Corvin


INTRODUCTION | WINDOWS MS-DOS SHORTCUT | GAME OPTIONS | SYSTEM REQUIREMENT
PERFORMANCE REMEDIES | BASIC TWEAKING | UNIVBE / SCITECH | SOUND SETUP

 

INTRODUCTION

Although this document is intended to get your BUILD game up to speed and performance in Windows 95 / 98 and ME, some tweaking will effect your entire system. In general, if you use all these tweaks your system will run tighter.

This document is untested on ME. If you have 16-bit or VXD drivers for your hardware then this document is 90% ME ready.

This document assumes you have a fresh new copy of your Game installed and you have not done any previous modifying to your system.

This document does not cover NT, 2000, or XP. See the RTCM Document setup-windowxp-buildgames

 

WINDOWS MS-DOS SHORTCUT

Configure your Windows Shortcut - Cures stability of game response and speed.

Using a MS-DOS Shortcut provides the best environment for the game while it runs inside Windows. But there's a performance cost: other Window applications will run slowly. But in most cases you will not want to run a BUILD game and window applications at the same time. The most obvious time you would run any other applications is when you play Online and you may be using special connection software.
(These configurations where tested with the game.exe and setup.exe, examples are provided in FAQ downloads)

A Shortcut simply provides a link to a program you can customize. Normally, when you launch a DOS program, Windows 95 makes its best guess at running it. Windows 95 wasn't designed to run all DOS games this way. With a Shortcut, you can manually help Windows 95 run the WinDos Box much better. (Note Windows 98 default settings for a WinDOS Box are much more robust. If you don't need custom settings to get the game to run perfectly. Then skip this section.

  • While running Windows 95, right click anywhere on the desktop.
  • Select New then pick Shortcut.
  • When asked for the Command line, enter the game's path by using the Browse   feature.
  • Then provide a name and pick an icon (many icons are available for Build games that you can download).
  • You now have a new Shortcut on your desktop!
  • Next, right click on it and choose Properties.
  • Set the Tabs as follows: (optimize)

Tab: General

  • Archive: Check this

Tab: Program

  • Command line:  Points to your Duke.exe
    Tip: When asked for the Command line, you can enter "command". This turns the Shortcut into a custom MS-DOS Prompt that won't automatically start Duke. Because you get a DOS prompt, you can use it to run any DOS game or application with the optimized settings of the WinBox, And your able to use command line switches.
  • Working: You MAY want to set this to your Duke3D folder
  • Batch File: This MAY point to your Duke.bat file
    (set the Batch file up with ONLY what you NEED to play Duke)
  • Shortcut Key: You MAY want a quick key to the game
  • Run: Use normal
  • Close on exit: Check it
    (uncheck if you desire or require the last screen to display - possible usage: error checking)
  • Button : Advanced
    Prevent MS-DOS programs from detecting Windows: Check It
    Suggest MS-DOS mode: Check It
    MS-DOS Mode:
    Warn Before Entering MS-DOS mode: Check It
    Use Current MS-DOS configuration: NOT Checked
    Specify a new MS-DOS configuration: I suggest setting up a stripped down setup - ONLY load what you need

Tab : Font

  • Bitmap Only: Check this

Tab : Memory

You'll see 4 memory sections. Usually, the "Auto" setting works fine for each but consider selecting the largest amount available on your machine.

  • Conventional Total: Set to Auto
  • Initial: Set to Auto
  • Protected: Checked
  • EMS: Auto (Alt: none)
  • XMS: Auto (Alt: none) Uses HMA: Checked
  • DPMI: Auto (Alt: 12288 on a 32mb system)

Tab : Screen

  • Full Screen: Checked
  • Initial Size: Default
  • Windowed: Unchecked
  • Restore Settings : Checked
  • Fast ROM: Checked
  • Dynamic memory allocation: Unchecked
    (if running an eternal program for use with Duke, and it performs poorly, try checking this box).

Tab : Misc

  • Background Suspend: Check this if you're NOT running a program to help Duke3D perform such as Scitech or another outside program
  • Warn if Still Active: Checked
  • Idle Sensitivity: Play with this. Try 25% (Alt:75) on the slidebar.
    (If you have like Scitech running 50% (Alt: 75) may be a good setting.)
  • If you have NOTHING running such as Network cards/Internet connection try 10% (Alt: 100)
  • Clear the allow screen saver option
  • Clear th Quick edit option
  • Clear "Fast Pasting" option
  • Set mouse to exclusive mode
  • Shortcut Keys: ONLY Check the ones you'll need, Like ALT+TAB, ALT+ESC, CTR+ESC

 

GAME OPTIONS

Configure in Game Options (from the game and setup) - Cures Virtual-Lan/Online performance

  • Music Card - NOT recommend to use on a Virtual-LAN
  • RTS - NOT recommended to use on a Virtual-LAN
  • Don't Use Frontends(externals)
  • Duke Talk - not recommended on a Virtual-LAN
  • Detail : I suggest HIGH
  • Shadows: I suggest ON
  • Music : I suggest OFF on a Virtual-LAN
  • Resolution: Use 800x600 recommend using 640X480 on a Virtual-LAN

 

SYSTEM REQUIREMENT

I Suggest these System Requirements

  • Pentium 133MHz or Above (Non-Cyrix CPU)
  • SoundBlaster/Pro/16/AWE32, Gravis UltraSound, Pas 16 or compatible sound card w/Hardware Wavetable, 4 or 8 Meg Midi WAV Sets (ISA Slot 100% Sound Blaster Sound Card preferred due to a PCI Bug)
  • Self powered SubWoofer and Desktop speakers engineered for computers or high quality sound system
  • 80 MB of free hard drive space
  • SVGA local bus video (PCI Vesa 2.0 2D card or a 3D card in 2D Vesa modes)
  • Up to 8 players: Modem, LAN/Network. (2-8 players{4 Optimal}: virtual-IPX: TCP/IP)
  • DOS game. Will run in Windows 95/98 DOS-Box or DOS Mode. (Will work in WinME with 16-bit DOS drivers or legacy support)

The above requirements will allow you to use: User made Addons, Video, Sound and MIDI at optimal performance since they tend to be more demanding then the standard game.

Minimum Requirements:

486 DX2(Overdrive preferred) 4/100 MHz
Win95, 98, DOS 5.0 or greater
16MB RAM, 60M Disk, 2x CD
VGA Graphics adapter(256 Color)
DOS compatible Sound Card 33

Recommended:

Pentium 133MHz
ISA Slot Sound Card (PCI bug)

Supported Graphics

  • VGA and SVGA* others
    *Pentium required for SVGA modes

Supported Controllers

  • Virtually all. If you find your controller is not directly supported, most users will be able to configure a decent controller correctly. Some may require external programs for the supplied controller.

Notes about Requirements

  • Newer PCI Snd Cards tend to crash the game in map sectors where the Reverb (echo) settings are switched on like the sewer in E1L2 (EDukev2.0 has an ON/OFF option for the echo effect, command line eduke /Z1 )
    See: The Sound Setup Document
  • ISA Slot 100% Sound Blaster Sound Card preferred. (ISA is immune to the "echo crash")
  • If your Video card doesn't have a good Vesa 2.0 driver or you simply want to get a tad more out of your 2D Video Card, then definitely use SciTech's Display Doctor to take advantage of the DOS and Windows features. (Build games use 2D mode) Windows users, use the 32-bit version.
  • If you have a 3D card with poor 2D mode, you may also want to try using the Display Doctor.
  • Use a CPU with a GOOD Floating-Point "math co-processor" (Non-early Cyrx PR's) - Build Games use FPU for slopes.

 

PERFORMANCE REMEDIES

Game Performance remedies

   How do I cure Unwanted hard drive access during the game?

This is common with BUILD Games, especially for large Maps and Fast action playing. This behavior with the Hard Drive and Memory can cause your game to skip frames. The following will help remove those performance problems.

Typically these settings also apply to systems where your HD has become 70-80% Full.   Since this will produce a lot of accessing as well.

 

Windows Swap file (Win386.swap) (Optional Level 1)

(not to be confused with the Windows VCACHE, see further below)
Win9x's swap file doesn't work the same way as Win3.x's; in Win9x, the swap files continue to grow, hogging more and more system resources, until you reboot. You can manually adjust the size of your swap file and reduce random disk accessing that makes you wait while Windows adjusts your file's size.

  • Go into Control Panel, double-click "System,"
  • click the "Performance" tab,
  • click the "Virtual Memory" button,
  • select "Let me specify my own virtual settings," and set them where you like. I suggest setting the min and max values the same if you experience to much unloading and unwanted disk accessing.
  • A Special note, the more RAM you have the smaller you can make the swap file.
  • You will need to restart windows in order for the new settings to take effect.

 

If you have two HD's (Optional Level 2)
Scan and defrag the 2nd drive and place your swap file on it for a performance boost.
Future Note: The defragging tool will not defrag a swap file, unless it is removed first (moved or disabled).
(WIN98) Make sure file reorganization is on before you start defragmenting, click on the "Settings" button and check the "Reorganize program files so my programs start faster" box. Then run Disk Defragmenter as normal. I would recommend running Scandisk in standard mode on all the hard drives you intend on defragmenting before continuing - it will save time in the long run.



Conservative Swapfile Usage (Optional Level 3) (WIN98)
A minor performance gain. In your Sytem.INI under the [386Enh] header add this line: ConservativeSwapfileUsage =1
The swap file will now behave as it does in Win95.

 

VCache(32bit) (Optional Level 4)

  • Windows 95 does not use Smartdrive (16bit) when your Game is run in a WinDOS Box. Instead during your BUILD game a disk cache driver called VCache(32bit) is used to hold the hard-disk information you've accessed most recently.
    However Windows sometimes allocates more of your system memory than it needs, reducing the amount of system memory available to your apps, such as your Build game, thus increasing the number of times Win 9x has to access the hard drive. It dynamically grows and shrinks as the need arises.
    If you have more than 32MB of physical memory, VCache may be using more memory than it can efficiently manage. You can limit the maximum amount of physical memory VCache uses by adding the following lines to the  system.ini  file.
    • Run sysedit from the run dialogue
    • Locate the section called [vcache] and add these 2 lines - values are in bytes.
    • MinFileCache=2048
    • MaxFileCache=2048
  • Some Suggested Settings
    • If you have physical memory of  16MB = min 1024, max 4096
    • If you have physical memory of  32MB = min 2048, max 6144
    • If you have physical memory of  64MB = min 4096, max 16384
    • If you have physical memory of  128MB = min 4096, max 32768
  • Note: If you feel the above suggestions are a bit high, try 1/8 of your system's RAM. Ex128/8 = 16384 KB (16MB)
  • I suggest setting the min and max values the same if you experience to much unloading and unwanted disk accessing. Otherwise try 0 zero as your min.
  • Also set the "Typical role of this computer" to Network Server (no matter what your system actually is) and set the Read-Ahead Optimization to full; this setting is located in Windows System/Performance/File System menu.
  • You will need to restart windows in order for the new settings to take effect.
  • If during your use of your computer you get an error that pops up something like "Out of Memory" then your settings need adjustment. If you can not find a desired setting then simple remove the two lines from the system.ini

 

More control of the vcache (Optional Level 5)

If you're still getting unwanted disk accessing try adding these 3 lines under [vcache] These are nice if you run some intesive applications alot before using your build game. Values are suggested. Values are in bytes.

  • Chunksize=1024
  • NameCache=4096
  • DirectoryCache=96
  • Chunksize: The disk vcache is a single block of memory that is divided into chunks. Try using 1024
  • NameCache: Limits the amount of files Windows has to track
  • DirectoryCache: Limits the amount of directories Windows has to track

 

WIN.INI Virtual Managers (Optional Level 6)

If you're still not getting the disk acess to decrease at this point try the following:

Locate the [386Enh] header, if it's not in your WIN.INI then add it and the lines below.

  • [386Enh]
  • MaxBPs=16384
  • MinTimeSlice=15
  • WindowUpdateTime=30
  • LocalLoadHigh=1
  • PageBuffers=16
  • MaxBPs:  Maximum size in Bytes for break points used by Windows Virtual Memory Manager (VMM). Windows allocates memory space for break points in 4096 Bytes (4 KB) blocks.  If you set the value to 400, Windows opens a 4K block, and if raised to 800, a third block is allocated etc.  Windows 9x recommended value: 16384.  Default: 370
  • MinTimeSlice:  The minimum time (in milliseconds) a Virtual Machine (VM) is allowed to run before other VMs can take over.  Default value is 20.  Smaller values (such as 10) make multitasking smoother, but decrease overall system performance.
  • WindowUpdateTime: The time (in milliseconds) between display updates for programs running in a Command Prompt window/Win DOS Box.  Default value is 50.  Decreasing the value provides faster display refresh. Values of 10 to 20ms require a high-end machine.
  • LocalLoadHigh: With a value of 1, Your system will reserve more memory for DOS programs.
  • PageBuffers: To increase the number of 4K page buffers that store asynchronous read/write pages.
    Works ONLY if your using a  32-bit disk access(you do in a Win DOS Box) AND a permanent swap file (min and max set same).
    Default value is 4.   Maximum allowed is 32.

 

  How do I cure poor performance on a low memory system?
  What can I do to have a more stable game and try to resolve compatibility issues?

SMARTDRV(16-BIT) (DOS)

Creates and manages a disk cache in extended memory.  A disk cache speeds up the system because information that the computer reads from disk into memory stays in the cache. It's faster for the computer to read information that's already in memory than going out on the hard disk to find the information again.

C:\WINDOWS\SMARTDRV.EXE A- B- 1024, 512 0000

The sample line above disables the cache for both floppy drives (that is drives A and B). To disable caching on a drive, type the drive letter and a minus sign.

The first set of numbers 1024,512 are the Max and Mix sizes in kilobytes for the cache to be in MS-DOS before windows loads. If a size is not specified, SMARTDRV sets the cache size to 256 KB. Then Windows loads and will automatically adjust the size of the cache to make more extended memory available for Windows applications. Remember that the system cannot use RAM allocated for a disk cache.


  If you notice the game running slowly on your system, here are a few suggestions on improving game performance.

Disable your disk cache (DOS SMARTDRV) if you have less than 8MB of memory, or if you only run your BUILD Game in a WinDOS Box.
Duke3D handles its own internal caching alone best on machines with less than 8MB. External disk caches like SMARTDRV take away footprint memory that the game could use to operate more efficiently (This applies to the Disk Cache program being loaded on systems with less than 8MB, not its function). This can result in anything from slow performance to complete lockups.

Only use SMARTDRV if your system has more than 8MB of memory and you play in Pure DOS or MS-DOS Mode.

If you Only use a WinDOS Box, then you don't need it at all for Windows. To disable it read the following:

  • Open your  Autoexec.bat  file.
  • Find a similar line like this one   C:\Windows\smartdrv.exe 1024, 512
  • If its not there add the line at the very top.
  • Remove the 1024, 512  with  /x
  • Open your  Config.sys  file.
  • Find a similar line like this one   DEVICE=C:\WINDOWS\HIMEM.SYS
  • If its not there add the line at the very top.
  • Type REM in in front of the command line so it looks like this   REM DEVICE=C:\WINDOWS\HIMEM.SYS

To renable Smartdrv again. Simply add back the 1024, 512 and remove REM from the memory manager line.

 

QEMM, Qualitas Max 8, EMM386

Disable your upper memory manager (QEMM, Qualitas Max 8, EMM386, etc). Since Duke3D is a protected mode game, the services of these programs are not needed. In most cases if you are using a PCI Sound Card, you will be required to have your EMM386 loaded in order for the DOS Game sounds to work in a WinDOS Box.
EMM386 is a DOS memory manager, which takes priority over Windows memory manager. DOS has a limit of 64MB RAM.

Your Build game may suffer some noticiable performance loss with EMM386 loaded, primarily in DOS.

To Disable your UMM read the following:

  • Open your  Config.sys  file.
  • Find a similiar line like this one   DEVICE=C:\WINDOWS\EMM386.EXE
  • If its not there add the line.
  • Type REM in infront of the command line so it looks like this  REM DEVICE=C:\WINDOWS\EMM386.EXE

 

Game Engine Performance Features

Try reducing the screen size. When playing the game, you can press either '-' to reduce your screen size, or '+' to increase it. [ Reduces CPU overhead and video card speed digression ]

Try reducing the amount of digital channels that you have set for sound effects. Some system configurations have problems with having Duke3D set higher than 4 digital channels.

Try reducing the mixing selection on your sound card from 16 bit to 8 bit. This is done from the SETUP.EXE program, under the "SETUP SOUND FX" menu item. So if you have slow-down problems, try selecting 8

Try using 8 bit and MONO music/sound. This is the least demanding setting there is in Duke3D.
[ High snd quality usually slows the game down(video & sound are demanding), during sistuations when multiable sounds are played back at once, in turn reduces overall performance of the game and its abilitys to process new information quickly. Speed and performance effects network or muliplayer  games - Keep it fast. ]

Video Notes vs Performance and Quality:

  • A good frame rate will allow you to play Duke without any image jerking, a FPS of 20-30 is GOOD 25-35+ is ideal. 35+ is best for multi player online.
  • If running DN3D at 640X480 is just a bit jerky, try 640X400 (edit DUKE3d.CFG). This mode uses 17% less data per screen than 640X480, and does not look noticeably different.
  • SVGA modes in the game (800x600) and up would require a Pentium 133 or above. You will notice long range benefit's in detail if you use 800x600 instead of 640x480.
    The game will always have slowdowns if you don't have Local Bus Video (preferably PCI)
  • Higher resolutions will NOT remove the pixeling at medium to close distance.

BUG: playing some of the higher levels causes the game to slow down, eventually to a stop! This is a problem with the game engine in v1.3d What's happening is that the game is spawning an almost infinite number of game enemies in memory (you can't actually see them), and because of this, it's slowing the game to a crawl.
The Plutonium PAK v1.4 and the Atomic 1.5 Duke where to include a fix. I believe v1.5 "fixed" the problem.

 

BASIC TWEAKING

Basic Tweaking - Cures overall performance and device compatibility issues

There are many web sites out there to tell you how to do the following

  • Always maintain your system
  • Use ScanDisk on your hard drive
  • Defragment your hard drive
  • Have the newest drivers for your video and sound card installed
  • Make sure your system is updated with the newest versions of your OS
  • Update any software that may prove to provide system performance
  • Tweak your system's performance out (BIOS, config files, Windows tweaking etc..)

 

UNIVBE / SCITECH

Univbe and Scitech Display Doctor are alternative Video drivers that will allow any non-vesa 2.0 2D Cards to now have the capability of a Full VESA 2.0 card. Some early 3D cards are also supported. But only the early ones. If you intend to try to enhance your 3D cards 2D performance with SDD.. do so with caution.

Univbe v5.1 comes on your Duke v1.3D CD. This is the DOS only version and supports ISA and PCI cards. Your PCI Card will still require a VBE driver or VESA 3.0

Scitech Display Doctor v5.3 comes on your Duke v1.5 CD. This is a DOS and Windows Version. However the Windows portion must be registered if you want install it.

V5.3+ allows you to tweak many aspects of your current driver or you can choose to use SDD universal driver. If you already have Vesa 2.0 / 3.0  you'll want to keep your own driver and play with the settings to see if they help performance. If not then go with the universal SDD driver.

Note: you can download updated Univbe and SDD drivers and software in the general-tools download section.

 

When you enable low resolution VESA modes from within the Duke Nukem setup program, you will always get a message telling you that you must have a VESA Driver loaded. The message is just for information as the program does not check your system's memory to see if a VESA driver is loaded. If you have SciTech Display Doctor loaded, you can safely ignore this message.

Although the Duke Nukem 3D setup program only provides support for the 320x200 and 320x240 low resolution modes, you can actually run the game in any of the available low resolution modes by directly editing the DUKE3D.CFG file. For example if you wish to run the game in the 512x384 mode that SciTech Display Doctor supports, you will need to change the lines "ScreenWidth" and "ScreenHeight" in the configuration file to 512 and 384 respectively.

You can find the list of available modes by running VBETEST in the directory where SciTech Display Doctor was installed (SDD60 by default) then choosing Interactive Tests (0), then 8bit (1).

On some cards, such as the Hercules Stingray64 (ARK2000PV), when the player is hit or picks up items, the screen will flash with the wrong color. This appears to be a problem with the way the game addresses the graphics card's palette, and there is no known solution at this time.

Some cards will lock up if a VESA mode is selected in the setup file and then Duke Nukem 3D is launched from the setup file (save changes and launch Duke Nukem 3D). To prevent this, save the modes, exit the setup program and run Duke Nukem 3D from the DOS prompt manually.

Note: if your system lockups in Win95/DOS, Running UNIVBE.EXE from the AUTOEXEC.BAT should resolve some crashes. This is also the preferred method to unsure performance increase. In some instances you may also need to disable the linear frame buffer (SDD 5.3) to get this game to run.

You can also do this from the same Options dialog box in the SciTech Display Control Center you used to remove support for low resolution modes. In DOS this can be done by using the -L0 (zero not 'O') command line switch for the UVCONFIG program. After doing any of these procedures, it will be necessary to reboot your computer or remove UniVBE and reload it again (if it was the last TSR installed). Or, you can temporarily disable the linear frame buffer. To do this go to the directory where SciTech Display Doctor is installed (SDD60 by default) and type:

UNIVBE OFF LFB

To re-enable full support after playing Duke Nukem 3D return to the above directory and type:

UNIVBE ON LFB

 

SOUND SETUP

Legacy Emulation is required for your PCI snd card to function in MS-DOS. Normally this is obtained by booting into Windows then Exit Windows to MS-DOS. However, most PCI Snd cards can be configured to boot clean to MS-DOS.

For information in configuring sound for WinDOS Box use, see the RTCM   setup-windows-sound  for details.