Building a Retro Linux Gaming Computer
Part 38: The Stagnant Demesne

By Hamish Paul Wilson
First published on 2024-01-29

Continued from Part 37: Dashing Through the Snow

Return to Index

When I first got the original Linux port of Doom working it was done to satisfy my curiosity, as at that point, I had no intention of playing through the whole game yet again. This being Doom though I soon found myself drawn in, and before long I was back facing the Icon of Sin at the end of Doom II. There were some oddities I encountered. I was unable to complete "E4M6: Against Thee Wickedly" without the no clipping cheat, as the bars blocking the exit failed to rise even after defeating the Cyberdemon.

The Ultimate Doom was only supported on Linux through the use of a fan patch, but Doom II proved buggier. While perched on a ledge towards the end of "MAP14: The Inmost Dens" I saved, causing me to clip into the floor on reload. Then there was that one area in "MAP24: The Chasm" that segfaulted every time I entered it. Finally the boss battle on "MAP30: Icon of Sin" broke when I loaded my save file, with no new enemies spawning in allowing me to snipe the demon's brain at my leisure.

Most documentation on this bug suggests the game should instead crash, but I was able to continue playing and win the game. Doubtless none of these problems would have happened had I been using LxDoom, which also has proper binary compatibility with Final Doom, but it was more interesting this way. This also made me inclined to try playing all of Heretic and HeXen, a feat I had never managed up to that point. Would I encounter any more issues with these early source ports?

Andre Werthmann's Linux Heretic proved solid with just a couple of exceptions. Every time I reached one of the boss levels the soundscape descended into a cacophony that could not be tamed even by fiddling with the volume slider in the sound settings. The only solution I found was going outside of the game to lower the system volume from Aumix, and then raising the volume slider inside Heretic to compensate as best I could. This did not break the game, but it did make things unpleasant.

The other snag I encountered was with moving platforms that loop the "stnmov" sound effect, as they could also cause all of the other sound effects in the vicinity to break. This only came up a few times during the course of the campaign, but it created a great deal of chaos with the crushers in the starting room of "E4M3: Ambulatory". I notice that the Linux Doom source code has a function that forces the "stnmov" sound among others to play one at a time, but Linux Heretic lacks this.

Beyond that I just have a few gripes with a couple of the changes that Werthmann made, the most irksome being the decision to remap the keys used to scroll through the inventory to "K" and "L" as opposed to the square brackets that are still listed on the help screen. Thankfully this can be reversed by uncommenting the "-DORIG_INVKEYS" flag in the Makefile while building your own Linux Heretic binaries. I also disabled the text blurb on launch by removing it from the d_main.c file.

My abiding observation of Heretic is that it is the rare shareware game where the second and third episodes are in fact greater than the first. It was from here that I was having enough fun to bother looking for all of the marked secrets, which was the right move; getting familiar with how Raven Software likes to hide secret areas and how to read the automap becomes a necessary skill for solving the puzzle hubs in HeXen, but the automap colour scheme does leave something to be desired.

This goodwill sadly does not carry through to the final two retail expansion episodes, which descend into tedium far too quickly. "E4M1: Catafalque" gives "E4M1: Hell Beneath" from Thy Flesh Consumed a run for its money in terms of punishing the player, giving as unwelcoming an introduction as you could ever hope to find. Beyond that the expansion just becomes a slog, having nothing new other than the sheer vastness of the hordes of monsters on offer to bring to the table.

The drawn out Maulotaur fights can at least be subverted by using the Tome of Power and the Gauntlets of the Necromancer to leech off the Maulotaur's health, cushioning his blows to the point you just have to hold down the fire key and wait. You will also develop a special hatred of the Ophidians by the end of the campaign, a role the Slaughtaurs in HeXen are more than happy to fill come the sequel; the Disciples of D'Sparil though are far more aggravating than the Bishops in HeXen could ever aspire.

Perhaps it was just due to my lack of prior exposure, but the Heretic soundtrack also seemed to carry over to "VoxWare Synth" even better than the Doom music did, although this may just be due to the work of composer Kevin Schilder being more blaring and bombastic than what Bobby Prince came up with. Kevin Schilder would return to craft the MIDI soundtrack for HeXen, and thanks to an unassuming tarball on an archived website, I will get to actually experience that under Linux.

Carrying on in Part 39: Beyond Heretic

Avatar

Hamish Paul Wilson is a free software developer, game critic, amateur writer, cattle rancher, shepherd, and beekeeper living in rural Alberta, Canada. He is an advocate of both DRM free native Linux gaming and the free software movement alongside his other causes, and further information can be found at his icculus.org homepage where he lists everything he is currently involved in.

http://www.icculus.org/~hamish

Comments

You can use your Fediverse (including Mastodon, among many others) account to reply to this post. You can also follow my Mastodon to be notified when new parts of this series are released.

Further reading and resources:

The source code for Linux Heretic 1.03 can be downloaded here:

https://www.doomworld.com/3ddownloads/ports/linux-heretic-1.03.tar.gz

And the function that forces Linux Doom to play certain sounds one at a time can be seen here:

https://github.com/id-Software/DOOM/blob/master/linuxdoom-1.10/i_sound.c#L283

Further links and information for Linux Heretic can be found by reading Part 16.


Licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)