Doom Netplay (How To)

tinkering
network
gameshell

#1

DoomNetplay

Doom (etc) Networking

Nothing beats having Doom, Heritic or your other favorite wads on the go. But what-about having your favorite ID games on the go? Be the talk of the LAN Party when you pull out your GameShell running Doom! Woah! This post will get you on your feet and in the right direction when it comes to getting your GameShell to network with other devices via Doom.

Theres no doubt in my mind this will be flawless for Heretic, Doom2, and other WADs, but for the sake of this post, I only tested using a retail copy of Doom.

Prerequisites

You’ll want Chocolate-Doom operational on your Clockwork GameShell. If you dont already have those installed and working (for atleast single player), I recommend following this post on getting Chocolate-Doom up and running. I also use WinSCP for getting files to the :video_game: :shell:.

The shortcuts

For my super simple, rough and dirty test, I wrote two scripts. A hosting shell script and a joining shell script.

Hosting

chocolate-doom -iwad /home/cpi/games/Doom/doom.wad -server -privateserver -deathmatch`

Be sure to replace my iwad directory with where your iwad’s are. if you followed the forum post I referenced earlier, this should be the same exact directory. -server was ran because we want to host a server. Easy. I dont have port forwarding setup, but I ran -privateserver just in case, to keep my server off the master list. If you wanna get extra fancy, you could even do something like -servername <name> to give your little server a name. Add -dedicated if you dont want to play on the Gameshell, but just run a server. Drop -deathmatch if you want a little Co-op game (I think?).

If you are hosting a game, you’ll find yourself at a little DOS like screen waiting for players. Once everyone has connected, hit SELECT on your gamepad to start the game.

Joining

chocolate-doom -iwad /home/cpi/games/Doom/doom.wad -autojoin

Using -autojoin here because it makes joining a LAN game easier! Though feel free to use -connect <address> if you want to bake a IP address into your script.

Make it pretty, damnit!

I love making things look nice. So I made this icon for the related scripts above:
DoomLAN
Make sure the *.png matches the *.sh names.

Troubleshooting

I see "D_InitNetGame: Failed to connect when trying to join!
Theres several different reasons for seeing this screen:

  • Version Mismatch
  • Wrong IP Address Provided
  • Your -autojoin parameter isnt working, try using -connect <IP> instead.
  • Your server & client are on different networks

Cool. But what about Heretic, Hexen? Freedoom?
I only tested quickly with what I had available. Toy around with the scripts and you should be able to get it working.

What other nifty parameters are there to use?
Check out the Chocolate-Doom Wiki! They have a page here on that.

The Chocolate-Doom Wiki FAQ is super helpful for anything else.


Happy Fragging!


#2

How’s the latency? I tried netplay 2player Mario and it wasn’t perfect.


#3

Ran fine for me. Remember this is going through Chocolate-Doom, not RetroArch or other emulator.


#4

It worked good for me too.