EDuke32 on OSX
I played a bit with the Icculus.org Duke Nukem 3D sources today. I wanted to have a native OSX binary for no reason (heck.. even the original PowerPC only binary from 3D Realms1) runs superfast inside the Rosetta emulation).
Unfortunately my efforts with that port lead to nowhere since the resulting binary crashes at startup while reading the IWAD file. It smelled like a lot of work2) to do and so I googled a bit for other Duke ports.
I found Jonathon Fowlers work which is pretty much amazing but also dated. Seems like he lost interest in it a few years ago (but don't miss to check out his fantastic website over here). I had success compiling his version of the build engine on OSX Leopard (with some changes), but failed with the actual game part. Maybe I'll get back to it later again…
Another candidate was EDuke32 which is available here. It is not as fancy as Jonathons work at first sight3) but I had more success in compiling it into a working binary. And what a result I got!
This enhanced version of Duke Nukem 3D is all that I ever wanted to have. Among other things it features:
- fast OpenGL rendering (it get like 170 fps
) - good looking 8,16 and 32bit textures
- cool lightning effects
- fancy MD2 models
- enhanced event-based game scripting system
- cross-platform
- augmented map editor
Kudos to Jonathon Fowler, Ken Silverman, Matt Saettler, TerminX, Plagman and the whole EDuke32 Team! You have done a great job!
Screenshots
Downloads
Game-data files
To be able to run the game you need the original game-data files. Either extract them from your game CD or get them from GOG (the whole process is described elsewhere).
If you are desperate and just need a few demo levels to run the game then you can also grab the old DOS shareware version of Duke Nukem 3D and extract the data files from it:
- 3DRealms Duke Nukem 3D Shareware (Version 1.3)
OS X 10.4 Tiger
Binary-only distribution:
You need the Duke Nukem 3D game-data files (either Full- or Shareware version) to run one of these.
- EDuke32 1.4 for INTeL (Version 2008-06-30)
- EDuke32 1.4 for PowerPC (Version 2008-06-30)
- EDuke32 1.5 for PowerPC (Version 2009-03-13 / 2009-03-26)
- EDuke32 2.0 Universal (Version 2010-05-27)
Ready-to-run application:
This is a special distribution with everything packed into an application bundle. Download, drag the Duke Nukem icon into your Macintoshs Application folder and run it from there:
- EDuke32 1.4 Universal (Version 2008-06-30)
- EDuke32 2.0 Universal (Version 2010-05-24)
OS X 10.5+ Leopard/Snow Leopard
Binary-only distribution:
You need the Duke Nukem 3D game-data files (either Full- or Shareware version) to run one of these.
- EDuke32 1.4 for INTeL (Version 2008-06-30)
- EDuke32 1.4 for PowerPC (Version 2008-06-30)
- EDuke32 1.5 for INTeL (Version 2009-03-13 / 2009-03-16)
- EDuke32 2.0 for INTeL (Version 2010-04-03)
- EDuke32 2.0 for PowerPC (Version 2010-04-03)
- EDuke32 2.0 Universal (Version 2010-05-27)
Ready-to-run application:
This is a special distribution with everything packed into an application bundle. Download, drag the Duke Nukem icon into your Macintoshs Application folder and run it from there:
- EDuke32 1.4 Universal (Version 2008-07-09)
- EDuke32 2.0 Universal (Version 2010-02-18)
- EDuke32 2.0 Universal (Version 2010-04-05)
- EDuke32 2.0 Universal (Version 2010-05-24)
Installation
There are three different types of installation:
- Get the “ready-to-run application” distribution that fits your version of OSX; drag the icon onto your Macintosh drive and run it from there.
- Get one of the binary-only distributions and the Shareware game-data file provided here (or use the contents from your 3DReals Duke Nukem CD)4) and install it like described below.
- Get the source code and compile it on your own and run your own binaries (see below).
Method 1. is the easiest and no further action has to be taken to get the game up and running. If you choose either 2. or 3. you have to get the game-data files as well and extract them into a folder named: /Users/YOUR_NAME/Library/Application Support/EDuke32/
In certain cases it might help if you download this ZIP and put its contents into your EDuke32 folder. Please note that you might have to edit the config files by hand and do some changes to it (like en/disabling automatic load of game addons).
You will find more informations about installation and EDuke32 in general in the EDuke32 Wiki over here.
High-Resolution Pack
There is a must-have addon available that replaces the original graphics with high quality textures. The game looks way better with them installed. You will find it here.
Starting with the new POLYMER renderer there is also a new HRP collection available:
While the new EDuke32 renderer Polymer is still work-in-progress, considerable improvements regarding HRP contents have been made. We thought this is reason enough to provide you with a beta build of the upcoming Polymer HRP so you can see for yourself what the next stage of our facelift for Duke3D will look like. Download Polymer HRP v4.2.054 Preview (405 MB), and you will notice the changes immediately without having to mention what's new. ;)
EDuke32 stores its game-data files inside your Application Support/ folder (just like any other Macintosh application does it). You will find the folder inside your Home under Library/Application Support/EDuke32/. Simply create a new folder called autoload/ and in there another one called duke3d.grp/ and put the HRP and all the other .ZIP files in there. Don't extract them!
I came to the conclusion that it might be a good idea to do some sort of a HowTo movie that explains all needed steps to get EDuke32 including HRP running out of the box on a Mac. It took me less than 10 minutes and no illigal downloads to fire up the first level in OpenGL - it's really that simple. Enjoy this video: EDuke32_HowTo.m4v
Please note that the design of this webpage has changed a little bit since the creation of the video and looks different - also some links may have changed!
Known problems
- Some of the HRP textures slow down rendering performance on ATI massively
- Saved games are not compatible between SVN releases (delete the .sav files before you upgrade)
- In certain cases you have to edit the eduke32.cfg config file (see discussion tab)
- Sound FX may only work at 8bit (change from 16 to 8 bit via Sound Setup menu)
Feel free to jump into channel #EDuke32 on irc.freenode.net and ask if you encounter strange problems.
Sample Videos
Here is a sample video displaying the new HRP + POLYMER features of EDuke32 on Mac OS X. Please note that the game play got stuck some times, partly because of the parallel screen recording and partly because of the high demands on CPU and GPU. You better have a fast Mac to try this.
And here are some recordings I took on my 2.16GHz iMac using the screen recording software ScreenFlick (former ScreenCast). Please note that these files are huge! Don't click on them as it might trash your browser session! Better right-click and save the files.
- Sample video with High-Resolution textures (68MB MOV)
- EDuke32 rendered in 3D anaglyphic mode (960MB MOV)
Compiling the source
If you don't trust my binaries all you have to do is to grab the source distribution and unpack it into some folder. You need to have Xcode installed: Xcode 3.x/(Snow) Leopard and Xcode 2.x/Tiger are confirmed working. The sources are still a little bit different to the original sources found on the EDuke32 webpage.
Change into the eduke32/ folder and edit the Makefile. You only need to define the root directory of your SDL installation. For example: if you have MacPorts (aka Darwinports) installed then point SDLROOT to /opt/local.
Note: If you get sourcecode versions released after january 2010 you only need to edit the file: eduke32/Apple/Makefile.shared. In most cases you only have to change the APPLE_TARGET to match your setup.
That's all you have to configure. You can create a eduke32 binary by running “make” now.
- Version 2008-12-16 Sources with diffs added and minor fixes
- Version 2009-01-31 NASM patch included
- Version 2009-03-13 Starting with the 2009 releases you only need to edit the “build/Makefile.shared” file and do all the needed changes in there
- Version 2010-01-17 Moved everything into a central Apple/Makefile.shared - so everything is at a single place
- Version 2010-01-23 New PPC patches
- Version 2010-02-13 All patches + workaround for apple compiler problems (LIBTOOL vs. AR)
- Version 2010-02-16 POLYMER works!
- Version 2010-04-02 Changed supplemental Apple libraries
- Version 2010-05-24 Lots of code changes








