ROTT (Rise Of The Triad) for Mac OS X

ROTT, or "Rise of the Triad", is a first-person shooter for the PC dating back to 1995, with some very innovative features for its time. It is still enjoyable to play today, despite its block-based graphics engine (an evolved version of the kind of engine used by Wolfenstein 3D). As a 2002 Christmas present, 3D Realms (called Apogee back then) have released the source code to the public.

Important note

Recently, an official re-issue of almost all 3D Realms games has become available as the ‘3D Realms Anthology’. It includes ROTT! The Steam release of the Anthology runs on Mac OS X, therefore you should consider buying it if you like to play retro games like this. It does require a fairly recent version of OS X, but it will definitely be less of a hassle than to get the port working that you can download here.

Download

This is an OS X port of ROTT, which uses the cross-platform SDL libraries for graphics & sound (you need to install these separately in order to run the game!) I fixed some issues with the game, compiled it, added instructions and packed it in a bzipped tar file, so you can play it without having to do all kinds of obscure things. You can extract this file by simply double-clicking it, or in the Terminal with the command "tar -xjf ROTT_OSX.tbz".

The download only includes the game engine. You won't escape from reading the README file which is included, to get instructions on how to get the other parts (being the SDL libraries and the game files).

Now the bad news: it is possible that if you're running OS X 10.6 (Snow Leopard), this port will only show a black screen on your particular Mac. The reason is fundamental: the graphics drivers in SL for some graphics cards (like the X1600) do not support 8-bit color. The only fix would be to add an internal 8-bit→32-bit conversion. As a workaround, you could try to switch the game to windowed mode by pressing alt-enter, but this will most likely crash it.

You can download the shareware levels at many sites, e.g. at the 3DRealms site. They are mostly distributed as an MSDOS installer, but the data file which is used by the installer is actually a ZIP file. So to extract the game files, first unzip the downloaded ZIP file, then rename the ROTTSW13.SHR file to ROTTSW13.ZIP. You can then simply unzip this file to extract the actual game files (you may throw away all the EXE files).

If you still have an old crappy PC with the full version installed, upgrade it to the 1.3 version using the installer from 3DRealms, and then copy the game files to your Mac. You can also buy the full version from 3DRealms. They plan to re-release the ROTT CD, so it may be worth waiting for it. For extracting the game files from the installer, the same story holds: turn the SHR file into a ZIP file and unzip.

Version 0.2.2 is a Universal Binary, and fixes the crash on OS X 10.5 when enabling music. Mouse control is also usable now, although I can't remember if I fixed this myself or if it was just due to using a newer version of SDL. The occasional crashes at the "Game over" screen or when defeating bosses are still present, though, so you may want to save often.

Source code

In the long term, it would be nice to upgrade the game to higher resolution rendering, like in WinROTT. Network play would also be cool, but will probably be very tough to fix. The icculus source code has been upgraded to version 1.1 recently, which includes the high resolution code from WinROTT, but the port you can download here is still based on the 1.0 release. It would be great if someone could update this port to the 1.1 code, but it probably won't be me because I have too little time nowadays. If anyone wants to tackle any of these problems or other bugs, you can download the source code (807 KiB) and give it a shot. There are only few instructions included, so this is not for the faint of heart! Don't forget to read the ‘README-compiling’ file in the ‘mac’ directory for some important notes.
To avoid the problems with Snow Leopard, you will need to implement an (optional) 32-bit mode in full screen mode. Also, my fix for the horrible ‘Space’ MIDI instrument is not incorporated in the icculus 1.1 source, so if you don't want the music to sound horrible under QuickTime, copy the ‘filterMIDI’ code (in fx_man.c) from my source as well.

If you have made updated Mac binaries, please notify me so I can link to them. If you wish, I could also host the files on my site if they're not too large.

This source code is (was) also useful for compiling a more up-to-date ROTT in Linux than the cobweb-covered Icculus 1.0 release. Normally, ‘make’ in the rott/rott directory should just work, if you have SDL and SDL-mixer installed. Make sure to enable timidity support in SDL-mixer if you want music. But I suppose all the fixes in this source have also been incorporated in the icculus 1.1 release.