Skip to content
A fun 2D retro platformer inspired by Sonic games and a game creation system to unleash your creativity!
C Scheme Other
Branch: master
Clone or download
Latest commit 6d2c702 Nov 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
characters Renamed sprites Aug 26, 2019
config Updated the credits screen Nov 17, 2019
fonts Adjustments Aug 31, 2019
images Updated the loading screen Nov 17, 2019
languages Renamed translation files Nov 19, 2019
levels Collision fix Nov 19, 2019
musics Removed unused songs Sep 19, 2019
quests Small changes Sep 24, 2019
samples Adjustments Sep 19, 2019
screenshots First commit Jun 5, 2018
scripts Updated URLs Nov 16, 2019
sprites Renamed folder Nov 19, 2019
src Changed naming convention for GAME_PATCH_VERSION Nov 19, 2019
themes Small fixes to Waterworks 1 Oct 5, 2019
.gitignore Updated .gitignore Mar 12, 2019
CMakeLists.txt Will display a built-in icon on Linux Nov 17, 2019
LICENSE Upgraded to GPLv3 Jun 5, 2018
README.md Updated text Nov 12, 2019
logo.png First commit Jun 5, 2018
surge.png Updated Surge picture Oct 10, 2018
surge.rocks Small changes Aug 20, 2019

README.md

Open Surge

Welcome to Open Surge!

Get the game at opensurge2d.org

Surge

What is Open Surge?

Open Surge is a fun 2D retro platformer inspired by old-school Sonic games. It is also a game creation system that lets you unleash your creativity! Play, create & share!

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 developer from Brazil. Nowadays, Open Surge has contributors all over the world!

How do I play?

You can play Open Surge 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 much 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, 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 ..
make

You can perform a system-wide installation on Linux by running:

sudo make install

You may run ccmake or cmake-gui to know additional 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.

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/local/share/games, ~/.local/share/opensurge2d
Game config. ~/.config/opensurge2d
Logs, etc. ~/.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.

You can’t perform that action at this time.