I first heard of DOOM on Usenet, when people would say “I can't wait to get rid of DOS, but I still need DOS to play DOOM.” Wait no longer. I first played DOOM a few days ago while running X on my Linux box.
I was rather skeptical. I play very few computer games, and not very often. When I do, they are usually games or clones of games like Minesweeper, Tetris, Mahjongg, Golddig, and those rare card games whose rules I am able to comprehend. I have never particularly enjoyed adventure games of any sort, until I played DOOM. Now my wife is worried I'm becoming addicted.
David Taylor (of Id, the company that wrote DOOM) recently completed a port of DOOM to X under Linux, and asked me to review it. I unpacked it (approximately 5MB worth), read the README.linux file (this is important if you have never played the game, because it explains how to move, shoot, and open doors, among other things), and played. And played. And played.
The first thing I noticed was incredibly smooth scrolling. And it's fast enough that I'm able to navigate well without feeling disoriented. I've seen other adventure games played under DOS and the scrolling has always been so rough that I could barely tell if the character was turning right or left.
The second thing I noticed was that although it is a shoot-'em-up game, it's not nearly as bloody as I had been lead to believe. Anyone who has seen video arcade games or the evening TV news should not be terribly bothered by the violence; you'll be too busy learning the floor plan and how to navigate to notice the blood, if I'm any judge.
DOOM is shareware. There are three adventures in the DOOM family; the first one is free, no strings attached, no guilt clauses telling you to register after 15 days or face legal action or moral rot. However, if you like the first adventure, there is a (reasonable) fee for purchasing the second and third adventures. I personally prefer this to guiltware (what Linus calls “limited-trialperiod shareware”).
My best recommendation for this product is that it is the first adventure game that has held my interest for more than a few minutes. My best recommendation against it is that you shouldn't start to play it if you don't have lots of spare time to devote to this game. You can blow away your friends by playing over the network. (I haven't tested this, but it's probably well done if it resembles the rest of the game.) Sound is supported if you have a sound card. I don't have one so I can't comment on the sound effects but I found the game perfectly playable with no sound.
A few tips (some of which are in the README.linux file, but you might miss them):
If the screen is too dark to see easily, use the F11 key to change the “gamma correction”. There are four levels of gamma correction; press F11 repeatedly to cycle through them until you find the one you like best.
Use a low-resolution video mode while playing DOOM. 640x480 looks good to me; DOOM uses a 320x200 window.
If you are using fvwm as your window manager, you may have kept some default key settings that move you around on the virtual desktop. Some of these keys may be used as movement keys and, because of the combinations you can have, almost any SHIFT-, CONTROL-, or ALT-ARROW key combination may be used in DOOM. You might consider an alternate .fvrmrc file which does not set up these keybindings.
Michael K. Johnson is the editor of Linux Journal, and is also the author of the Linux Kernel Hackers' Guide. He welcomes your comments.
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems
Join editor Bill Childers and Bit9's Paul Riegle on April 27 at 12pm Central to learn how to keep your Linux systems secure.
Free to Linux Journal readers.Register Now!
- Cluetrain at Fifteen
- Embedding Python in Your C Programs
- Getting Good Vibrations with Linux
- New Products
- Memory Ordering in Modern Microprocessors, Part I
- [<Megashare>] Watch Mrs Brown's Boys Movie Online Full Movie HD 2014
- Customizing Vim
- Security Hardening with Ansible
- RSS Feeds
- Tech Tip: Really Simple HTTP Server with Python