Skip to content

A fun 2D retro platformer inspired by Sonic games and a game creation system.

License

Notifications You must be signed in to change notification settings

moi-cest-matthew/opensurge

 
 

Repository files navigation

Open Surge Engine

Latest release License GitHub Repo stars Discord server GitHub Sponsors

Surge the Rabbit is a fun 2D retro platformer inspired by 16 bit classics and Open Surge Engine is its game engine, designed for you to unleash your creativity!

ko-fi


Play

Surge the Rabbit is the base game distributed with the Open Surge Engine. Stop the global takeover planned by evil wizard Gimacian the Dark and use it as a stepping stone to create your own games!

Open Surge demo

Create your games / Modding

Make your dreams come true with the Open Surge Engine! Create your own amazing games and learn how to code with SurgeScript, a scripting language for games that is fun to use! Create new levels, items, bosses, playable characters, gameplay mechanics, cutscenes and more!

Controls

You can play using a keyboard or a joystick. Default controls:

Keyboard Joystick Action
Arrow keys Left analog stick / D-Pad Move
Space A / B / X / Y Jump
Enter Start Pause
Esc Back Quit
Left Ctrl L / R Switch character
Equal (=) - Take snapshot
F12 - Open the level editor*

*: open the editor during gameplay, in a level.

About

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!

Contribute

See CONTRIBUTING.

Educators

If you're using Open Surge in the classroom, we'll love to hear from you! If you need help, get in touch via chat.

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 file
  • share: 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:

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.

About

A fun 2D retro platformer inspired by Sonic games and a game creation system.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 80.4%
  • Scheme 18.8%
  • Other 0.8%