Started as a cross-platform, open-source "clone" of Artemis Spaceship Bridge Simulator, EmptyEpsilon has already deviated from Artemis with new features and gameplay, including a Game Master mode and multiple AI factions. We strive to get EmptyEpsilon working on several platforms, and Windows, Linux, and Android are fully supported.
The game is written in C++ with the SeriousProton engine and uses SDL2 for most of the heavy lifting.
Official releases for Windows, Linux (as a .deb package), and Android (beta quality) are available from the EmptyEpsilon website or GitHub releases. Make sure the host and all players run the same version number of EmptyEpsilon; otherwise, players won't be able to connect.
- Windows releases are distributed as self-contained ZIP archives that don't need installation. You can expand the ZIP archive and launch EmptyEpsilon directly from the expanded folder.
- The .deb package requires freetype and SDL2 packages to be installed on your Linux distribution.
- The Android APK is built for the
armeabi-v7a
ABI and should launch on most Android phones and tablets with ARM processors. It won't install on Intel x86 or x86_64 devices running Android.
EmptyEpsilon settings are stored in an options.ini
file located in either the .emptyepsilon
directory of your user home or the same directory as the EmptyEpsilon launcher. For details, see this repository's wiki.
See this repository's wiki for guidance on building EmptyEpsilon from source. Several Build subpages on the wiki provide steps for building on specific operating systems, distributions, or hardware.
For information on EmptyEpsilon's Discord and forums communities, and regularly planned hosted game sessions, see the EmptyEpsilon website. If you run public EmptyEpsilon games or use it in your gaming projects, file an issue to request to be added to that page.
If you want to contribute, we're mostly looking for awesome models, sound effects, and music. The game is tested regulary by some of our trusty colleagues.
Some general contribution rules:
-
This project is a dictatorship. Yes, it's open source, but we'd much rather spend time on building what we like than arguing with people.
-
Be precise when filing issues. Explain why you posted the issue, what you expect, what is happening, why is your feature worth the time to develop it, what operating system is affected, etc. Unclear issues are subject to rule 1 with extreme prejudice.
-
Despite the above two, we very much value input, feedback, and suggestions from people playing EmptyEpsilon. If you have ideas or want to donate beer, drop us a line.
If you don't have the skills to help code or create models but want to give something back, you can always donate a bit. All donations go directly toward buying better assets for the game (in this case, more and better 3D models). You can find the instructions on the EmptyEpsilon website.
If you are a coder and want to contribute, there are a few things to take into account.
-
The code is a undocumented mess at this point. We're working on fixing that.
-
We use the following conventions:
- Member values use underscores to separate words (
zoom_level
). - Classes use HighCamelCase (
GuiSlider
). - Functions use lowCamelCase (
getZoomLevel
).
- Member values use underscores to separate words (
-
Use a single pull request to change a single thing. Want to change multiple things? File multiple requests.
There is no clear goal where this game is going. This means that there is no formal game, art, or asset design. If you have something that you would like to see in this game (or want to make something), drop us a line. We'd love to see what you can do and how you can help improve the game.
For details on how EmptyEpsilon uses 3D models, see this repository's wiki.
For a guide to translating EmptyEpsilon and its scenarios, see this repository's wiki.
Basic documentation for setting up and running games is available on the EmptyEpsilon website.
To learn EmptyEpsilon gameplay fundamentals, read the website's stations profiles and play through the game's built-in tutorial mode available from the main menu, which covers each crew member's interface and responsibilities.
For guidance in scripting scenarios, see the website's mission scripting guide. For a scripting API reference, open the script_reference.html
file included in your version's downloaded archive, which is specific to that version of EmptyEpsilon.
For documentation on the game's preferences file and command-line options, hardware and DMX support, more complex internet play configurations like headless and proxy servers, enabling and using EmptyEpsilon's HTTP API server, or adding ship templates and models, see this repository's wiki.