How To Play Bungie’s Marathon Game Series On Linux
Aleph One is an open-source re-implementation of the Marathon 2 gaming engine for Macintosh. Officially, Aleph One can play Marathon 1, Marathon 2, and Marathon Infinity. Additionally, the engine has the ability to play custom, fan-made versions of Bungie’s Marathon game series (aka scenarios).
The engine itself is not very demanding and can run on Linux systems with as little as 512 MB of RAM. Better yet, all three Marathon games are free to download!
Install Aleph One
Getting the Aleph One engine running isn’t easy, as the developers do not provide downloadable packages on the website. To install the software, choose your operating system from the list below and follow along.
Ubuntu/Debian
Ubuntu users looking to play Bungie’s Marathon series will need to install Aleph One by building it from source. Open up a terminal and install the necessary build dependencies. Then, skip to the generic instructions to learn how to build the game from source.
sudo apt install libboost-all-dev libsdl1.2-dev libsdl-image1.2-dev \ libsdl-net1.2-dev libsdl-ttf2.0-dev libspeexdsp-dev libzzip-dev \ libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
Or
sudo apt-get install libboost-all-dev libsdl1.2-dev libsdl-image1.2-dev \ libsdl-net1.2-dev libsdl-ttf2.0-dev libspeexdsp-dev libzzip-dev \ libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
Arch Linux
Arch Linux users are in luck, as there are specific AUR snapshots for each of the Marathon games. To start the installation, open up a terminal window and use the Pacman package manager to sync the latest version of Git. Then, use Git to clone the game’s source files.
sudo pacman -S git git clone https://aur.archlinux.org/alephone.git git clone https://aur.archlinux.org/alephone-marathon.git git clone https://aur.archlinux.org/alephone-marathon2.git git clone https://aur.archlinux.org/alephone-infinity.git
Once all of the individual AUR snapshots are downloaded, it’s time to being the installation process. The first step is to build and install the engine itself. Using the CD command, move the terminal into the alephone folder and generate a new package using makepkg.
Note: Aleph One may fail to install dependencies if they are outside of the AUR. To fix this, you’ll need to install them manually. Find more information about them here.
cd alephone makepkg -si
With the base engine built and working, it’s safe to install the 3 Marathon games to Arch.
cd alephone-marathon makepkg -si cd .. cd alephone-marathon2 makepkg -si cd .. cd alephone-infinity makepkg -si
Fedora
Bungie’s game engine doesn’t have an official RPM for Fedora Linux users to install. Luckily, thanks to OpenSUSE it doesn’t matter. Start the installation in Fedora Linux by using the wget download tool to grab the latest version of Aleph One.
wget https://download.opensuse.org/repositories/home:/demonpig:/Games/openSUSE_Leap_15.0/x86_64/alephone-20150620-lp150.7.1.x86_64.rpm
Finish up the installation process by installing the RPM package with DNF.
sudo dnf install alephone-20150620-lp150.7.1.x86_64.rpm -y
OpenSUSE
Open SUSE is by far the easiest to install the Aleph One game engine on. Visit this link and select the “show experimental packages” button, then select “install” to finish up.
Generic Instructions
Building the Aleph One game engine from source starts by downloading the source package. In a terminal, use the curl command and grab it.
curl -o AlephOne-20150619.tar.bz2 -L https://source.bungie.org/download/source.php
Now that the source code is done downloading, use the tar command and extract everything.
tar xjvf AlephOne-20150619.tar.bz2
Using the CD command, move into the source directory and run the configure command.
cd AlephOne-20150619 ./configure
If everything looks good, run the make command.
make
Lastly, install the software with:
sudo make install
Set Up Scenarios
Before you can play any of Bungie’s Marathon games, you’ll need to set up the game files. Luckily, each game is open source and the files available freely on the internet. To download the game files, open up a terminal and use the wget downloading tool.
Marathon 1 Files
wget https://github.com/Aleph-One-Marathon/alephone/releases/download/release-20150620/Marathon-20150620-Data.zip
Marathon 2 files
wget https://github.com/Aleph-One-Marathon/alephone/releases/download/release-20150620/Marathon2-20150620-Data.zip
Marathon 3 files
wget https://github.com/Aleph-One-Marathon/alephone/releases/download/release-20150620/MarathonInfinity-20150620-Data.zip
Using the mkdir command, create a new folder with the label of “Marathon-Games”. This folder will hold all of the game’s data files.
mkdir -p ~/Marathon-Games
Next, create 3 subfolders (one for each game’s data).
mkdir -p ~/Marathon-Games/Marathon-1 mkdir -p ~/Marathon-Games/Marathon-2 mkdir -p ~/Marathon-Games/Marathon-Infinity
Extract all of the game files to the new Marathon-Games directory.
unzip -d ~/Marathon-Games/Marathon-1 Marathon-20150620-Data.zip unzip -d ~/Marathon-Games/Marathon-2 Marathon2-20150620-Data.zip unzip -d ~/Marathon-Games/Marathon-Infinity MarathonInfinity-20150620-Data.zip
Play Bungie’s Marathon Games
Now that the Aleph One engine is installed, and the game files are in the correct data folders, it’s time to play the game. To Play any of the Marathon games, you’ll need to run the alephone command and specify the game’s data directory.
To play, follow the instructions below to launch any of the games via terminal.
Launch Marathon 1
alephone ~/Marathon-Games/Marathon-1
Launch Marathon 2
alephone ~/Marathon-Games/Marathon-2
Launch Marathon Infinity
alephone ~/Marathon-Games/Marathon-Infinity
Close any running instance of Aleph One on Linux by pressing the ESC button, then selecting the “quit” button.
This is awesome — thanks for posting! By any chance, would you know how to go about porting this to a Raspberry Pi? I would think it would be a good fit, but I haven’t seen any accounts of anyone actually having accomplished it.