Doom: The Aftermath

The Doom as a tool for system administration web page was Slashdotted before I had a chance to wrap it up. However, I suppose that's not a bad thing because now thousands of people are thinking about it, and probably hundreds are hacking away at the code. The main things I wish I had time to do before the project was publicized:

An ambush!

Responses to frequently asked questions

Where did the code go?
Go to the the Sourceforge page to get it.
What are they "researching" down there at the University of New Mexico?
The people I work with are in the Computer Immunology Group and the Adaptive Computation Group at the University of New Mexico. Many of us here think about computers as living systems and about living systems performing an implicit computation. And of course, there's the Santa Fe Institute.
Are your changes GPL?
Yes. Feel free to build on it. Or scrap my changes and start on another Doom port.
Why can the player be killed?
The process-player interaction is sometimes adversarial. The process would like to run and suck up resources while the user would like other things to have these resources. Think of it as a fight for the memory and cycles of a computer. The processes need a way to defend themselves. As far as they're concerned, the guy with the kill command is the most dangerous thing out there.
Why can processes kill each other?
On very heavily-loaded machines, it is not uncommon for the OS to kill random processes. Why not allow the processes to decide among themselves who should live and who should die?
When will this be ported to Windows?
I don't do windows anymore, but someone else might. If I find out about a windows port, I'll post a link on this page.
Are you publishing this?
A paper on this work was presented at the CHI 2001 Conference on Human Factors in Computing Systems. See the blurb under the "References in print" section below for more information.
Where can I download regular Doom?
You can find various Linux ports of Doom at Doomworld. There are several Windows versions at this site as well, such as WinDoom.

Under heavy fire.

How to get a copy of PSDoom for Linux

  1. Go to to get the latest version.
  2. You may need to Download the wad file from id Software.
  3. If you are using the id-supplied wad file, the processes are in the large courtyard on the first level. To find it, go over the zig-zagging path over the green acid and "open" the discolored wall (hidden door) to the right near the door.
  4. Try not to shoot the monster that represents your primary shell.
  5. I will not assume any liability for damage caused from running this code. Especially if you are running it as root. In fact, we both know that this will cause damage to the system, and that's why you want to try it. You have been warned.

Kill or be killed.


I hope the programming community will eagerly run with this Doom idea, so I think that many exciting developments will come from others. For this reason, I will try to post links to interesting implementations here. I won't have much time to really try them all out myself, so it's up to you folks to judge them.

Taking out that last shell.

A few of the links:

CHI 2001 presentation.

The references in print:


Thanks to Stephanie Forrest's research group for providing a fertile environment for new ideas and to all who have mailed me interesting responses to PSDoom.

Dennis Chao