Coder Social home page Coder Social logo

analogkeyboard / alephone Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aleph-one-marathon/alephone

0.0 0.0 0.0 25.13 MB

Aleph One is the open source continuation of Bungie’s Marathon 2 game engine.

Home Page: https://alephone.lhowon.org/

License: GNU General Public License v3.0

Shell 0.06% C++ 58.62% Perl 0.10% C 40.08% Lua 0.06% PowerShell 0.09% Objective-C++ 0.07% Makefile 0.43% HTML 0.04% CMake 0.01% GLSL 0.24% M4 0.21%

alephone's Introduction

Aleph One

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)

Download

To download ready-to-run versions of all three Marathon games for macOS, Windows, and Linux Flatpak, visit alephone.lhowon.org

Build from source

CI status

Build Status

Scenario data

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.

macOS

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

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

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

Dependencies

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.org
  • ffmpeg for music playback and film video export
  • miniupnpc for opening router ports
  • zziplib for using zipped plugins

Fedora

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 libsndfile-devel

If you don't compile with FFmpeg support, you won't be able to use WebM export in Aleph One.

Ubuntu

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 libsndfile1-dev

Compile

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.

Run

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

alephone's People

Contributors

hopper262 avatar treellama avatar kolfering avatar lidmop avatar trajansrow avatar cseppan avatar solrabizna avatar darealshinji avatar mwoenker avatar dritanium avatar maddthesane avatar ecpeterson avatar zeamador avatar h3xx avatar mmorrisonlk avatar zebe avatar orbea avatar pfhore-github avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.