Building a Retro Linux Gaming Computer
Part 34: Abusing the System

By Hamish Paul Wilson
First published on 2023-11-06

Continued from Part 33: I Hate Mondays

Return to Index

Having already played the Abuse Linux shareware, the next step seemed to be getting my hands on the registered version. The game was briefly sold through mail order by Crack dot Com starting in 1995, but these discs are incredibly hard to find, making my getting a copy an almost impossible task. Abuse was later picked up to be published by Origin Systems and Electronic Arts in 1996, with this updated version known as Abuse 2.0 being sold without Linux support.

This was the version that tossed the alien ant storyline and had you become a prisoner escaping from a riot of genetic mutants, now said to be taking place in the far flung year of 2009. Clearly not everything was an improvement, but it was this release that would have its source code opened up in 1997, allowing for the creation of source ports. Origin Systems also hid the game data behind an MS-DOS based installer on the CD-ROM, forcing me to run the installer through DOSBox first.

The obvious route was to go with Abuse-SDL, the anointed successor still packaged by most Linux distributions, but I was never entirely happy with it. While I was able to get the 0.7.0 release of Abuse-SDL to work, the sound effects had a ringing distortion to them I was not able to resolve, and I was also unable to get OpenGL acceleration to function. While neither of those had to be deal breakers, we do like our Linux esoterica here, and there were still a few other options I could try.

The first alternative I stumbled across was a 1999 build of the Abuse 2.0 source code by Bill Adams, bundled with the demo data in the linux_abuse_v2.tgz archive. Unlike Abuse-SDL this functions the same as the original Abuse Linux port by Crack dot Com, featuring an SVGAlib and an X11 binary limited to 8 bit colour depth. In fact, this X11 build is even more nerfed, as the expanded resolution support is now limited to just the level editor. Thankfully the SVGAlib version here does work.

There were no issues with the sound effects, although the game did seem to be capped at a lower frame rate, and there were drawing issues with the scrolling backgrounds. The next port I found was packaged by the since disgruntled Debian contributor Joey Hess, which I pulled from the final released package for Debian 3.0 Woody. This again was a straightforward build of the Abuse 2.0 source code, but it ran without any drawing errors. This was the source port I ultimately settled on.

The next issue was the music. Unlike the original mail order Abuse, the retail release includes a full MIDI soundtrack composed by Bobby Prince, but the game only supports the use of an external sound module rather than standard FM synthesis. Since then compilations of the game's HMI files converted to be standard MIDI tracks have been released online, allowing me to craft a script to play a loop of random tracks using playmidi and the /dev/sequencer device of my sound card.

As expected the tracks were not composed with a Sound Blaster 16 in mind, but even in general, I find that the MIDI sequencer on Linux often needs to be massaged a bit by assigning just the right instruments, the sounds of which I have taken to calling "VoxWare Synth" after the original name of the Open Sound System. Thankfully playmidi allows you to remap channels to force the use of specific instruments, as the default choices for percussion in particular are often cacophonous.

Of course there is nothing stopping me modifying my playmidi script for use with additional games, with the most obvious other candidate being to bring over the music to the Linux version of XEvil. I wrote the scripts to be MIDI player agnostic, but as most games will lock the /dev/dsp device file anyway, this limits the use of a software synthesiser such as timidity. I think it fair to say most played Abuse without hearing the soundtrack, with many feeling it ruins the atmosphere of the game.

Even the most recent Abuse-SDL version still struggles with playing the tracks in the right order, with the hacked support first being taken from a forked port to the PlayStation Portable. Struggle being a key word in relation to Abuse, with the title being a reference to the designer's intention to abuse the player. Like with most bullies it is best not to rise to it, although in this case you should also be prepared to just run when necessary too. At least you are immune to your own explosives.

You also get all your health back upon loading a save, making the game a long march between save stations punctuated by a great deal of death. No challenge is as insurmountable as it first appears, although I will single out Level 10 for harsh judgment, with its central gimmick of forcing you to keep the brown flyers alive to lower the force field at the start feeling like the work of an amateur modding team. Which just so happens to lead us neatly into our next installment.

Carrying on in Part 35: The New Stories

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 Abuse 2.0 build I extracted from the Debian Woody package can be downloaded here:

http://icculus.org/~hamish/dianoga/abuse-2.0-woody.tar

The Debian Package Tracker for the Abuse package can be found here:

https://tracker.debian.org/pkg/abuse

The Abuse 2.0 build with the shareware data by Bill Adams can be downloaded here:

http://icculus.org/~hamish/dianoga/linux_abuse_v2.tgz

A guide on compiling the Abuse 2.0 source code on Linux also by Bill Adams is archived here:

http://evil.inetarena.com/linux/compiling-abuse.php3

Dave Taylor's announcement of the release of the Abuse source code to Linux Gazette can be read here:

http://www.ods.com.ua/win/eng/unix/lgmirror/issue22/gm.html

My script for playing the Abuse music with playmidi can be found here:

http://icculus.org/~hamish/dianoga/abuse-playmidi.sh

My script for playing the XEvil music with playmidi can be found here:

http://icculus.org/~hamish/dianoga/xevil-playmidi.tar

The Abuse website created by Origin Systems is archived here:

http://www.origin.ea.com/crackdotcom/index.html

And the current website for Abuse-SDL can be reached here:

http://abuse.zoy.org


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