A downloadable game for Windows, Mac OS X, and Linux

Buy Now$1.99 USD or more

ReTux is a 100% libre software and 100% libre culture action platformer loosely inspired by the Mario games, utilizing the art assets from the SuperTux project. The name "ReTux" is a play on the words "redux" and "Tux".

Although ReTux re-uses the art assets of SuperTux, no code from SuperTux is used in ReTux. The software portion of ReTux is entirely new, written in Python and based on the SGE Game Engine. ReTux also has several distinctions in its gameplay compared to both SuperTux and the Mario games, many of which are made apparent by watching these videos. Some particular distinctions of ReTux include:

  • Play through 41 action-packed levels with some puzzle elements, taking place on the snow-covered Icy Island.
  • Health is represented by hearts which are restored by collecting coins, making a wide variety of difficulties possible without making the game frustrating.
  • Powers are obtained by using special items directly rather than by transforming. Some such items include fire flowers (which shoot fireballs), ice flowers (which shoot ice bullets), and lanterns (which light up dark areas).
  • Your character's state is reset upon entering a new level, allowing more fine-tuned level design.
  • Items are picked up automatically and either used or thrown by pressing the "action" key.
  • Running is automatic. To walk, you can either hold the dedicated "sneak" key, or you can use an analog stick to finely control your speed.
  • You will never be forced to backtrack further because you failed too many times. Lives are infinite and checkpoints never stop working.
  • The game is fully accessible to colorblind and color deficient people.
  • Feeling creative? You can create your own levels for ReTux using the Tiled map editor, and share them with your friends using the Import/Export options.
  • The game is 100% libre software and 100% libre culture. The easy to read Python source code is fully available, and you have the liberty to do virtually whatever you want with it under the terms of the GNU GPL. You won't find any restrictive EULA or DRM here!

ReTux's main website is here:


More information

Published156 days ago
PlatformsWindows, Mac OS X, Linux
Release date101 days ago
Tags2D, gamepad, jumping
LicenseGNU General Public License v3.0 (GPL)
Average durationA few minutes
LanguagesEnglish, Spanish; Castilian, Japanese
InputsKeyboard, Gamepad (any)
AccessibilityColor-blind friendly, Configurable controls
Player countSingleplayer


Buy Now$1.99 USD or more

In order to download this game you must purchase it at or above the minimum price of $1.99 USD. You will get access to the following files:

ReTux 1.2.1 for Windows 65 MB
ReTux 1.2.1 for Mac OS X 74 MB
ReTux 1.2.1 for GNU/Linux 45 MB
ReTux 1.2.1 Source Code (tar.gz) 42 MB
ReTux 1.2.1 Source Code (zip) 42 MB


Log in with your itch.io account to leave a comment.

Would it be possible to move the 'TIME BONUS' part of the hud so that it does not take so much vertical space?

Yes, it would be possible. I actually chose that position so that it would be possible to add a second player (for split-screen co-op), but just didn't end up doing that.

I don't think it's worth it to make a new release for this change (especially since there's still a chance I might add 2-player in the future, though unlikely, and I don't see the additional use of vertical space as harmful), but if you would like the change, you can replace these lines in retux.py (around line 530):

text = "{}\n{}\n\n{}\n{}".format(
_("Score"), score_text,
_("Time Bonus") if time_bonus >= 0 else _("Time Penalty"),
sge.game.project_text(font, text, sge.game.width / 2, 0,

with these new lines:

text = "{}\n{}".format(_("Score"), score_text)
sge.game.project_text(font, text, sge.game.width / 2, 0, color=sge.gfx.Color("white"), halign="center")
text = "{}\n{}".format(_("Time Bonus") if time_bonus >= 0 else _("Time Penalty"), abs(time_bonus))
sge.game.project_text(font, text, sge.game.width, 0, color=sge.gfx.Color("white"), halign="right")