Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Open Surge

Welcome to Open Surge!

Download the game at

What is Open Surge?

Open Surge is a fun 2D retro platformer inspired by Sonic games and a game creation system that lets you unleash your creativity!

Open Surge demo

Open Surge is currently available for Microsoft Windows and GNU/Linux. It is in active development!


About Open Surge

Open Surge is two projects in one: a game and a game creation system (game engine). It is released as free and open source software.

Open Surge is written from the ground up in C language, using the Allegro game programming library. The project has been started by Alexandre Martins, a computer scientist from Brazil. Nowadays, Open Surge has contributors all over the world!

How do I play?

You can play using a keyboard or a joystick.

Key Effect
Arrows Move
Space Jump
Enter Pause
Esc Quit
Left Ctrl Switch character
Equals (=) Take snapshot
F12 Open the editor

How do I create a game?

Use Open Surge to create your own amazing games! Create new levels, items, bosses, gameplay mechanics, playable characters, special abilities and more!

  • First, learn how to create a level using the built-in editor (press F12 during gameplay)
  • Next, learn how to do basic hacking (modify the images/sounds, create new scenery, new characters, etc.)
  • Finally, have fun with scripting! SurgeScript, the scripting language featured in Open Surge, gives you ultimate power to create anything you desire and make your dreams come alive!

To learn more, read the project wiki and watch the video tutorials made by the developer of the engine.

Advanced users

Running from the command line

Advanced features are available via the command line. For more information, run:

opensurge --help

Compiling Open Surge

To compile Open Surge from the source code, you'll need a C compiler, CMake, and the following development libraries:

After downloading and extracting the source code, create a build directory and compile from there:

mkdir build && cd build
cmake ..

To perform a system-wide installation on Linux, run:

sudo make install

You may run ccmake or cmake-gui to change the build options (e.g., set the path of the installation directory). If you have installed the development libraries into non-standard paths, you need to configure their appropriate paths as well.

Note: read the project wiki for detailed instructions.

Linux users: game assets (images, sounds, etc.) can be stored globally or in user-space. Assets located in user-space take precedence over assets located in system directories. Open Surge uses the XDG Base Directory specification; look for the opensurge2d directory.

Files Usual locations
Game assets /usr/share/games, ~/.local/share/opensurge2d
Game config. ~/.config/opensurge2d
Logs, etc. ~/.cache/opensurge2d

If you're using Flatpak, user-space files are found at ~/.var/app/org.opensurge2d.OpenSurge. If you're using Snap, they are found at: ~/snap/opensurge/current/.local/share/opensurge2d, ~/snap/opensurge/current/.config/opensurge2d, and ~/snap/opensurge/common/.cache/opensurge2d.

Portable setup: if you haven't done a system-wide installation, Open Surge can also read files from the folder of the executable.