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

Splitwolf: 2-4 player co-op Wolfenstein 3D on RetroPie

Scheduled Pinned Locked Moved General Discussion and Gaming
wolfensteinmultiplayerco-op gamesports retropiewolf3d
16 Posts 10 Posters 6.1k 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.
  • L
    lazd
    last edited by lazd 24 Jan 2019, 21:12

    I'm proud to announce that Splitwolf is now available on RetroPie! That's right, you can frag Nazis with up to 4 players on the big screen.

    image 4

    Gameplay video courtesy of jpsplat:

    Installation

    1. If you already own Wolf3D or Spear of Destiny, dump all the files directly into roms/ports/wolf3d/ (no sub-folders)
    2. Run RetroPie Setup
    3. Select "Update RetroPie-Setup Script"
    4. Select "Manage Packages"
    5. Select "Manage experimental Packages"
    6. Select "splitwolf"
    7. Select "Install from Source"

    Building from source takes a while, but after installation, you'll be able to launch Splitwolf from the Ports menu in EmulationStation.

    Game data

    Game files should be added to roms/ports/wolf3d/ before installation without sub-folders. If not present, the install script will download the shareware versions of Wolf3D and Spear of Destiny.

    If you add new game data after install, simply run the following to create new shortcuts:

    sudo ~/RetroPie-Setup/retropie_packages.sh splitwolf configure
    

    What's different about Splitwolf?

    Besides, of course, support for 1-4 players, Splitwolf brings a number of improvements.

    Full game controller support

    Splitwolf has been moved to SDL2 and has support for tons of game controllers, with many improvements:

    • Modern FPS controls (strafe/move with left stick, rotate with right stick)
    • Smooth gamepad controls let you strafe, turn, and creep up slowly behind your enemies
    • Support for SDL_GameControllerDB with controller mappings for all known game controllers
    • Ability to remap all 13 supported gamepad buttons
    • Ability to map pause/escape to button on gamepad
    • Ability to map change player color key on gamepad
    • Ability to map show/hide minimap on gamepad
    • Ability to map strafe left / right buttons on gamepad
    • Ability to map turn left / right buttons on gamepad
    • Ability to zoom minimap with gamepad right stick Y axis
    • Ability to set per-gamepad sensitivity settings (so you can turn faster without pressing run)

    yje9gkr

    Enhanced keyboard and mouse controls

    • Support enabling/disabling moving with mouse (player 1 only)
    • Support mapping strafe left/right and weapon prev/next to keyboard keys

    Full-color mini-map

    Splitwolf's minimap makes it so you know where you're going and where your brothers in arms are at all times.

    sodext

    New game modes

    In addition to co-op classic Wolfenstein 3D gameplay, Splitwolf brings 9 new game modes:

    1. Instagib
      You have only one life, but your weapons only take one shot to kill. Watch out, because so do the enemy's weapons!

    2. Defuse the bomb
      A bomb is spawned somewhere in the level, players must find and defuse it before time runs out, only then will the elevator unlock!

    3. Carry the Flag
      One player must carry the flag to the end of the level before the time runs out. You can't shoot when you have the flag, but you can impale Nazis with it or pass it to your friend with the use key!

    4. Vampire
      Drink the blood of your enemies to survive! Spawn with all weapons and infinite ammo and try to finish the level before your blood bar drains.

    5. Harvester
      Harvester pillars are placed randomly around the level, and after each kill, a skull is spawned on the pillars. You must find a pillar and collect the skull before the countdown ends to stay alive!

    6. Mutant BJ
      All of your enemies are zombie BJs with random weapons!

    7. Rampage
      Put your dukes up and knock your enemies out with fists of fury! Keep your adrenaline up to instagib enemies with one punch.

    8. Zombie
      Nazi zombies are attacking! Kill them by ganging up on them with shots from multiple players, otherwise they reanimate!

    9. Zombie Harvester
      Just like harvester, but with Nazi zombies that reanimate for an added challenge.

    New weapons

    Splitwolf brings the pain with an armored vehicle equipped with a mounted gatling gun!

    unknown

    There's also a deployable MG42 machine gun so you can splatter Nazis like it's going out of style.

    sw_release2

    Exploding barrels

    You can find them mixed in with groups of barrels, keep an eye out!

    Tons of new art

    From 8-way boss sprites to gib animations, Splitwolf brings a ton of new art that fits perfectly with the existing look of the game.

    sw_release1

    sw_release5

    Known issues

    Help, my controller doesn't seem to be mapped correctly

    If your controllers have analog triggers, they may not be recognized or mapped correctly due to a customization to the way RetroPie handles triggers. Try editing /etc/modprobe.d/xpad.conf and change options xpad triggers_to_buttons=1 from 1 to 0 and restart.

    Help, my controller is still not mapped properly

    1. Connect your controller
    2. Follow the instructions here under "Adding calibration"
    3. If it maps correctly, add the resulting string to /opt/retropie/ports/splitwolf/bin/gamecontrollerdb.txt
    4. Launch Splitwolf and bind all your buttons

    Unfortunately, your gamecontrollerdb.txt will get blown away when you update Splitwolf, but this should work for finicky controller setups.

    Sometimes when I unpause the game, it fires uncontrollably

    Yeah, we can't figure it out. Please comment on the issue if you see this issue. Press a few buttons and it'll stop.

    Support

    For RetroPie-specific Splitwolf support and questions (RetroPie installation, game files, etc), post on the RetroPie forums.

    For general Splitwolf support and questions (how to build, support for other platforms, map packs, etc), post on the Team Raycast forums.

    If you already have Splitwolf up and running and you've found a bug (glitch with the game, crash while playing, etc), please report it using the Splitwolf issue tracker.

    If you've found a bug with the RetroPie Setup installer, please report it using the RetroPie-Setup issue tracker.

    DO NOT USE ISSUE TRACKERS FOR GENERAL SUPPORT OR QUESTIONS, YOU WILL NOT BE HELPED!

    See the Splitwolf wiki for additional details, compilation instructions, game mode instructions, etc.

    Splitwolf also runs on PC, check out the Splitwolf ModDB page for builds. Note that PC builds have not been published with the new gamepad support and keyboard/mouse enhancements -- RetroPie gets it first!

    Credits

    None of this would be possible without the hard work of the following people:

    Multiplayer framework, new game modes: LinuxWolf
    Gamepad support, configuration UI, and RetroPie implementation: lazd
    Additional art: DoomJedi, Untrustable, Atina, PSTrooper, ArmanAhmadi
    Title Screen: Atina
    Title Screen Font: Tormentor667
    SDL Port: Moritz "Ripper" Kroll (http://www.chaos-software.de.vu)
    Original Wolfenstein 3D: id Software (http://www.idsoftware.com)
    RetroPie: Jools Wills (@BuZz) and the rest of the RetroPie contributors

    B 1 Reply Last reply 24 Jan 2019, 21:22 Reply Quote 9
    • B
      BuZz administrators @lazd
      last edited by 24 Jan 2019, 21:22

      @lazd thanks!

      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

      1 Reply Last reply Reply Quote 1
      • D
        detron
        last edited by 24 Jan 2019, 23:23

        I do not have time to play this in the next year (school, and a second job) but in about 14 months, I will have to play with this. it looks great.

        THANK YOU!

        1 Reply Last reply Reply Quote 1
        • L
          lazd
          last edited by lazd 25 Jan 2019, 07:03

          @BuZz thanks again for all the help getting the RetroPie-Setup script code in, and for your work on RetroPie in general. You and the rest of the RetroPie contributors have created an amazing vehicle for people to enjoy old games in new ways, and it's awesome. Keep up the good work!

          1 Reply Last reply Reply Quote 1
          • D
            DoomJedi
            last edited by 25 Jan 2019, 07:21

            @BuZz Yes, big thanks for you from me and all "Team RayCast" for all your help and support. And from Wolf3D modding community.

            1 Reply Last reply Reply Quote 0
            • topic:timeago-later,4 months
            • S
              spartrekus
              last edited by spartrekus 6 Jan 2019, 19:00 1 Jun 2019, 17:38

              shareware version works.

              Note that the full version of splitwolf could be likely too working, but also the shareware:

              here it is the md5 of the full:
              ~/games/WOLF3D $ md5sum *
              a41af25a2f193e7d4afbcc4301b3d1ce AUDIOHED.WL6
              2385b488b18f8721633e5b2bdf054853 AUDIOT.WL6
              a4e73706e100dc0cadfb02d23de46481 GAMEMAPS.WL6
              b8d2a78bc7c50da7ec9ab1d94f7975e1 MAPHEAD.WL6
              dec8939cff5a4ec27ae7b43e8f52ec28 VGADICT.WL6
              8b40b5b785f898e229bf1c2f2e3ee003 VGAGRAPH.WL6
              8e75e3ffb842ed3d08abe6ffea97b231 VGAHEAD.WL6
              b8ff4997461bafa5ef2a94c11f9de001 VSWAP.WL6
              56f24e74ad4fe1836b0ac9047e59df78 WOLF3D.EXE

              ibm-pc/wolfenstein-3d-v1.4-shareware

              MD5 hash: 26dfc7e545439cdbe723154d870c5835 *WOLF3D/CATALOG.EXE
              MD5 hash: 92a8bc5d67547281ace8b4abf7e5dc47 *WOLF3D/DEALERS.EXE
              MD5 hash: 3ffe897960956fe85d76abe4c584501e *WOLF3D/SWCBBS.EXE
              MD5 hash: 87b311d6383c5df2aad6f4963d13995c *WOLF3D/WOLF3D.EXE

              Type: HDD
              ID: 1e199a1c9fe50e48923a0e56c0e40bb2
              Tracks: 16
              Sides: 16
              Sectors: 63
              Total sectors: 16128
              MD5: 61dc83a9d32997f321cc4ff00140d5b9

              Entry: N/A N/A 12 /
              Entry: 19900101000000 58aa1b9892d5adfa725fab343d9446f8 1156 /AUDIOHED.WL1
              Entry: 19900101000000 4b6109e957b584e4ad7f376961f3887e 132613 /AUDIOT.WL1
              Entry: 19900101000000 30fecd7cce6bc70402651ec922d2da3d 27425 /GAMEMAPS.WL1
              Entry: 19900101000000 7b6dd4e55c33c33a41d1600be5df3228 402 /MAPHEAD.WL1
              Entry: 19900101000000 063d3bfda9c014b6395c1aa952ad2f8b 5714 /ORDER.FRM
              Entry: 19900101000000 eccc7fc421f3d1f00e6eabd6848637f6 7641 /VENDOR.DOC
              Entry: 19900101000000 76a6128f3c0dd9b77939ce8313992746 1024 /VGADICT.WL1
              Entry: 19900101000000 74decb641b1a4faed173e10ab744bff0 326568 /VGAGRAPH.WL1
              Entry: 19900101000000 61bf1616e78367853c91f2c04e2c1cb7 471 /VGAHEAD.WL1
              Entry: 19900101000000 6efa079414b817c97db779cecfb081c9 742912 /VSWAP.WL1
              Entry: 19900101000000 80ff45d34b91148cd92894b383f875f9 33161 /W3DHELP.EXE
              Entry: 19900101000000 998945a6c0cedc2634b539a26b7f60a6 109959 /WOLF3D.EXE

              where to place wolf3d-full dir?

              1 Reply Last reply Reply Quote 0
              • D
                dma
                last edited by 2 Jun 2019, 07:20

                Wow nice, thanks for the inclusion!

                1 Reply Last reply Reply Quote 0
                • S
                  Solid One
                  last edited by Solid One 6 Feb 2019, 17:40 2 Jun 2019, 16:32

                  Wow wow ! That's awesome! Gotta test it on my RPi2 ASAP.

                  BTW, I tested the Windows version today, and I couldn't map the right analog stick to look. Is the windows version updated, just like the Raspberry version?

                  M 1 Reply Last reply 2 Jun 2019, 16:38 Reply Quote 0
                  • M
                    mitu Global Moderator @Solid One
                    last edited by 2 Jun 2019, 16:38

                    @Solid-One Easy with the swearing, we're trying to keep this forum suitable for kids also.

                    S 1 Reply Last reply 2 Jun 2019, 16:40 Reply Quote 0
                    • S
                      Solid One @mitu
                      last edited by 2 Jun 2019, 16:40

                      @mitu Ops, sorry. Lemme edit that.

                      1 Reply Last reply Reply Quote 0
                      • topic:timeago-later,8 days
                      • S
                        Solid One
                        last edited by Solid One 6 Oct 2019, 12:59 10 Jun 2019, 11:41

                        I've tested SplitWolf yesterday on my RPI2 and I confirm that it worked. However, I got some issues that I don't know for sure where to report them, so for now, lemme post them here.

                        The first one is about automatic game data detection. I copied Wolf3D and Spear of Destiny data files (both full versions) to "rom/ports/wolf3d" folder, and I've even renamed all files in order to make them lowercase. Spear of Destiny worked fine, but Wolf3D gave me the error below:

                        Wolf4SDL was not compiled for these data files:
                        vgahead.wl6 contains a wrong number of offsets (162 instead of 150)!
                        
                        Please check whether you are using the right executable!
                        (For mod developers: Perhaps you forgot to update NUMCHUNKS?)
                        

                        After analysing how splitwolf works, I noticed there's various binaries for each game version: one for Wolf3D shareware, other for Wolf3D full, another for Spear of Destiny (both demo and full), etc. And you have to use the right binary according to your game version. In the case of the Retropie version, it tries to detect automatically which is your game version by looking into the md5sum of the "vswap.wl6" or "vswap.sod" files, and based on that, it chooses its respective binary file.

                        The problem relies exactly in the md5sum game version detection in the splitwolf.sh file, from RetroPie-Setup:

                        function launch_splitwolf() {
                        local wad_file="\$1"
                        declare -A game_checksums=(
                        ['6efa079414b817c97db779cecfb081c9']="splitwolf-wolf3d"
                        ['a6d901dfb455dfac96db5e4705837cdb']="splitwolf-wolf3d_apogee"
                        ['b8ff4997461bafa5ef2a94c11f9de001']="splitwolf-wolf3d_full"
                        ['b1dac0a8786c7cdbb09331a4eba00652']="splitwolf-sod"
                        ['25d92ac0ba012a1e9335c747eb4ab177']="splitwolf-sodmp --mission 2"
                        ['94aeef7980ef640c448087f92be16d83']="splitwolf-sodmp --mission 3"
                        ['35afda760bea840b547d686a930322dc']="splitwolf-spear_demo"
                        )
                        ...
                        }

                        Inside the "launch_splitwolf" function, I noticed that the checksums for "splitwolf-wolf3d_apogee" and "splitwolf-wolf3d_full" are swapped, and that was making splitwolf uses the binary for "apogee" version, instead of "full" version. After making the change below, it worked:

                        ['b8ff4997461bafa5ef2a94c11f9de001']="splitwolf-wolf3d_apogee"
                        ['a6d901dfb455dfac96db5e4705837cdb']="splitwolf-wolf3d_full"

                        Just for confirmation: the md5sum of my "vswap.wl6" is exactly "a6d901dfb455dfac96db5e4705837cdb". And I don't remember seeing any Apogee mentions on the Wolf3D version I have here.


                        The second one is about controller mappings. I used this adapter, with two PS2 controllers plugged:
                        alt text

                        When I opened the game the first time, I noticed that the right analog was wrongly mapped: when I press up, the player looks left, and when I press down, the player looks right.

                        I noticed that SplitWolf now uses SDL_GameControllerDB, in order to automatically detect and map buttons for a lot of different controllers. I followed the instructions mentioned in "Help, my controller is still not mapped properly" section, downloaded libsdl, compiled "controllermap" and run the following commands:

                        hg clone http://hg.libsdl.org/SDL
                        cd SDL/tests
                        gcc controllermap.c -lSDL2 -I/usr/include/SDL2 -o controllermap
                        ./controllermap 0

                        After pressing the buttons on my controller, I got a line similar as the one below:

                        03000000100800000100000010010000,Twin USB Joystick,a:b22,b:b21,back:b28,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b26,leftstick:b30,lefttrigger:b24,leftx:a0,lefty:a1,rightshoulder:b27,rightstick:b31,righttrigger:b25,rightx:a3,righty:a2,start:b29,x:b23,y:b20,platform:Linux,
                        

                        However, there's already a very similar line in "gamecontrollerdb.txt" file, in the Linux section, line 573:

                        03000000100800000100000010010000,Twin USB PS2 Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,
                        

                        Assuming the line already exists, then it should work. And after a lot of tests and analysis, I got it to work by adding the line below, in "launch_splitwolf" function:

                        function launch_splitwolf() {
                        local wad_file="\$1"
                        declare -A game_checksums=(
                        ['6efa079414b817c97db779cecfb081c9']="splitwolf-wolf3d"
                        ['a6d901dfb455dfac96db5e4705837cdb']="splitwolf-wolf3d_apogee"
                        ['b8ff4997461bafa5ef2a94c11f9de001']="splitwolf-wolf3d_full"
                        ['b1dac0a8786c7cdbb09331a4eba00652']="splitwolf-sod"
                        ['25d92ac0ba012a1e9335c747eb4ab177']="splitwolf-sodmp --mission 2"
                        ['94aeef7980ef640c448087f92be16d83']="splitwolf-sodmp --mission 3"
                        ['35afda760bea840b547d686a930322dc']="splitwolf-spear_demo"
                        )
                        if [[ "\${game_checksums[\$(get_md5sum \$wad_file)]}" ]] 2>/dev/null; then
                        export SDL_GAMECONTROLLERCONFIG="$(cat $md_inst/bin/gamecontrollerdb.txt)" #This is the line I've added
                        $md_inst/bin/\${game_checksums[\$(get_md5sum \$wad_file)]} --splitdatadir $md_inst/bin/lwmp/ --split 2 --splitlayout 2x1
                        else
                        echo "Error: \$wad_file (md5: \$(get_md5sum \$wad_file)) is not a supported version"
                        fi
                        }

                        The reason why I think this worked: Splitwolf wasn't using "gamecontrollerdb.txt" file, and instead, was using default control mappings, probably identical mappings from Xbox360 controllers (I confirmed it by removing "gamecontrollerdb.txt" file, then running SplitWolf, and the results was the same as before). In order to make Splitwolf use the controller mappings from that file, you have to put its contents inside a environment variable called SDL_GAMECONTROLLERCONFIG. And that's exactly what the line above does.

                        For now, that's it. Can you guys tell me where's the right place to post the issues above? In your bitbucket repo? Or in RetroPie-Setup github repo?

                        L 1 Reply Last reply 28 Jun 2019, 03:59 Reply Quote 0
                        • topic:timeago-later,18 days
                        • L
                          lazd @Solid One
                          last edited by lazd 28 Jun 2019, 03:59

                          @Solid-One Thanks for putting in the work to troubleshoot your issue!

                          As far as the MD5s, you can verify the MD5s on the RetroPie wiki here, which are used for both wolf4sdl and splitwolf. It does seem you have the GT/ID/Activision/Bethesda (Steam/GOG.com) version of the game files, so it's very confusing as to why you had to swap the binaries out... I would urge you to try again with clean game files, perhaps something got mixed up.

                          As far as your controller mappings issue, I could definitely see something like that happening; that was one of the last things I put together, and it's possible I screwed something up between when I implemented it and the release. The environment variable fix you've proposed is quite a bit simpler than reading the file in directly, which is what I did here.

                          If your fix works, I think you'd need a pull request against the splitwolf repo to remove the reading in of the file (optional, as it does not seem to error when the file isn't present, which explains why it may be silently failing right now), as well as a pull request against RetroPie-Setup repo to add that line to the start script.

                          That said, I think it would make more sense to put gamecontrollerdb.txt within the ~/RetroPie/roms/ports/wolf3d/ folder and read it in from there, but that will require modifying the install script to copy the file to that location since it currently comes from the Splitwolf build.

                          In the mean time, I'm glad you're enjoying Splitwolf, and thanks for coming back with detailed troubleshooting information when you ran into problems! And yes, you're right, only the RetroPie version got the benefit of the SDL2 port and GameController work. Maybe @linuxwolf will update the Windows builds at some point, but I think RetroPie is the right audience for the project, so maybe not!

                          S 1 Reply Last reply 1 Jul 2019, 13:10 Reply Quote 0
                          • S
                            Solid One @lazd
                            last edited by 1 Jul 2019, 13:10

                            @lazd Yes, there's the probability that any of my Wolf3D files got mixed up. I'll check this out later, so forget it for now.

                            About the controller mappings, although my workaround of tweating the environment variable worked, I don't think it's a better approach than reading the file directly from Splitwolf's source code. Instead, it'd be interesting to implement a routine that, when unable to read / parse gamecontrollerdb.txt, then show the errors in the screen (or any kind of log), instead of silently failing. However, putting gamecontrollerdb.txt in the ~/RetroPie/roms/ports/wolf3d/ is a interesting idea, since it'll become easier to add new lines if necessary, and it won't be lost on future updates.

                            Anyway, I'll post those suggestions above in splitwolf repo as soon as possible. And since I'm gonna post issues there, I'll post some suggestions for the project that I got yesterday when I was playing SplitWolf on my RPi2 at home.

                            1 Reply Last reply Reply Quote 1
                            • topic:timeago-later,about a year
                            • F
                              f33dbacknz
                              last edited by 1 Oct 2020, 06:52

                              Hi there! I know Im bumping an old post but I need some help.

                              Im getting errors when running the configure script and im not sure if thats why I cant see the full wolf3d (gog version). I tried renaming the files toilower case and that didnt work either, the game still boots into the shareware version.

                              9aac5be6-3d60-4969-9b51-da4c9c35d69c-image.png

                              894e6997-9cf4-4498-b8d5-ed7cd5a046dd-image.png

                              Thanks in advance!

                              M 1 Reply Last reply 1 Oct 2020, 20:31 Reply Quote 0
                              • M
                                mitu Global Moderator @f33dbacknz
                                last edited by 1 Oct 2020, 20:31

                                @f33dbacknz The error printed during installation can be fixed by installing the rename package (via sudo apt install rename). Try installing it the package and then re-run the installation for splitwolf.

                                Z 1 Reply Last reply 1 Oct 2020, 23:39 Reply Quote 0
                                • Z
                                  zerojay @mitu
                                  last edited by 1 Oct 2020, 23:39

                                  @mitu said in Splitwolf: 2-4 player co-op Wolfenstein 3D on RetroPie:

                                  @f33dbacknz The error printed during installation can be fixed by installing the rename package (via sudo apt install rename). Try installing it the package and then re-run the installation for splitwolf.

                                  It should be added as a dependency of splitwolf then.

                                  1 Reply Last reply Reply Quote 0
                                  4 out of 16
                                  • First post
                                    4/16
                                    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.

                                    This community forum collects and processes your personal information.
                                    consent.not_received