Surge Engine
Unleash your creativity with Surge Engine, an open source game engine for retro games! It features Surge the Rabbit, a free retro platformer with a charismatic character. Players MOD it to create their own games.
Download now | Create your games | Learn scripting | Watch videos
About
The project is written from the ground up in C language, using the Allegro game programming library. It has been started by Alexandre Martins, a computer scientist from Brazil. Nowadays, it has contributors all over the world!
Contribute
See CONTRIBUTING.
Advanced users
Command-line options
Run opensurge --help
Running MODs
Extract the MOD to your filesystem and run the game.
- Windows: launch the executable.
- Linux: run
opensurge --game-folder /path/to/mod/folder/
on the command-line. - macOS: use the
--game-folder
command-line option or launch the native executable if provided.
Use preferably the same engine version as the MOD if a native executable isn't provided (check logfile.txt
).
Linux users should extract the MOD into their home folder, preferably into ~/Downloads
.
Visit the wiki for more information on user-made MODs.
Paths
Content is distributed in the following locations: (since version 0.6.1)
bin
: executable fileshare
: game assets (images, audio, levels, scripts, etc.)user
: user-modifiable data (preferences, logs, screenshots, additional assets such as user-made levels)
The default paths of these locations vary according to the platform:
-
Windows (.zip package):
bin
:./opensurge.exe
share
:.
user
:.
or%OPENSURGE_USER_PATH%
-
Linux:
bin
:/usr/games/opensurge
share
:/usr/share/games/opensurge/
user
:~/.local/share/opensurge/
or$XDG_DATA_HOME/opensurge/
or$OPENSURGE_USER_PATH
-
Linux (Flatpak):
bin
:flatpak run org.opensurge2d.OpenSurge
share
:/var/lib/flatpak/app/org.opensurge2d.OpenSurge/current/active/files/share/opensurge/
user
:~/.var/app/org.opensurge2d.OpenSurge/data/opensurge/
or$OPENSURGE_USER_PATH
If you use
$OPENSURGE_USER_PATH
, make sure it points to a subdirectory of~/Downloads
($XDG_DOWNLOAD_DIR
). -
Linux (Snap):
bin
:snap run opensurge
share
:/snap/opensurge/current/share/games/opensurge/
user
:~/snap/opensurge/current/.local/share/opensurge/
or$OPENSURGE_USER_PATH
If you use
$OPENSURGE_USER_PATH
, make sure it points to a subdirectory of your home folder. -
macOS:
bin
:Contents/MacOS
share
:Contents/Resources
user
:~/Library/Application Support/opensurge/
or$OPENSURGE_USER_PATH
If you intend to hack the game, it's easier to have all files in the same place (read-write), because some of the above folders are read-only. Download the sources, extract them to your filesystem and use the --game-folder
command-line option as explained in Running MODs.
Tip: since version 0.6.1 you can use the command-line option --verbose
to see where the files are. The directories will appear at the beginning of the output.
Compiling the engine
Dependencies:
- Allegro version 5.2.7 or later
- SurgeScript version 0.6.0
- PhysicsFS version 3.2.0
Compile as usual:
cd /path/to/opensurge/
mkdir build && cd build
cmake ..
make -j4
sudo make install
Use cmake-gui
or ccmake
for tweaking, like installing the engine to or finding the dependencies on non-standard paths.
License
Open Surge Engine Copyright 2008-present Alexandre Martins. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. For more information, see LICENSE.