If an Atari 800 is what got me into computers, then it was DOOM that got me into networking. Sounds strange right? But prior to DOOM (1993), I had no interest in adding any network cards to my MS-DOS machine. For much of the 90s, most households only had a single computer. And while I still had multiple computers at that time (my beloved childhood Ataris), I only had the one MS-DOS machine. Networking was still something for reserved for offices—not something I needed or wanted at home. DOOM online was a long way away (or so I thought).

Enter DOOM.

DOOM clones and the birth of a genre

Like a certain pair of plumber “brothers,” DOOM is one of those game titles everybody’s heard of. First released by id Software on December 10, 1993, it’s often called “The Father of First-Person Shooters (FPS),” even if it’s a bit of a misnomer: DOOM was not technically the first FPS game. There were other FPS games before it, including Midimaze on the Atari ST. In fact, it wasn’t even the first release from id Software, with Catacomb 3D and the venerable Wolfenstein 3D both coming before DOOM.

1993 DOOM on 4 installation disks.
4 disks, all DOOM.

Yet, the influence that DOOM had/has on gaming cannot be overstated. DOOM single-handedly popularized the entire FPS genre, some much so that it remains far and away the dominant gaming genre 28 years later. At the time of DOOM’s 1993 release, “first-person shooter” wasn’t even a common term. But for years after DOOM’s first release, all FPS-type games were simply referred to as DOOM clones. So while DOOM may not have been the first of its genre, it’s certainly the game that revolutionized it.

Welcome to the proto-LAN party

DOOM is also notable for popularizing networked gameplay (what we call “multiplayer” games today). How popular? DOOM has the distinction of being the only game to have its own reserved spot in the universal list of well-known ports. Yes, you read that right. IANA has port 666 reserved for DOOM. (Editor’s note: I was “today years old” when I learned this!)

DOOM animated gif
Some classic DOOM for MS-DOS, 1993

While single-player DOOM is fun, DOOM with multiple MS-DOS machines connected together was literally next level (pun intended). Two players was a simple enough set up: just connect two machines together with serial cables. And with that first taste of multiplayer, I was hooked. I wanted more!

A typical 90s LAN party. Image: devRant.com
A typical 90s LAN party. Image: devRant.com

Three or more players required network hardware, and at the time, network gear wasn’t exactly common for home use. Network Interface Cards (NICs) were a special order item at the local computer stores, as were hubs. Armed with only poorly written, photocopied manuals, it was a challenge to get the machines talking to each other, but my friends and I managed to make it work. And the payoff was worth it.

“But can it play DOOM?”

DOOM is also well known for the near cult-like programming challenge that has risen up around it. “Can it play DOOM” became the ultimate underground question engineers, developers and programmers would joke about. But over time, it became more than just a joke. More and more people took to trying to make anything with a processor play DOOM.

Today, DOOM has been ported to just about everything you can think of. In the years after its initial release on MS-DOS, it’s been officially ported to almost every game system, including:

Being a big Atari fan, I loved the Atari Jaguar port. My Jaguar is even connected to my living room TV today. Outside the MS-DOS original, it’s definitely the version that I’ve clocked the most hours on.

While the list of official ports is impressive, the list of unofficial ports is staggering. Over the years, DOOM has been ported to many and strange devices, here’s just a few for consideration:

DOOM on a calculator
DOOM on a calculator = yes
DOOM on a pregnancy test
DOOM on a pregnancy test? Positive.
DOOM on a 1982 ZX Spectrum
DOOM on a 1982 ZX Spectrum? 8-bits of yes!
DOOM on an ancient Kodak digital camera
DOOM on an ancient Kodak digital camera? Click for yes.
Doom on a Peloton
Doom on a Peloton? That’s a workout.
 

DOOM on a toaster?! OK, this isn’t real, but it’s still awesome.

It’s all good and fun to chat history of video games, but I’m being told we’re a serious blog that talks about serious topics. So let’s get to what we’re all here for…

Test: Can Auvik play DOOM?

Tiny spoiler alert!

I’ve actually managed to get Auvik to play a game before. In one of my previous articles on Auvik’s remote management features, I used the remote terminal feature to play Zork over SSH on a VM running the Frotz emulator.

This time around, we’ll be using the remote browser to get DOOM playing within Auvik. All we need to do is find a way to run a MS-DOS emulator over HTTPS. Here’s the steps so you can follow along!

1. I started by installing Ubuntu 18.04 server in a VM. First, let’s make sure everything is up-to-date. From your terminal:

sudo apt-get update
sudo apt-get upgrade

2. Let’s make a directory to put all the required files into:

mkdir ~/DOOM
cd ~/DOOM

3. Next, we need to copy the JS-DOS emulator files to our VM:

wget https://js-dos.com/6.22/current/js-dos.js
wget https://js-dos.com/6.22/current/wdosbox.js
wget https://js-dos.com/6.22/current/wdosbox.wasm.js

4. Of course, we’ll need to copy either the shareware version of DOOM or the full version to the ~/DOOM folder.

5. Then we need a web server:

sudo apt-get install npm
sudo npm install -g serve

6. We’ll need to make a quick and dirty index.html file to call JS-DOS. I used nano to create the file:

nano index.html

Here’s what I put inside the index.html file:

<html>
<head>
  <title>DOOM</title>
  <script src="js-dos.js"></script>
  <style>
    html, body, canvas, .dosbox-container {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden;
    }
  </style>
</head>
<body>
  <canvas id="jsdos"></canvas>
  <script>
    Dos(document.getElementById("jsdos"), {
        wdosboxUrl: "wdosbox.js",
        cycles: 1000,
        autolock: false,
    }).ready(function (fs, main) {
      fs.extract("DOOM.ZIP").then(function () {
        main(["-c", "DOOM.EXE"]).then(function (ci) {
            window.ci = ci;
        });
      });
    });
  </script>
</body>
</html>

7. Lastly, we just need to launch our basic web-server:

serve -l tcp://0.0.0.0:8080

Now we can navigate to our VM in Auvik (Because I previously already had a Hypervisor in Auvik, the new DOOM VM just showed up. Need help setting up VMware?):

virtual machine screenshot
browser port screenshot

And launch the remote browser:

Success! If you followed the steps, DOOM can now launch via the remote browser in Auvik.

DOOM menu screen

This was a lot of fun to try. Got a favorite DOOM port to share? Have any questions about the process? Hit a stumbling block? Want to see us try something else? Leave us a comment below! I guess we can now say, yes:

IT RUNS, DOOM
  1. Salva Alcántara Avatar
    Salva Alcántara

    Absolutely brilliant!

  2. Paul Colussi Avatar
    Paul Colussi

    Lawrence you never fail to impress

  3. Joshua Hillock Avatar
    Joshua Hillock

    This is so Rad!

Leave a Reply

Your email address will not be published. Required fields are marked *