Aleph One is the open source continuation of Bungie™’s Marathon® 2 and Marathon Infinity game engines. Aleph One plays Marathon, Marathon 2, Marathon Infinity, and third-party content on a variety of platforms.
Aleph One is available under the terms of the GNU General Public License (GPL 3)
To download ready-to-run versions of all three Marathon games for macOS, Windows, and Linux Flatpak, visit alephone.lhowon.org
If you only want an Aleph One executable, you can simply download and untar a release source tarball. However, to build all-in-one Mac apps, flatpaks, or Windows zip files, you will need to populate the data/Scenarios directory. The easiest way to do that is to clone the repository and submodules:
git clone --recurse-submodules https://github.com/Aleph-One-Marathon/alephone.git
Alternatively, you can download the data files and unzip them in the data/Scenarios/ directory.
These instructions assume familiarity with the Xcode tools and the macOS command line.
macOS dependencies are managed by vcpkg.
Some users have had issues building Aleph One when there are spaces in the path to vcpkg and alephone, so it is recommended to put them in paths without spaces.
Download, bootstrap, and install vcpkg:
git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg integrate install
cd
into Aleph One's vcpkg subdirectory and use the install-arm-osx.sh
and install-x64-osx.sh
scripts to install macOS dependencies for arm64 and x64.
You should now be able to open PBProjects/AlephOne.xcodeproj
in Xcode and build Aleph One.
Windows builds are built using Visual Studio
Windows dependencies are managed by vcpkg.
Note this important recommendation in the vcpkg getting-started guide: If installing globally, we recommend a short install path like: C:\src\vcpkg or C:\dev\vcpkg, since otherwise you may run into path issues for some port build systems. Spaces in the path and non-ASCII characters can also cause problems. These notes apply to the Aleph One source location as well.
Download, bootstrap, and install vcpkg:
git clone https://github.com/microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat
.\vcpkg integrate install
You should now be able to build Aleph One using the VisualStudio\AlephOne.sln
project file
Linux/FreeBSD/other builds are built using autoconf. If you downloaded a source tarball, the configure system is already set up for you. If you cloned from git, you first need to set up the configure system. Install autoconf and autoconf-archive from your distro package manager, then:
autoreconf -i
Aleph One requires a C++17 compiler and the following libraries:
Boost
SDL2
SDL2_image
SDL2_net
SDL2_ttf
zlib
libsndfile
openal-soft
These libraries are recommended for full features and third-party scenario compatibility:
curl
for stats upload to lhowon.orgffmpeg
for music playback and film video exportminiupnpc
for opening router portszziplib
for using zipped plugins
First, enable the RPM Fusion Repository.
Then, install the following packages.
sudo dnf install boost-devel curl-devel ffmpeg-devel gcc-c++ \
libpng-devel SDL2-devel SDL2_ttf-devel SDL2_image-devel SDL2_net-devel \
zziplib-devel miniupnpc-devel openal-soft-devel
As an alternative to using FFmpeg (which requires the RPM Fusion Repository), you can install alternative libraries:
sudo dnf install libsndfile-devel libvorbis-devel
If you don't compile with FFmpeg support, you won't be able to use WebM export in Aleph One.
Run this command to install the necessary prerequisites for building Aleph One:
sudo apt install build-essential libboost-all-dev libsdl2-dev \
libsdl2-image-dev libsdl2-net-dev libsdl2-ttf-dev \
libzzip-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \
libpng-dev libcurl4-gnutls-dev libminiupnpc-dev libopenal-dev
First, run the configure script:
./configure
After running the configure script, start the compile process by running make:
make
Once the compile is finished, you can install the executable by running:
sudo make install
By default, the Aleph One executable is installed into /usr/local/bin/alephone
.
You can download game data from the Aleph One Scenarios page. After unzipping one of the games, pass the directory as an argument to Aleph One:
/usr/local/bin/alephone ~/Games/Marathon