RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Tutorial: Running Duke Nukem 3D Official Addons & NAM in RetroPie

    Scheduled Pinned Locked Moved General Discussion and Gaming
    duke3deduke32duke nukem
    16 Posts 7 Posters 8.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • BenMcLeanB
      BenMcLean
      last edited by BenMcLean

      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.

      1. Install full Duke Nukem 3D Atomic Edition as already documented on the RetroPie setup wiki.

      2. 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 have nw, dc and vacation subfolders.

      3. In \\RETROPIE\configs\ports\, make three copies of the \\RETROPIE\configs\ports\duke3d folder, renaming them to, duke3d-nw, duke3d-dc and duke3d-vacation.

      4. In each of the three folders, edit eduke32.cfg so that SelectedGRP = "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.

      5. \\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"

      1. In \\RETROPIE\roms\ports make three copies of Duke 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.

      1. Copy GAME.CON, NAM.GRP and NAM.RTS to a new folder you make called \\RETROPIE\roms\ports\duke3d\nam. The Windows Steam version of NAM has these files located in C:\Program Files (x86)\Steam\steamapps\common\Nam\NAM.

      2. Rename GAME.CON to NAM.CON.

      3. In \\RETROPIE\configs\ports\, make a copy of the \\RETROPIE\configs\ports\duke3d folder, renaming it nam.

      4. Edit \\RETROPIE\configs\ports\nam\eduke32.cfg so that SelectedGRP = "NAM.GRP" and choose some taunts about giving free helicopter rides to Commies.

      5. 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"

      1. 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.

      B 1 Reply Last reply Reply Quote 3
      • BriganeB
        Brigane
        last edited by Brigane

        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?

        Systems: Raspberry Pi 0/2/3 Model B+
        Os: RetroPie 4.5
        Frontend: Emulationstation & Attract Mode

        1 Reply Last reply Reply Quote 0
        • BenMcLeanB
          BenMcLean
          last edited by BenMcLean

          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.

          1 Reply Last reply Reply Quote 1
          • M
            megafacehead
            last edited by

            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.

            BenMcLeanB 1 Reply Last reply Reply Quote 2
            • BenMcLeanB
              BenMcLean @megafacehead
              last edited by

              @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.

              1 Reply Last reply Reply Quote 2
              • B
                backstander @BenMcLean
                last edited by

                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.

                BenMcLeanB 1 Reply Last reply Reply Quote 1
                • ExarKunIvE
                  ExarKunIv
                  last edited by

                  Nice guide.

                  guess its time to hunt down my copy of Duke in DC..... question where did i put it.....

                  RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                  RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                  Maintainer of RetroPie-Extra .

                  1 Reply Last reply Reply Quote 0
                  • BenMcLeanB
                    BenMcLean @backstander
                    last edited by

                    @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.

                    BriganeB 1 Reply Last reply Reply Quote 1
                    • BriganeB
                      Brigane @BenMcLean
                      last edited by

                      @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.

                      Systems: Raspberry Pi 0/2/3 Model B+
                      Os: RetroPie 4.5
                      Frontend: Emulationstation & Attract Mode

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        backstander @Brigane
                        last edited by

                        @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.

                        BenMcLeanB 1 Reply Last reply Reply Quote 0
                        • BenMcLeanB
                          BenMcLean @backstander
                          last edited by BenMcLean

                          @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)

                          1 Reply Last reply Reply Quote 1
                          • BenMcLeanB
                            BenMcLean
                            last edited by BenMcLean

                            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.

                            P 1 Reply Last reply Reply Quote 2
                            • P
                              polygaryd @BenMcLean
                              last edited by polygaryd

                              @BenMcLean

                              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.

                              P 1 Reply Last reply Reply Quote 0
                              • K
                                kreoon
                                last edited by

                                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?

                                BriganeB 1 Reply Last reply Reply Quote 0
                                • BriganeB
                                  Brigane @kreoon
                                  last edited by

                                  @kreoon You just have to replace the Grp file with the one from a full version

                                  Systems: Raspberry Pi 0/2/3 Model B+
                                  Os: RetroPie 4.5
                                  Frontend: Emulationstation & Attract Mode

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    polygaryd @polygaryd
                                    last edited by polygaryd

                                    @polygaryd said in Tutorial: Running Duke Nukem 3D Official Addons & NAM in RetroPie:

                                    @BenMcLean

                                    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 image

                                    Found 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.

                                    1 Reply Last reply Reply Quote 1
                                    • First post
                                      Last post

                                    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.