xDuke v19.8 – Aug. 2010




Hosted @ Laval University for educative purposes (source code, 3D engine, networks, project management, distribution and social behavior)

xDuke is a simple Duke Nukem 3D port for Windows (XP, Vista, Windows 7 etc .) based on the original source code of the DOS version for PC.



News May 2010: xDuke v 19.8 by TURRICAN below, and a tutorial about the screen resolution vs aspect ratio of screens at the very end of this page.


News May 2009: music pack #2: Brandon Blume’s original Roland SC-55 Music pack  Experience the Duke3D’s tunes the ways they were meant to be heard in 1996. See below in the Misc Stuffs section for details.


Download Duke Nukem 3D for Windows 95 / Windows 98 / Windows 2000 / Windows XP / Vista - 32/64 / Windows 7 - 32/64


xDuke V19.8 (current) Free and Open source under GPL

Release by TURRICAN. Please see the tutorial below about screen resolution to understand the new choices about the screen resolution list. If your resolution is not supported anymore, and if you still want Duke to display full screen as before, simply change the options of your video card (Bios or from windows). If you are unhappy with this list because it doesn’t fill in all your screen anymore, simply adjust the video card option for stretching the image and you will get a distorted image, as before… If you are unhappy about the blurry aspect of the image that the stretching does, well, please give us some details about it into the guestbook below.


The program itself: ZIP (0.6 MB) for the Duke Nukem 3D core files. This version features many bug fixes and enhancements. Please check out change log below for more and be sure to test at least the new HUD options. Source code: The source code of the previous version is below. I’ll be happy to give you the link to the source code of the current version upon explicit request by email to avoid misuse and abuse of coders that could mess up the existing network of the online community. Please indicate your real name in the email if I don’t already know you or if it is not already attached to your Email address.

Guestbook, questions, bugs and comments


Playing netgames over the internet


There are 2 awesome Duke connectors to play netgames. Connectors are used for players to connect to each others. For some silly reasons they use a different network so they don’t see each other, which divides the community in 2 parts. If you are a hardcore player, you will want both installed.


- YANG: http://yang-online.com Works as a portable APP if needed (install is not required and just unpacking it will do if needed, with no admin privileges)

- Meltdown http://duke3d.org/Database/DFiles_view.php Advanced and neat connector with a general chat room. Admin privilege required to install and updates.



xDuke is a Footprintware [May 2009]


So you like this port? Here is what I suggest you to do:


Get any footprint calculator, for example this one: http://www.myfootprint.org/  or the WWF’s one.  Select the language then click “ENTER”. The Ecological Footprint estimates the amount of land and ocean area required to sustain your own consumption patterns and absorb your wastes on an annual basis. After answering 27 easy questions, you'll be able to compare your Ecological Footprint to others' and learn how to reduce your impact on the Earth. Try to select the various answers to see how it will affect your footprint as the footprint is calculated in real-time as you answer the questions. The footprint is getting a more and more popular and recognized measure.


A footprintware asks you - if you like the free software you are using - to calculate your own ecological footprint, by using any web site that can do so. The Ecological footprints measure humanity's demand on nature. The idea is to make people understand what the footprint is, how it works and why it’s something you may want to care about.



Tutorial for using 4/3 screen resolutions with wide 8/5 (16/10) aspect ratio, wide 16/9 aspect ratio, and tall 5/4 aspect ratio LCD monitors by Turrican [Aug  2010]




The currently existing wide 8/5 aspect ratio LCD monitors are using the following 8/5 physical resolutions : 1280x800 , 1440x900 , 1680x1050 and 1920x1200.


The currently existing wide 16/9 aspect ratio LCD monitors are using the following 16/9 physical resolutions : 1280x720 , 1366x768 , 1600x900 and 1920x1080.


And the currently existing tall 5/4 aspect ratio LCD monitors are using the following 5/4 physical resolution : 1280x1024.



Here is the solution to setup the PC, to get the optimal display on such LCD monitors, when using Duke Nukem 3D, or any other game designed for 4/3 monitors only.



The graphic card's driver provides 3 different ways to display in fullscreen mode, any screen resolution being smaller than the physical resolution of the LCD monitor.


With the NVIDIA drivers, this can be done with the "NVIDIA Control Panel", under the "Desktop Size and Position" menu, using the "Flat panel scaling" option.


- the first and default setting (NVIDIA scaling) is to stretch the picture to the whole screen, whatever the aspect ratio of the screen resolution, resulting in the main problem with LCD monitors, being that the picture may be displayed in a wrong way, with a wrong aspect : with this default setting, using a 4/3 screen resolution on a wide (8/5 or 16/9 aspect ratio) LCD monitor will result in everything looking small and fat, while on the opposite, using a 4/3 screen resolution on a tall (5/4 aspect ratio) LCD monitor will result in everything looking tall and slim, and in both cases, round shaped things will look elliptical.


- the second setting (NVIDIA scaling with fixed aspect ratio) is to still stretch the picture, but this time, the original aspect ratio of the screen resolution will be kept : with this setting, when using a 4/3 screen resolution on a wide (8/5 or 16/9 aspect ratio) LCD monitor, the picture will still be completely stretched vertically, but not completely stretched horizontally anymore, while on the opposite, when using a 4/3 screen resolution on a tall (5/4 aspect ratio) LCD monitor, the picture will still be completely stretched horizontally, but not completely stretched vertically anymore ... thanks to this setting, you'll have the maximum size possible for your 4/3 picture, while still having it displayed at the proper physical 4/3 aspect ratio.


- and the third setting (No scaling) is to keep the original size and aspect ratio of the screen resolution, like the option on the laptops' BIOS, which consists of completely disabling the stretching, resulting in black borders all around the picture, unlike the previous (NVIDIA scaling with fixed aspect ratio) setting, where there are black borders only at the left and right of the picture, to maintain the 4/3 aspect of the picture when using a 4/3 screen resolution on a wide (8/5 or 16/9 aspect ratio) LCD monitor, and also where there are black borders only above and below the picture, to maintain the 4/3 aspect of the picture when using a 4/3 screen resolution on a tall (5/4 aspect ratio) LCD monitor.


Note that with both the 1st and 2nd settings, the smaller the screen resolution, the blurrier will be the picture.

And with the 3rd setting, the smaller the screen resolution, the smaller will be the picture, and then, the larger will be the black borders all around the picture.



First, here are the details for setting up properly the games designed for 4/3 monitors only, with all of the 4 physical resolutions for the currently existing wide 8/5 aspect ratio LCD monitors, the goal being to use the largest 4/3 screen resolution possible, and using the 3rd setting if the picture won't be too small in this case, otherwise the 2nd setting will have to be used, resulting in a slightly blurry picture :


- 1280x800 monitors : the best 4/3 screen resolution choice is 1024x768 with the 3rd setting, resulting in only having (800-768)/2 = 16 blank lines above and below the picture (in addition to the black borders at the left and right of the picture), which should not be annoying.


- 1440x900 monitors : the best 4/3 screen resolution choice is 1152x864 with the 3rd setting, resulting in only having (900-864)/2 = 18 blank lines above and below the picture (in addition to the black borders at the left and right of the picture), which should not be annoying.


- 1680x1050 monitors : the perfect 4/3 screen resolution choice is 1400x1050, since the vertical resolution is exactly the same (both have 1050 pixels), resulting in both the 2nd and 3rd settings producing exactly the same picture (no stretching at all with both settings), with black borders only at the left and right of the picture.


- 1920x1200 monitors : the perfect 4/3 screen resolution choice is 1600x1200, since the vertical resolution is exactly the same (both have 1200 pixels), resulting in both the 2nd and 3rd settings producing exactly the same picture (no stretching at all with both settings), with black borders only at the left and right of the picture.



Now, here are the details for setting up properly the games designed for 4/3 monitors only, with all of the 4 physical resolutions for the currently existing wide 16/9 aspect ratio LCD monitors, the goal being to use the largest 4/3 screen resolution possible, and using the 3rd setting if the picture won't be too small in this case, otherwise the 2nd setting will have to be used, resulting in a slightly blurry picture :


- 1280x720 monitors : with the 4/3 screen resolution choice of 800x600 and the 3rd setting, you would get (720-600)/2 = 60 blank lines above and below the picture, which could be annoying, making the 2nd setting a better choice, despite a slightly blurry picture in this case.


- 1366x768 monitors : the perfect 4/3 screen resolution choice is 1024x768, since the vertical resolution is exactly the same (both have 768 pixels), resulting in both the 2nd and 3rd settings producing exactly the same picture (no stretching at all with both settings), with black borders only at the left and right of the picture.


- 1600x900 monitors : the best 4/3 screen resolution choice is 1152x864 with the 3rd setting, resulting in only having (900-864)/2 = 18 blank lines above and below the picture (in addition to the black borders at the left and right of the picture), which should not be annoying.


- 1920x1080 monitors : the best 4/3 screen resolution choice is 1400x1050 with the 3rd setting, resulting in only having (1080-1050)/2 = 15 blank lines above and below the picture (in addition to the black borders at the left and right of the picture), which should not be annoying.



And to setup properly the games designed for 4/3 monitors only, with the currently existing tall 5/4 aspect ratio LCD monitors, which all have the same 5/4 physical resolution of 1280x1024, the perfect 4/3 screen resolution choice is 1280x960, since the horizontal resolution is exactly the same (both have 1280 pixels), resulting in both the 2nd and 3rd settings producing exactly the same picture (no stretching at all with both settings), with black borders only above and below the picture.



Note that the 4/3 screen resolution of 1400x1050 may be unavailable, in which case you would need to manually add it as a custom screen resolution (8 bits color depth/bpp for xDuke) : this can be easily done, using the graphic card driver.


Also, note that the ATI drivers also provide a screen resolution scaling/stretching option and a custom screen resolution feature.



Learn from some top world players of Duke 3D death matches


Learn advanced styles and strategies to play Duke3d netgames by watching good player’s recorded games. This can be done by downloading recorded games, called DEMOS files. Those are small files that record the key presses and reproduce them in xDuke directly, so you can see what it looks like. Simply download them from Matt Porter’s web site at http://duke3d.org/Database/XDemos_view.php and copy them into your xDuke directory. Then start xDuke. Use K to toggle user’s view. Although you should not expect to reach such skills, you will learn many strategies by simply paying attention to their style... This truly is RPG art.



Misc Stuffs [text updated May 2009]


Add-ons - high quality Duke Nukem Tunes (ogg files):


You can unpack one of the 2 following pack it manually, in which case the *.ogg files should be extracted where duke3d_w32.exe is located, or better, in the \ tunes\ folder - this way the ogg files are not mixed with the other files of Duke Nukem.


Pack 1: Mark McWane’s personal pack (108 MB). This pack contains Mark McWane’s hi-quality and personal arrangements of the Duke3d songs for Duke Nukem 3D. Mark tried to improve the original tunes to his own personal taste. Speed and instruments are a bit changed when compared to the original tunes. He did an impressive job. Note: The Main theme is from Lee Jackson, not from Mark. It is an auto extract archive with an installer. If you prefer the true original music, you may like the pack 2 below better though.


Pack 2: Brandon Blume’s original Roland SC-55 Music pack (126 MB). There is NO personal arrangement in this pack, unlike the first one. So if you want to hear how the real tunes sound (which I recommend, at least once), then you want this pack. Here is what Brandon wrote about this his pack: “I created a new music pack for Duke Nukem 3D as was recorded from the Roland SC-55 MIDI module so that the soundtrack could be heard the way it was always meant to be heard in 1996 for EDuke32, xDuke and whatever else supports OGG substitution for the original MIDI soundtrack. I was in contact with a guy named Turrican on the 3D Realms forums for a while and he helped me fix up the tracks to be played properly as the Duke3D MIDI files aren't like normal MIDI files that can be played back on just any MIDI player”. Brandon’s nickname is MusicallyInspired. Turrican who is a xDuke coder, explained that “since the Duke Nukem 3D MIDI musics were composed on a Roland Sound Canvas MIDI synth, this means then that the only way to hear them the way they were meant to be heard is by performing the playback on the Roland Sound Canvas MIDI synths only. However, despite I've done a lot of efforts to fix the MIDI music code, we've got to realize that a very few people will actually play Duke with a real Roland Sound Canvas MIDI synth. So, instead of leaving the players with the only solution of using their (cheap) sound card, or the very average Microsoft Software MIDI synth, resulting in a different music experience (if not bad) than the one which was intended, I think we should also provide the OGG music support, _along_ with the MusicallyInspired's Duke Nukem 3D music pack he has recorded with his Roland Sound Canvas SC-55, allowing everybody to experience the Duke Nukem 3D musics, the way they were intended to be heard.




A GNU Duke Nukem 3D port for WinXP/Vista and more [text updated May 2009]

A few years ago, 3D Realms decided to release the source code of their award winning Duke Nukem 3D dos game - aka Duke3d - so it could be ported to various OS’ as Windows, Linux, Unix etc .. Ryan Gordon (Icculus) created the first working port based on the original Duke3D source code. Dave L. Koenig enhanced Icculus’ port and created the Rancidmeat port v19.1. Both did an incredible job. Unfortunately Dave was too busy and the small Duke community couldn’t wait any longer for the glitch and bug fixes. As a consequence, the gamers playing multiplayers and netgames eventually stopped playing the Rancidmeat port at the end of 2005. For this reason I decided to update an unofficial Rancidmeat called Rancidmeat Reloaded v19.6. The Rancidmeat Reloaded v19.6 was containing something like 60 new fixes versus Rancidmeat v19.1. They were small fixes but they were really needed for the netgamers. This made Rancidmeat Reloaded the played port again for online multiplayer games. Dave didn’t know I updated his port (I could not contact him). When he eventually went back one day, he wasn’t happy of me having updated / replaced his stuffs (I’m sorry again). He preferred to keep his current port and preferred me to create a separated version. This is how xDuke port was born! Since that Dave became a very nice guy to deal with, and we exchanged a lot of code for our respective Duke port.


The Main Duke3d ports [text updated May 2009]

There is not one single Duke Nukem 3D port that does everything. That’s why it’s good to keep some diversity. Below are the main ports you may like depending on what you are looking for. Just Google the port names to find the latest link on the internet:


xDuke (this port): it is based on Dave’s Rancidmeat / Icculus port. xDuke port tries to focus on the original gameplay and multiplayers. xDuke is often very appreciated by dukers who play online a lot. It has been the most popular port for Duke3D netgames for years, although EDuke32 is now also starting to be popular and pretty good for multiplayers and netgames – see below. Note: xDuke and EDuke32 are unfortunately not network compliant.


EDuke32 port: from Richard Gobeille. It is by far the most advanced Duke port overall and most frequently updated. EDuke32 is intended for mod designers, mod players, HRP lovers (enhanced graphics and 3D engine), and regular players either single or in multiplayer//network. Very nice interface, neat code. EDuke is based on JonoF code and the original EDuke, so it does all what JonoF does + adds a strong con file support and customization + a lot of fixes and features. EDuke32 works in a legacy Duke 3D mode by default. Many interesting xDuke options related to netgames can be found in EDuke32 as well, such as: playback camera on/off, weapon model can be turned on/off, autoaim can be turned off for non bullet weapons, smaller HUD to have a bigger screen, can hear opponent sound etc. Furthernore, EDuke32’s netcode is based on Rancidmeat’s netcode, thus making it very suitable for netgames. EDuke32 is the most popular Duke 3D port for single player games and now also the most popular port for netgames along with xDuke. People who are looking to port the Duke Nukem 3D code to various OS should consider this port IMO. http://eduke32.com/


JonoF port: from Jonathon Fowler. He started from scratch and uses a new engine on which Ken Silverman added an OpenGL support in particular for new 3D models. I’d recommend to use EDuke32 http://www.jonof.id.au/jfduke3d


Rancidmeat port: from Dave L. Koenig. based on Icculus port. It was the 1st available port for netgames and the author of the current best netcode. http://www.rancidmeat.com


Icculus port: from Ryan C Gordon et. all. Only in CVS source code form, you will have to compile it. Advantages : Extremely portable code, if you are looking for rare platforms to play Duke3D as Atari, Amiga etc .. you will want this port (be sure to also consider EDuke32 if you need porting to special OS’s).


xDuke V19.7.1 (old) Free and Opensource under GPL.


The program itself: SELF EXTRACT with installer or ZIP (0.8 MB) for the duke3d core. The GRP file that has the game’s data is separated, below. Source code is here.


The data file DUKE3d.GRP – (Needed if you don’t have any full GRP file already):  1.3d SHAREWARE GRP (4.3 MB) data file. The GRP file contains all the data sound, characters. You need at least one version of the GRP file. This shareware *.grp file is for those who don’t have any GRP File. 3D Realms policy doesn’t allow me to distribute the full data GRP file either 1.3d full or 1.5 Atomic full. xDuke supports all the 4 official base GRP’s that are 1.3 shareware, 1.3d full, 1.4 Plutonium and 1.5 Atomic. The same xDuke EXE file can be used to play a full GRP version. Here is how: 1. Copy your full duke3d.grp from your original Atomic CD or 1.3d duke3d CD in xDuke’s folder. 2. Rename it as duke3d.*.grp, say duke3d.15.atomic.grp is a smart choice if it’s an Atomic grp file 3. Start your xDuke port. Since you now have 2 GRP files in the same folder, the xDuke port will ask you to select the GRP you want to use: shareware or full. You should keep the shareware GRP to play netgames with players who do not have the full version.



Change log xDuke v19.8 vs 19.7.1 – May 2010

This version is not network compliant with 19.7.1.  If you try to mix different versions for netgames

you will get an explicit message showing the mismatching versions of the currents players. The game won’t start.




- new feature allowing to resize the full and mini statusbars, the crosshair, the fragbars, all of the text messages (console included), and the whole menu
- ability to disable the green background at the left and right of the reduced statusbar and fragbars, for better visibility
- ability to change the fragbars layout, to a new "side-by-side" layout
- more convenient way to chat, using the console (open and close it, using the "console key")
- if you didn't had the time to read a message before it disappeared, you can still find and read it in the console
- replaced the console's minitext font with the same blue gametext font used for the messages
- console commands must now start with either the '\' or '/' sign
- use the new '\cmdlist' console command, to display a list of all the available console commands
- to display the description for a specific console command, use '\help <command>'
- in addition to the "Page Up" and "Page Down" keys scrolling the console's history output line-by-line, now, holding the "SHIFT" key while using these 2 keys will scroll page-by-page
- in addition to the "End" key which instantly brings the console's history output to the bottom, now, the "Home" key will instantly bring it to the top
- the "ESC" key is now also used to clear the console's text input field (it still closes the console, if the text input field is empty)
- the '\playmidi' console command is renamed to the '\playmusic' console command, since it can also play hi-res tunes
- the xDuke version number is written at the bottom-right of the console
- opening the console will only pause the game in single player mode, but not in fake multiplayer mode anymore
- increased maximum screen resolution from 1600x1200 to 2048x1536
- a predefined list of screen resolutions is used, providing only the most common screen resolutions, and the unsupported screen resolutions are greyed
- when using the xDuke's extra statusbar, the player's health value is now displayed in yellow, when less than 50, and in red when less than 20
- removed the 72000 bytes limitation for MIDI files
- default value for "MusicVolume" is now 256, so that the volume Control Change events' value from the MIDI files is unaltered by default
- default value for "FXVolume" is also changed to 256, to be homogeneous with the new "MusicVolume" default value
- increased the slidebar's range, allowing to reach the maximum value of 256, for the music and sound volume
- added back in the CFG file, the "NumVoices", "NumChannels", "NumBits" and "MixRate" variables
- default value for "mouseSensitivity_X" is now 4, and "mouseSensitivity_Y" is now 8




Bugs fixed


- replaced the buggy and incomplete "xmidi" music code, with the JFDuke3D MIDI music code (20051009), fixing the EMIDI custom format support
- improved and fixed the JFDuke3D MIDI music code (20051009) with the following changes :
      - added support for MIDI SysEx messages
      - fixed masks for the "immediate" MIDI messages method
      - fixed MIDI reset, using the "immediate" MIDI messages method, to perform it entirely
      - changed "GENMIDI_DefaultVolume" to 100
      - added manual reset of the Pan, Reverb, Chorus, Bank Select and Program Change
      - added the "GS Reset" SysEx message, in addition to the manual reset
      - fixed small cut in MIDI music after unpausing it
      - changed MIDI device type to "EMIDI_SoundCanvas"
- added patch for the original "INHIDING.MID" file, to fix a "Bank Select" message for the channel 4, trying to select an instrument variation which doesn't even exist on any "Roland Sound Canvas" MIDI synth
- added patch for the original "STALAG.MID" file, replacing the 4 wrong EMIDI controllers 111 (track exclusion) in the track 2, by the proper EMIDI controllers 110 (track inclusion/designation)
- external MIDI files were not read
- fixed bug introduced in the DOS Atomic Edition, where the digital music "BONUS.VOC" file, played at the bonus/score screen, would not stop playing after you finish the last level of any of the episodes
- added patch for the "WIND_REPEAT" entry in the original Atomic Edition "USER.CON" files, fixing the wind ambience sound which wasn't looping anymore, in the ending animation and nuke logo screen of the 3rd episode
- fixed bug from DOS Duke, where there was one visible line of garbage, just above the full statusbar, and where the bottom line of the fragbar was missing, depending on the screen resolution
- fixed bug from DOS Duke, where the inventory icons' vertical position was affected by the amount of fragbars
- fixed the ':' sign mistake from DOS Duke, for the big red menu text, and added support for the '/' and '%' signs
- when finishing the 3rd episode, the whole Duketeam screen was missing when using the Registered v1.3D GRP file
- crash when loading a GRP file having the "read-only" attribute
- the "expander" weapon is now classified as a bullet weapon when using the "bullet only" aiming mode
- screen resolution selector not blinking anymore, when selecting the current screen resolution back, or when moving the cursor to another line in the menu
- when using hi-res tunes and starting the 4th episode, the menu music was not stopping and wouldn't let the briefing music play
- in single player mode, if the game was paused with the "PAUSE" key before opening the console, then when closing the console, the game would be unpaused but the music wouldn't be resumed

- pressing the "ESC" key when the console was opened would bring the main menu (if the menu wasn't already opened before opening the console)



Change log xDuke v19.7.1 vs 19.7 – April 2006

This version only fixes some bugs for stability and comfort. No new features.

It is fully compliant with 19.7, meaning it will let you play both 19.7.1 and 19.7 users



Bugs fixed



- FIX_00086: grp loaded by smaller successive chunks to avoid overloading low ram computers (Spanator)

- FIX_00087: intro in 1024x768 mode being slow. Undone FIX_00070 and fixed font issue again (Turrican/Bryzian)

- FIX_00088: crash on maps using a bad palette index like the end of roch3.map (NY00123)

- FIX_00089: scoreboard not shown for last player who quits a DM. Only 19.7 affected. (Sarah)

- FIX_00090: Removed showinfo key. FPS were shown after CRC msg. CRC not always removed. (Turrican)

- FIX_00091: Main theme starting too early (Bryzian/Turrican)

- FIX_00092: corrupted saved files making all the next saved files invisible (Bryzian)

- FIX_00093: fixed crashbugs in multiplayer (mine and blimp)



Change log xDuke v19.7 vs 19.6 – March 25th 2006

This version only fixes many bugs for stability and comfort. No new features.


Bugs fixed


- FIX_00056: Refresh issue w/FPS, small Weapon and custom FTA, when screen resized down

- FIX_00057: Using ESC to get out of the console mode wouldn't take pause mode off

- FIX_00058: Save/load game crash in both single and multiplayer

- FIX_00059: levels going too far in menu in 1.3d and 1.5 in multiplayer (Turrican)

- FIX_00060: Repeat key function was not working in the menu

- FIX_00061: "ERROR: Two players have the same random ID" too frequent cuz of internet windows times

- FIX_00062: Better support and identification for GRP and CON files for 1.3/1.3d/1.4/1.5 (Turrican)

- FIX_00063: Duke's angle changing or incorrect when using toggle fullscreen/window mode

- FIX_00064: Cinematics explosions were not right for 1.3/1.3d grp (Turrican)

- FIX_00065: Music cycling with F5 and SHIFT-F5 messed up (Turrican)

- FIX_00066: Removed the QuickKick restrictions for 1.3/1.3d (like 1.3d dos version behavior)

- FIX_00067: *.cfg parser fails to read negative values as it could be for the Midi selection (Turrican)

- FIX_00068: menu "New Game" in multiplayer mode now allowing left/right arrow for selection (Turrican)

- FIX_00069: Hitting Esc at the menu screen shows an empty green screen

- FIX_00070: Small Font have a missing line (fixed by David Koenig)

- FIX_00071: do not ask for internal default con if external con or internal con is buggy

- FIX_00072: all files are now 1st searched in Duke's root folder and then in the GRP.

- FIX_00073: menu off messed up. While in game hit Esc -> select quit -> press esc => stuck in menu

- FIX_00074: Shift f5 doesn't change hi-res tunes, but only midi tunes

- FIX_00075: Bad Sensitivity along Y axis when using mouse in menu (Turrican)

- FIX_00076: Added default names for bots + fixed a "killed <name>" bug in Fakeplayers with AI

- FIX_00077: Menu goes directly to the "NEW GAME" sub-menu when starting new game (Turrican)

- FIX_00078: Out Of Synch error (multiplayer) when using console in pause mode

- FIX_00079: "waiting player" screen showing a black screen

- FIX_00080: Out Of Synch in demos. Tries recovering OOS in old demos v28/29/117/118. New: v30/v119.

- FIX_00081: Screen border in menu (Turrican)

- FIX_00082: /q option taken off when playing a demo (Turrican)

- FIX_00083: Sporadic crash on fullscreen/window mode toggle

- FIX_00084: Various bugs in the load game (single player) option if ESC is hit or if wrong version





- FIX_00085: Optimized Video driver. FPS increases by 0-20%.




Change Log v19.6 vs 19.5


Bugs fixed :


FIX_00051: Medkit was broken

FIX_00055: ReverseStereo was broken


Enhancements :


FIX_00052: Y axis for the mouse is now twice as sensitive as before

FIX_00015: (bis) changed NumVoices=8 to NumVoices=32

FIX_00053: Added more defaults when creating a new CFG: ScreenWidth = 800, ScreenHeight = 600, ScreenGamma = 16, CommbatMacro#x to default quotes, RunMode = 1, Hide_Weapon = "S" "", Auto_Aim = "V" "",Show_Info = "B" "", Console = "C" "", OpponentSoundToggle = 1, PlayerName = "XDUKE", RTSName = "DUKE.RTS", FXDevice = 8 (use 13 to disable), MusicDevice = 0 (use 13 to disable), ControllerType = 1 (mouse+kbd)

FIX_00054: Changed MouseSensitivity and MouseSensitivity_Y to MouseSensitivity_X_Rancid and MouseSensitivity_Y_Rancid respectively, so you can use the same CFG for both JonoF and Rancid / xDuke without changing the mouse sensitivity all the time




Change Log v19.5 vs 19.3


Bugs fixed :


FIX_00001: Mouse speed was uneven and slower in windowed mode vs fullscreen mode.

FIX_00023: Moved Addfaz's autoaim handler to synch variables (to avoid out ofsynch)

FIX_00030: Brightness step was not the same from the keys vs menu


Enhancements :


FIX_00011: duke3d.cfg not needed anymore to start the game. Will create a default one if not found and use default keys.

FIX_00012: added "weapon autoswitch" toggle allowing to turn the autoswitch off when picking up new weapons.

FIX_00015: Backward compliance with older demos (down to demos v27, 28, 116 and 117 only)

FIX_00027: Added an extra small statusbar (HUD)

FIX_00039: Toggle autoaim between Normal (full) and partial (on bullet weapons only)

FIX_00040: Preventing multi keypress locks (designed with JonoF)

FIX_00046: Visual C++ Runtimes (dll) now integrated in exe




Change Log v19.3 vs 19.2


Bugs fixed :


FIX_00003: Pause mode is now fully responsive - (Thx to Jonathon Fowler tips)

FIX_00007: game speed corrected. The game speed is now as the real DOS duke3d. Unloading a full 200 bullet pistol must take 45.1 sec. Note (01/2010) New Timer is from the Jonof’s port.

FIX_00008: minor protocol error after frags (NET TRANSPORT ERROR: Unknown command 5)

FIX_00019: DigitalAxis Handling now supported. (cool for medkit use)

FIX_00020: Protect you from assigning a function to the ESC key through duke3d.cfg

FIX_00021: Duke was moving when moving the mouse up/down. Y axis move is disabled.

FIX_00022: Sound effects are now sharper and they sound as in the real DOS duke3d.

FIX_00028: No need to call the videodriver on gameexit()

FIX_00031: Names now limited to 10 chars max that is the fragbar field limit.

FIX_00033: Fake multi and AI are now fully working

FIX_00034: Demos do not turn your run mode off anymore

FIX_00035: allow loading internal con file in the GRP if external con files not found.

FIX_00037: steroids trigger a too many sprite respawn in 1.3 and 1.3d.

FIX_00041: Toggle to hear the opponent sound in DM (like it used to be in v1.3d)

FIX_00044: Markers are now on by default in netgames (as real DOS duke3d)

FIX_00048: entering a level, turning music off in ogg format, entering a new level and turning the music on was crashing.

FIX_00049: /disableautoaim was broken. Now fully working.


Enhancements :


FIX_00002: New Toggle Windowed/FullScreen system now simpler and change dynamically driver dynamically

FIX_00004: SDL.dll and SDL_Mixer.dll are now integrated within the exe

FIX_00005: Mouse pointer can be toggled on/off (see mouse menu or use CTRL-M) to move cursor out of duke

FIX_00006: better naming system for screenshots and faster. Doesn’t make lag anymore. Use ./screenshots folder.

FIX_00009: Show map CRC and GRP file version of each player in case of Out Of Synch

FIX_00010: Hi resolution tunes (*.ogg files) are now first searched in .\tunes\ and then searched in the main folder.

FIX_00013: 3rd person camera view during demo playback can now be turned off (no need to use hacked no-camera maps anymore)

FIX_00014: Added Y cursor setup for mouse sensitivity in the menus

FIX_00015: Forced NumVoices=8, NumChannels=2, NumBits=16, MixRate=44100, ScreenMode = x

FIX_00016: Build in Keyboard/mouse setup.

FIX_00017: heavy autoexec.cfg not needed anymore.

FIX_00018: Removed the "smoothmouse" option. This was just a bad fix. Mouse is now faster, smoother.

FIX_00022: Recognizes shareware/full/atomic grp (v1.3/1.3d/1.4/1.5) and the con files version (either 1.3 or 1.4)  (JonoF's idea)

FIX_00024: A key can be assigned to the new SHOW_INFO function. Display map CRC when in deathmatch.

FIX_00025: Can toggle FPS and map name during a game (use dnrate OR toggle from menu when in deathmatch).

FIX_00026: Weapon can now be hidden (on your screen only).

FIX_00029: toggle cinematics on / off for very fast boot up and exit

FIX_00032: Added multi base GRP manager. Use duke3d*.grp to handle multiple grp.

FIX_00036: Mouse wheel can now be used in menu

FIX_00038: Improved Mouse accuracy (losses of integer computation)

FIX_00042: Build in Video setup.

FIX_00043: Nicer exit on error. Ask the user to hit a key on exits and error exits.

FIX_00045: Autoaim mode can now be toggled on/off from menu

FIX_00050: send game's rev to opponents




Frequently Asked Questions


- Duke slows down and he's almost stuck when I pick up a new weapon or get hit. It gets normal again after 1 or 2 seconds: This bug happens when xDuke is processing some fadding effects and when some application running in the background are using or locking some video ressources, like winamp, bittorrent, Longhorn inspirat theme, and some applications using special video effect. Try shutting them down 1 by 1 and see if it helps. Use Ctrl-Alt-Del under the the process tab to kill invisible applications


- My color are all messed up sometims: simple hit alt-enter to toggle fullscreen\windowed mode. Do it again to get back to your initial mode. It will restore the colors.


- The mouse doesn't work and I see a mouse pointer: hit alt-m, This grabs or frees up the mouse. It's usefull to free the mouse when you are in windwed mode.


- duke is globally slow: you are using a too hi resolution. Lower the resolution in the video options till it's fine. It's useless to run xDuke in your maximum resolution, like 1600x1200. Using 800x600 is way enough. Go in option and select the SHOW FPS option. This will show you the Frames Per Second of the game.


- Keyboard setup menu is slow as hell in 1024x768 resolution mode _only_ : Change that resolution to a lower one, or try using a higher resolution if you've got enough cpu power : if you have got a fast enough CPU, even in higher resolutions than 1024x768, this slowdown won't happen. This is a known slow down bug in the 1024x768 screen resolution, and it will be fixed in the future, if possible : simply avoid it, for now


- Duke is slow when (looking down) on slopes, when getting closer or against to any sprite (even the sprites stuck on walls). Same issue as the previous question. Change the resolution to something else than 1024x768 by setting either a lower or higher one if you have enough CPU power.


- I don't have any *. cfg file: You need only 2 files, the exe and at least 1 *.grp file. Nothing else is needed. The *.cfg will be recreated by xDuke if it's missing.


- Where are the con files? xDuke uses the con files it finds in the grp files, as they are always included in the grp file. External con files are thus not required. You can still use external con files if you like.


- Duke Nukem 3D is now free under the GNU licence. See Licence below.


- To update to a full version, you only need to provide a better duke3d.*.grp as the one provided with the atomic pack. (3Drealms Licence doesn't allow me to distribute the full version of the GRP, this is why this port has a shareware GRP only)


- To play online, report bugs and questions, visit: http://forums.dukesterx.net


- for general support, missing files etc .. see: http://www.vachu.com/duke3d


- To use multiple GRP file, rename them as duke3d*.grp in your duke's folder.


  EG: duke3d.13.share.grp   for the shareware v1.3

      duke3d.13d.full.grp   for the full version of 1.3 (called v1.3d)

      duke3d.15.atomic.grp  for Atomic etc ...


xDuke will ask you what *.grp to use if it finds more than one base GRP file.


- Shareware GRP doesn't allow to play user's maps. You can still play netgames.


- This port was originally started by Icculus (www.icculus.org) then by Dave (www.rancidmeat.com) who gave the name of "rancidmeat" duke3d port. I have included all of his documentation below. Dave's lastest rev was rancidmeat v19.2. I decided to fix bugs and glitches to keep the port alive and renamed the port xDuke as Dave asked it. xDuke port is available at http://duke3d.m-klein.com


- I found a bug. What can I do? Report it in the forums http://forums.dukesterx.net


- What's the "tunes\" folder? This folder contains the new hi-quality arrangements of the Duke3d songs by Mark McWane. If this folder is not found, you will only hear the midi formatted songs. See http://www.markmcwane.com/ for more cool songs!




What kind of Duker are you?

Here is a little quiz to determine what kind of Duker you are. Answer “yes” or “no” to these questions. This test has a high level of accuracy. It may seem weird if you are an occasional player.


1. I have already used nocam maps.

2. I map the medkit on digital axis or keys I use all the time.

3. 3Drealms kinda ruined Duke Nukem with the 1.5 edition by removing opponent sounds and fixing warps.

4. I avoid walking in vents during a deathmatch or keep closing doors.

5. I use RPG inside, shotgun outside but the Pistol is the most powerful weapon in open spaces.

6. Back in 1997, I was always hitting the exit once before starting serious netgames

7. Opponent’s sound is extremely important

8. I’m a mouser or sidewinder user, but the sidewinder users were moving even faster

9. I know how to kill someone hiding in a mirror

10. [FDF] c-eAGLE or Dork~Holly sounds familiar.

11. Strafe + forward are like one single key for me.

12. I can finish Hollywood in less than 15 sec, in “damn I’m good” mode

13. Warps are the coolest things ever created in the whole FPS history.

14. I can stick invisible Trip Mines.

15. Trip mines already saved my ass as I was falling and running out of jetpack.


You have answered yes


0 time: You are normal player. Keep playing good players and never give up. You’ll truly enjoy what you still have to learn.

1 time: You are a good player, already beyond the average. Keep going on, you have a good potential.

2 times: You surely enjoy netgames a lot! You are a real fan and you would beat anybody at 3Drealms :-)

7+: times: You are a hardcore player. A very few people can beat you.

10+: times You are Duke Nukem in person and you are experiencing the highest level of Duke3d’s gameplay. You are detail oriented, perfectionist, you pay attention to the others and your brilliant not only in Duke but also in the every day’s life, as Dro said one day.




Death Match strategy guide by Elastigirl and Co. (Recycled from Wikipedia.)

There are a few things that a player may want to know about before engaging in any Duke Nukem 3D Death Match game to improve his/her skills:




·          Don't stay still. Ensure the player is in run mode, and keep moving. A moving target is harder to hit than a stationary one.

·          Use the mouse to turn left and right rather than using the keyboard. This will improve your aiming accuracy. The keyboard is typically used as Z and C to strafe left and right, X and S for crouching and jumping. Various keys are used for weapons selection, Steroids, Medkit, Jetpack, to send message, and opening doors.

·          You do not need to aim up and down. There is already in-built auto-aiming on the Y-Axis.

·          Assign a Key for the Medkit. Alternatively, it can be assigned on a key that is also used for another function. Eg: bound to Fire or Jump. This way the Medkit is used each time fire or jump is activated.

·          The two most important weapons are the RPG (which is efficient in small spaces, as well as corridors) and the Shotgun. For open spaces, the RPG is not as efficient as it is too slow. In this case, the Shotgun should be the weapon of choice.

·          The Freezer, Devastator, and Pipe Bomb weapons are useless most of the time during a DeathMatch.

·          Do not make camping your main strategy.

·          Get Atomic Health to get 200% Health + Armor + Medkit before fighting.

·          If you are low in health, run rather than fight.




·          Use the Steroids when shrunk. They will get Duke's full size back immediately.

·          Using strafe and forward at the same time will increase the speed about sqrt(2) = 41.4%, like in most old FPS (First Person Shooter) games. Of course, moving this way is more difficult as the player will move diagonally.

·          Put 3 or 4 Trip Mines close to the ground in slopes. They will be invisible and fatal.

·          Use the Steroids and learn to aim at high speeds.

·          Turn off the music, but leave the sound on. Pay lots of attention to the sounds generated by the opponent's events. They will indicate his activity and give you information where he is located.

·          Note that the Pistol is usually underestimated even by very good players. This is the most powerful weapon in large open spaces. A good place to try the pistol is the Stadium level. The pistol is accurate and has long range.

·          Figure out the moves of your opponents and try to anticipate them.

·          When your opponent is on steroids, try to use nightvision goggles, it will help you locating him within that annoying trail.

·          Nightvision goggles also help you to distinguish between holoduke and real duke




·          Get all the important items even if not needed, just to stop your opponent getting them (important items include Atomic Health, Steroids, Medkits, Shotgun and RPG). If you already have the Steroids, activate them in order to be able to pick up a new bottle. If you are already 200% in health, hurt yourself with the RPG or by jumping so you can pick up new Atomic Health.

·          Put trip mines at respawn points, but only if your opponent dies more than you do. Otherwise, you will trap yourself more than trapping the opponent.

·          Learn the warps (NOTE: The warps were actually a bug in the v1.3 engine and were eventually fixed in v1.5, or the Atomic Pack as it is known)

·          Sometimes, you may want to remove frags from your opponents, so they go back to 0 or less (get a negative score). A good way to do this (make sure you have 200% health, full armor and steroids first) is to go in an alley, vent or corridor, and use the steroids to catch your opponent. Stay very close to him and then hit him with the Shotgun. If your opponent shoots you with the RPG, he will hit himself as much as he hits you. Your goal here is to make the opponent's health a bit smaller than your own. At worst, your opponent will shoot an RPG Rocket and both of you will die. At best, you stay alive and the opponent kills himself only, removing 1 frag.

·          Stick trip mines on walls when falling. They will stop you falling, allowing you to avoid crashing at the bottom if running out of jetpack.

·          Play hardcore gamers and talk with them. That’s the only way to improve.


 [ Back to Home ]
xd#m-klein.com. (Replace # by @) Last update: 05-2010

eXTReMe Trackerhttp://e0.extreme-dm.com/s9.g?login=xduke&j=n&jv=n