Tutorial: Running Duke Nukem 3D Official Addons & NAM in RetroPie
-
I've got the Duke Nukem 3D official addons Nuclear Winter, Duke It Out in DC and Life's a Beach running on eDuke32 in RetroPie. They run just as well with all the features of regular Duke Nukem 3D because they're officially supported by eDuke32. You probably already own these if you own Duke Nukem 3D on Steam. (later edit) Also installed NAM!
Installing Duke Nukem 3D Addons
My files came from the Megaton Edition on Steam on Windows and I'm assuming that you'll be modifying files on your RetroPie instance via the Samba network share from your PC. If you have a different version of the game or a different method of modifying files on your RetroPie instance then you should be able to interpret these instructions for the game version and method you have.
-
Install full Duke Nukem 3D Atomic Edition as already documented on the RetroPie setup wiki.
-
Copy the three folders in
C:\Program Files (x86)\Steam\steamapps\common\Duke Nukem 3D\gameroot\addons
from your PC to your\\RETROPIE\roms\ports\duke3d
folder. This means you will havenw
,dc
andvacation
subfolders. -
In
\\RETROPIE\configs\ports\
, make three copies of the\\RETROPIE\configs\ports\duke3d
folder, renaming them to,duke3d-nw
,duke3d-dc
andduke3d-vacation
. -
In each of the three folders, edit
eduke32.cfg
so thatSelectedGRP = "nwinter.grp"
,"dukedc.grp"
and"vacation.grp"
respectively, instead of plain"duke3d.grp"
Change any other settings you want for these addons, like maybe some Christmas-themed taunts for Nuclear Winter or some political taunts for Duke It Out in DC. -
\\RETROPIE\configs\ports\duke3d\emulators.cfg
in the duke3d config folder normally looks like this:
eduke32 = "/opt/retropie/ports/eduke32/eduke32 -j/home/pi/RetroPie/roms/ports/duke3d"
default = "eduke32"
Change
\\RETROPIE\configs\ports\duke3d-nw\emulators.cfg
to look like this:eduke32 = "/opt/retropie/ports/eduke32/eduke32 -g nw/nwinter.grp -x nw/nwinter.con -j/home/pi/RetroPie/roms/ports/duke3d"
default = "eduke32"
(Note the
-x nw/nwinter.con
. You need that.)Change
\\RETROPIE\configs\ports\duke3d-dc\emulators.cfg
to look like this:eduke32 = "/opt/retropie/ports/eduke32/eduke32 -g dc/dukedc.grp -j/home/pi/RetroPie/roms/ports/duke3d"
default = "eduke32"
Change
\\RETROPIE\configs\ports\duke3d-vacation\emulators.cfg
to look like this:eduke32 = "/opt/retropie/ports/eduke32/eduke32 -g vacation/vacation.grp -j/home/pi/RetroPie/roms/ports/duke3d"
default = "eduke32"
- In
\\RETROPIE\roms\ports
make three copies ofDuke Nukem 3D.sh
.
Name the first one
Duke Nukem 3D - Nuclear Winter.sh
and it should say:#!/bin/bash
"/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "duke3d-nw" ""
Name the second one
Duke Nukem 3D - Duke It Out In DC.sh
and it should say:#!/bin/bash
"/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "duke3d-dc" ""
Name the third one
Duke Nukem 3D - Lifes a Beach.sh
and it should say:#!/bin/bash
"/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "duke3d-vacation" ""
Installing NAM
My files came from NAM on Steam on Windows and I'm assuming that you'll be modifying files on your RetroPie instance via the Samba network share from your PC. If you have a different version of the game or a different method of modifying files on your RetroPie instance then you should be able to interpret these instructions for the game version and method you have.
-
Copy
GAME.CON
,NAM.GRP
andNAM.RTS
to a new folder you make called\\RETROPIE\roms\ports\duke3d\nam
. The Windows Steam version of NAM has these files located inC:\Program Files (x86)\Steam\steamapps\common\Nam\NAM
. -
Rename
GAME.CON
toNAM.CON
. -
In
\\RETROPIE\configs\ports\
, make a copy of the\\RETROPIE\configs\ports\duke3d
folder, renaming itnam
. -
Edit
\\RETROPIE\configs\ports\nam\eduke32.cfg
so thatSelectedGRP = "NAM.GRP"
and choose some taunts about giving free helicopter rides to Commies. -
Edit
\\RETROPIE\configs\ports\nam\emulators.cfg
to look like this:
eduke32 = "/opt/retropie/ports/eduke32/eduke32 -nam -g NAM.GRP -x NAM.CON -j/home/pi/RetroPie/roms/ports/duke3d/nam"
default = "eduke32"
- Add a file
\\RETROPIE\roms\ports\NAM.sh
which should say:
#!/bin/bash
"/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "nam" ""
Try it out!
I'm hoping that this is a temporary solution and we can eventually get launch scripts for these automatically generated by the RetroPie setup script along with launchers for official addon packs for other source ports of other games. I kept the addon files in separate folders so that users don't get confused about which maps belong with which addons. Any suggestions on improving this or on what I'd need to make a PR to add these configs and launchers to the setup script would be much appreciated.
-
-
Wauw.. Amazing job. I just tested this out and it works perfectly. Thank you so much :)
Do you think a similar method could be used to get some unofficial expansions working as well?
-
Please correct me if I'm wrong, but I think unofficial expansions are usually just map packs which load as custom maps from the base game. This means that if you put them there, they should be accessible by selecting "User Map" when you start a new game. If that is not correct then sure, a similar method will probably work.
The official addons are not like the unofficial map packs. They provide a different set of assets from the base game besides just maps. They'll load as "User Maps" but they'll have missing textures showing up as awful glitches almost everywhere if you don't launch as instructed here.
There are also a few other build engine games which eDuke32 supports which we might try to get working as well.
It might be better if we could treat grp and ssi files as "ROMs" for one eDuke32 emulator configuration instead of four but I'm not sure how much work that would require.
-
Hey man thanks a BUNCH for this!
I like your instructions too, it was really 'for dummies', as much as i love the pi project alot of guides and such are a bit too vague on how to get things to work, i love the 'go to this exact directory, open this exact cfg, and paste this exact line' etc.
Working like a charm.
-
@megafacehead said in Tutorial: Running Duke Nukem 3D Official Addons in RetroPie:
I like your instructions too, it was really 'for dummies', as much as i love the pi project alot of guides and such are a bit too vague on how to get things to work, i love the 'go to this exact directory, open this exact cfg, and paste this exact line' etc.
Thanks. I don't know why, but many developers seem to assume everyone has mind-reading powers.
-
Awesome tutorial @BenMcLean !
Maybe you should put this on the Wiki! Anyone with a GitHub account can edit the Wiki.
Or if you want me to put it on there, I can. -
Nice guide.
guess its time to hunt down my copy of Duke in DC..... question where did i put it.....
-
@backstander said in Tutorial: Running Duke Nukem 3D Official Addons in RetroPie:
Awesome tutorial @BenMcLean !
Maybe you should put this on the Wiki! Anyone with a GitHub account can edit the Wiki.
Or if you want me to put it on there, I can.I was thinking of going more hardcore than that, and making this a part of the Duke3D setup script in RetroPie itself so it would detect these addons and make launchers automatically.
Unfortunately, I'm more familiar with Windows batch scripting than with Linux bash scripting so it may take some time to translate this.
-
@BenMcLean said in Tutorial: Running Duke Nukem 3D Official Addons in RetroPie:
I was thinking of going more hardcore than that, and making this a part of the Duke3D setup script in RetroPie itself so it would detect these addons and make launchers automatically.
I'm not exactly sure about this but wouldn't this be illegal? I mean, the script is installing the shareware version and the expansions doesn't seem to be freeware as far as I know.
-
@Brigane
If it's going to be officially part of RetroPie, I think the step to copy over the data from your Steam directory on your PC would have to be done manual by the end user. You would have to have already purchased the game through Steam first as well. -
@backstander said in Tutorial: Running Duke Nukem 3D Official Addons in RetroPie:
@Brigane
If it's going to be officially part of RetroPie, I think the step to copy over the data from your Steam directory on your PC would have to be done manual by the end user. You would have to have already purchased the game through Steam first as well.That is correct. There are no legal issues with adding a check in the setup script to see if the content is present and auto-generating launchers for it if it is already present. RetroPie already has what I am suggesting for Final Doom and for Quake 1's official mission packs. (But not for Doom 2, bizarrely enough. I'd like to fix that as well)
-
I fixed the issue with needing all the files to be in the same folder (separate folders means you can keep user maps for separate addons separate) plus I got NAM running. Will be updating the instructions with info on this.
OK, ready! I did an overhaul of the instructions. For those who installed before, it shouldn't be too hard to tweak your existing install to work like my instructions now suggest.
-
Nam breaks duke3d and expansion packs now. I wrote on your wiki guide all about it. If anyone can find a fix I'd love to know what it is.
-
Two days ago I discovered the Duke 3D version one the raspberry. I would like to get the full version of duke 3D, but I can't find where and how to get it. would it help to get the original CD of duke and replace the RTS and GRP files or doesn't it work this way?
I also have the original plutonium pack (somewhere) on CD
Can anyone help me getting the regular full version? -
@kreoon You just have to replace the Grp file with the one from a full version
-
@polygaryd said in Tutorial: Running Duke Nukem 3D Official Addons & NAM in RetroPie:
Nam breaks duke3d and expansion packs now. I wrote on your wiki guide all about it. If anyone can find a fix I'd love to know what it is.
Pi 3b+
retropie 4.4.1
canna kit power supply
64gb sandisk class 10 micro sd card
upgrade from jessie to stretch, originally made from stock retropie imageFound A fix and is still applicable in retropie 4.7.1 :
So duke3d and all its expansion/custom levels run without issue until running 'NAM. 'NAM will run and continue to run every time you start it up but it changes the eduke32.cfg file located in opt/retropie/configs/ports/duke3d or (.etc/eduke32 in retropie 4.4.1)on its own and breaks Duke3d and all expansion packs till you manually modify eduke32.cfg selectedgrp field back to duke3d.grp. I've tried multiple times and nam breaks duke 3d and any expansion packs every single time.
To avoid this change the permissions on the eduke3d.cfg file so no one can change it. You can now run duke 3d, the expansion packs, and nam without anything breaking or having to modify anything after running nam.'
Sorry to necro post but I wrote this on a guide to install Duke3d on retropie and then when being forced to make a whole new image for to go from stretch to buster I couldnt find the post on github I originally wrote this on.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.