SuperTux source code

Semphris 2250fea1cb Coyote time %!s(int64=4) %!d(string=hai) anos
.github e99aa8abb9 Change PayPal link to paypal.me %!s(int64=5) %!d(string=hai) anos
.travis 3c50868209 Revert "More instances of git describe --always" %!s(int64=4) %!d(string=hai) anos
.tx f02a0d603d Remove incubator translation files from transifex config [ci skip] %!s(int64=4) %!d(string=hai) anos
contrib ec0a078502 contrib: remove outdated, unofficial KDevelop project %!s(int64=6) %!d(string=hai) anos
data 13ea0e8fb0 Update info [ci skip] %!s(int64=4) %!d(string=hai) anos
external 55a4a5a0d0 Implement the Discord SDK (Basics) %!s(int64=4) %!d(string=hai) anos
man 9324a91826 supertux/man/man6/supertux2.6: Fix a syntax error. %!s(int64=14) %!d(string=hai) anos
mk f0d9d29a47 Fix OpenAl vcpkg builds %!s(int64=4) %!d(string=hai) anos
src 2250fea1cb Coyote time %!s(int64=4) %!d(string=hai) anos
tests 6627ddd58e Revert "Revert weluvgoatz's accidental commit" %!s(int64=5) %!d(string=hai) anos
tools 8ac401aef8 Fix various codacy issues %!s(int64=5) %!d(string=hai) anos
.clang-tidy 5cb721bc18 Fix some more clang-tidy warnings %!s(int64=5) %!d(string=hai) anos
.editorconfig ecf879928a tools: add .editorconfig (#424) %!s(int64=8) %!d(string=hai) anos
.gitattributes af36e7a45a Change .gitattributes (#1096) %!s(int64=5) %!d(string=hai) anos
.gitignore 5a7f8f9c88 Add Visual Studio files to gitignore %!s(int64=4) %!d(string=hai) anos
.gitmodules 279fc16f8a Switched a submodule from git protocol to https, as it should be %!s(int64=4) %!d(string=hai) anos
.travis.yml 9cf8307664 Move GLEW version to variable %!s(int64=4) %!d(string=hai) anos
CMakeLists.txt b237571fce CMakeLists.txt: compile squirrel with -fPIC (#1561) %!s(int64=4) %!d(string=hai) anos
CODINGSTYLE.md 37e465f1c1 Add link to C++ Core Guidelines to CODINGSTYLE.md %!s(int64=5) %!d(string=hai) anos
CONTRIBUTING.md c7c2ddf1ef README: central Community section for getting in touch %!s(int64=6) %!d(string=hai) anos
Doxyfile.in 17820af0e8 doxygen -u Doxyfile.in %!s(int64=6) %!d(string=hai) anos
INSTALL.md 6b50fa40a1 increase -> reduce %!s(int64=4) %!d(string=hai) anos
LICENSE.txt a9e0d669b9 Revert "Update LICENSE.txt" %!s(int64=6) %!d(string=hai) anos
NEWS.md fdff793548 Release SuperTux 0.6.2 (final; stable release) %!s(int64=4) %!d(string=hai) anos
README.md f8d3d187c4 Replace screenshot in README.md [ci skip] %!s(int64=4) %!d(string=hai) anos
appveyor.yml afbae58a61 findlocale: Move VERSION to VERSION.txt %!s(int64=4) %!d(string=hai) anos
appveyor64.yml afbae58a61 findlocale: Move VERSION to VERSION.txt %!s(int64=4) %!d(string=hai) anos
config.h.cmake b85be97fc3 Changed the name of the cmake-to-compiler switch %!s(int64=4) %!d(string=hai) anos
configure d67e254c94 add autotools-like wrapper configure and Makefile %!s(int64=13) %!d(string=hai) anos
guix.scm f73090d3fa Update Guix build file %!s(int64=4) %!d(string=hai) anos
makedist.sh 5a9aa5698b Hopefully correct revision information for non-Windows builds %!s(int64=4) %!d(string=hai) anos
makepot.sh 47f4493ed6 Fix makepot.sh to not generate -i files [ci skip] [skip ci] %!s(int64=4) %!d(string=hai) anos
supertux2.appdata.xml 35c3e622f8 Add missing releases to appdata file %!s(int64=4) %!d(string=hai) anos
supertux2.desktop b12fdc5e35 Add Hebrew translation of SuperTux description (#1521) %!s(int64=4) %!d(string=hai) anos
supertux2.svg b50fa77d1c Increased SuperTux icon size to 128x128 %!s(int64=6) %!d(string=hai) anos
version.cmake.in 93e7715818 Added support for source tarballs %!s(int64=9) %!d(string=hai) anos
version.h.in 3dc79f987c Fix PACKAGE_VERSION being empty, add unit test case for that issue %!s(int64=9) %!d(string=hai) anos

README.md

SuperTux

Build Status AppVeyor Build Status AppVeyor Build status Github All Releases

SuperTux is a jump'n'run game with strong inspiration from the Super Mario Bros. games for the various Nintendo platforms.

Run and jump through multiple worlds, fighting off enemies by jumping on them, bumping them from below or tossing objects at them, grabbing power-ups and other stuff on the way.

Screenshot

Story: Penny gets captured!

Tux and Penny were out having a nice picnic on the ice fields of Antarctica. Suddenly, a creature jumped from behind an ice bush, there was a flash, and Tux fell asleep!

When Tux wakes up, he finds that Penny is missing. Where she lay before now lies a letter:

Tux, my arch enemy! I have captured your beautiful Penny and have taken her to my fortress. The path to my fortress is littered with my minions. Give up on the thought of trying to reclaim her, you haven't got a chance!

-Nolok

Tux looks and sees Nolok's fortress in the distance. Determined to save his beloved Penny, he begins his journey.

Installation

For major platforms, stable releases are built and available for download from supertux.org or alternatively directly from GitHub. You should be able to install these using default tools provided by your platform. On macOS, when Gatekeeper is enabled (default) it will refuse to open SuperTux. This is due to the lack of a signature on the application. If you wish to open SuperTux anyway without disabling the Gatekeeper feature entirely, you can open the application from the context menu (control click on the icon). macOS will then remember your choice the next time.

Documentation

Important documentation for SuperTux is contained in multiple files. Please see them:

  • INSTALL.md - Requirements, compiling and installing.
  • README.md - This file
  • NEWS.md - Changes since the previous versions of SuperTux.
  • LICENSE.txt - The GNU General Public License, under whose terms SuperTux is licensed. (Most of the data subdirectory is also licensed under CC-by-SA)
  • docs/levelguidelines.txt - Very useful information for those that want to design levels for SuperTux.
  • data/credits.stxt - Credits for people that contributed to the creation of SuperTux. (You can view these in the game menu as well.)

Playing the game

Both keyboards and joysticks/gamepads are supported. You can change the controls via the Options menu. Basically, the only keys you will need to use in-game are to do the following actions: jump, duck, right, left, action and 'P' to pause/unpause the game. There isn't much to tell about the first few, but the "action" key allows you to pick up objects and use any powerup you got. For instance, with the fire flower, you can shoot fireballs, or with the ice flower fire ice pellets.

Other useful keys include the Esc key, which is used to go to the menu or to go up a level in the menu. The menu can be navigated using the arrow keys or the mouse.

In the worldmap, the arrow keys are used to navigate and Enter to enter the current level.

Community

In case you need help, feel free to reach out using the following means:

  • IRC: #supertux on freenode hosts most of the discussions between developers. Also, real-time support can be provided here. If you don't know how to use an IRC client, you access the channel using a web-based client. Please stay around after asking questions, otherwise you will be disconnected and might miss potential answers.
  • Matrix: #supertux:matrix.org is bridged to our IRC room.
  • Forum: The SuperTux community is very active on the forum, the discussion ranges from feature proposals to support questions. In particular, most community-contributed add-ons are published there first, so this is worth checking.
  • Mailing Lists: The supertux-devel mailing list is intended for development purposes. However, it is not very active at the moment.
  • Social Media: Mostly on Twitter at the moment.

Development status

As of now, with the release of SuperTux 0.6.2 (May 2020), the Forest World is almost finished, since the ghost forest section has been included. However, some levels, especially the Ghostree Level, are considered to be placeholders, because for the next version (0.7.0) a great overhaul is planned with new features like reworked boss fights, graphics, and worlds. If you have some Constructive Feedback, Contributions or ideas to share, don't hestitate to contact us with one of the possibilities given above.