Monday, August 21, 2017

Doom for Modern Linux

This game was released in 1993 and is considered a pioneer in 3D gaming. Previous games from id Software were 2D.

While the original game might be playable in DosBox, There are more modern ports with greater stability and wide platform support. One of the ports, prboom, is available for Mageia6 (and MS-Windows and many other platforms). Based on the release of the original source code; it uses the SDl library.

prboom is one of those rare Linux things that has been fixed enough that everything works. It offers a true-to-the-original gameplay rather than updating the game with modern features like ZDoom, EDGE, and Eternity Engine. prboom emulates the games engines from the different versions of DOOM; it is also compatible with the demo version of DOOM.

$ sudo urpmi prboom 

installs the game in  /usr/games and run the first time with no arguments creates .prboom in your home directory, which is where you will place your *.wad files (referred to as IWADs.

Mageia6 also provides the man freedoom wads in the freedoom package and installs them at

/usr/share/games/doom/freedoom1.wad
/usr/share/games/doom/freedoom2.wad

To install the freedoom IWADS,

$ sudo urpmi freedoom

The freedoom Docs are worth a read and can be found in /usr/share/doc/freedoom/README.html 

So, in answer to the classic meme "Can it run Doom?", launch the first game:

$ prboom -iwad /usr/share/games/doom/freedoom1.wad

Yes, this was considered groundbreaking in 1993, but you can see who far 3D gaming has progressed in 24 years.

The ArchLinux Wiki has excellent instructions on how to configure and launch prboom.

Graphical Frontend for DOOM

Mageia does not provide a graphical frontend for launching Doom games. There is one available from enyo-doom, Doomseeker, Super Shotgun Launcher, qzdl, and DoomLauncher.

I chose to use DoomLauncher (download) . As a java jar, it should work cross-platform. Placing it in ~/bin/, I wrote a script simply named doom to launch it (and don't forget to chmod +x.)
#!/bin/sh# launch DoomLauncherjava -jar ~/bin/DoomLauncher.jar
Once running, initial configuration is not obvious at first.


Begin by clicking on Engine: ...  and select the path to prboom. You can install multiple different game engines if you desire.

Next, click on Iwad: ... and select the path to your IWADs.

Once you have selected your game engine and your IWAD, click on Launch to start the game.

NOTE: The GUI does not do well upon your exit from the game. You need to close it and start it again. Otherwise, it appears to work well.

RESOURCES

ArchLinux Wiki

Zandronum Wiki

Playing SDL_mixer games with soundfonts

PrBoom+

 Troubleshooting JAR File Associations for DoomLauncher

Doomworld Wiki




No comments: