Duke Nukem Wiki
Advertisement
Duke Nukem Wiki

Source ports are versions of a game that have been modified to allow it to run on a different platform. For Duke Nukem 3D, various source ports are available to make the game compatible with modern operating systems, most commonly Windows.

Source ports of Duke Nukem 3D cannot run without the files from either the shareware version, which can be downloaded for free, or one of the full versions of the game.

Ports for general use

Multiplayer-specific ports

  • EDuke32OldMP – a fork of an older version of EDuke32 with the sole purpose of supporting multiplayer.
  • rDuke – a fork of xDuke with an emphasis on multiplayer functionality. It gets its name from the first initial of its author, Radar.
  • nDuke – a Windows port developed by Sérgio Luis Bertó based on xDuke 19.7.1. It features advanced capabilities for online play.

Historical ports

  • JFDuke3D – a port for Windows, Linux, and other operating systems by JonoF, with help from Ken Silverman. This port was based on the original Duke Nukem 3D source code. Code from JFDuke3D was integral to the development of Duke Nukem 3D: Megaton Edition as well as several future source ports, most notably EDuke32.
  • Duke3dw – a fork by ProASM based on JFDuke3D.
  • icculus.org/duke3d – a port for BeOS, FreeBSD, Linux, Mac OS X, Solaris, Windows, and other operating systems. This port was built from the original Duke Nukem 3D source code.
  • Duke3d_w32 – a Windows 32-bit port by Rancidmeat, based on the Icculus port.
  • xDuke – a Windows port based on Duke3d_w32. This port was often used to play online games.
  • Chocolate Duke3D – a port for Windows, Linux, and MacOS X based on xDuke. This port was meant to preserve and document the Duke Nukem 3D source code for educational purposes.
  • hDuke – a multiplayer port for Windows. This port's development was poorly documented. In 2020, hDuke was temporarily renamed HYANG and later YANG2020. This was likely a play on words, referencing the fact that YANG, a long-established multiplayer launcher for Duke Nukem 3D, shared its name with the Andrew Yang 2020 presidential campaign.

Comparison of ports

EDuke32 Rednukem DukeGDX Raze Megaton World Tour
Renderer
Classic, Polymost, Polymer
Classic, Polymost
Polymost with custom backend
Polymost
Classic, proprietary 3D renderer
Palette emulation
Yes, with optional shade interpolation
Yes
Yes, with optional shade interpolation
Texture only
Unknown
MIDI playback
System MIDI, OPL3 emulator, FluidSynth
Gervill, System MIDI
System MIDI, FluidSynth
Uses bundled recordings instead
Controller support
Yes
No
Yes
Demo playback
No
Yes
No
Support for World Tour episode
With stopgap
No
Yes
No
Yes
Additional features
Expanded CON language
Duke Nukem 64 support
Official expansions integrated into episode select-screen; bundled widescreen sprites
Bundled widescreen sprites
Bundled widescreen sprites; dynamic lighting and normal textures
Duke Nukem 3D
Episodes L.A. MeltdownLunar ApocalypseShrapnel CityThe BirthAlien World Order
Weapons Mighty FootPistolShotgunChaingun CannonRPGPipe BombShrinkerExpanderDevastatorLaser TripbombFreezethrowerIncinerator
Items Access CardsHealth ItemsHolodukeJetpackNight Vision GogglesPortable MedkitProtective BootsScuba GearSteroids
Enemies Assault CaptainAssault CommanderAssault TrooperBattlelord SentryCycloid SentryEnforcerFirefly TrooperOctabrainOverlord SentryPig CopPig Cop TankProtector DroneProtozoid SlimerRecon Patrol VehicleSentry DroneSharkTurret
Bosses BattlelordOverlordCycloid EmperorAlien QueenCycloid Incinerator
Editions ClassicAtomic Edition (Plutonium PAK)20th Anniversary World Tour
Expansions Duke AssaultDuke Caribbean: Life's A BeachDuke It Out In D.C.Duke Nukem 3D Level Design HandbookDuke Nukem's Penthouse ParadiseDuke XtremeDuke: Nuclear WinterDuke!ZONEDuke!ZONE 150Duke!ZONE IIUnofficial Expansions
Community High Resolution PackMods & Total ConversionsSource PortsSpeedrunningUser Maps
Other Build EngineCheat CodesDifficultyDuke Nukem (character)MultiplayerMusicPortsPrototypesQuotesScrapped Content
Advertisement