A downloadable game for Windows and Linux

Tux is just getting ready to go fishing when all of a sudden, he receives a message. The message states that his home, Icy Island, has been taken over by the Snow King, and a new Fish Tax will be imposed. Tux is furious! How dare the Snow King take away his fish?! Help Tux overthrow the Snow King and stop him from taking Tux's fish away!

ReTux is a libre open source 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 different, written in Python and based on the Seclusion Game Engine.

StatusReleased
PlatformsWindows, Linux
Release date Jul 16, 2016
Rating
Rated 4.5 out of 5 stars
(4 total ratings)
AuthorDiligent Circle
GenrePlatformer
Tags2D, gamepad, jumping
Code licenseGNU General Public License v3.0 (GPL)
Average sessionA few minutes
LanguagesGerman, English, Spanish; Castilian
InputsKeyboard, Gamepad (any)
AccessibilityColor-blind friendly, Configurable controls
LinksHomepage, Source code, Patreon, Liberapay

Download

Download
retux-1.6.2-win64.zip 60 MB
Download
retux-1.6.2-linux-x86_64.zip 85 MB
Download
retux-1.6.2-src.zip 40 MB

Development log

Comments

Log in with itch.io to leave a comment.

Where are the save game files located on Linux ? I am pretty sure I found them under .local/share/retux but just want to be sure.

(+1)

Yes, ~/.local/share/retux is right (specifically save_slots.json). Of course, configuration is separately stored in ~/.config/retux.

(1 edit)

Hi!

I am having problems with the version for Windows, when I run it, it gives me this error:


how can I fix it?


Thanks!!

(1 edit)

Hm… DLL errors are hard from my end. There’s a whole lot that could’ve went wrong and I both have very little familiarity with Windows and create the Windows binary in Wine. And there’s always the possibility that cx_Freeze or Pygame is at fault, which I have no idea how to test. I kinda wish PyInstaller worked in Wine, that seems in general to work way more easily. :/

Regarding this problem for you specifically, I think my best suggestion is if you still have this after making sure you have the Microsoft Visual C++ redistributable runtime installed, just run the game from source code instead. To do this, you’ll have to install the latest version of Python, download the ReTux source code, run the following command in Command Prompt (you may need administrator privileges for this step):

python -m pip install pygame sge uniseg xsge_gui xsge_gui xsge_lighting xsge_path xsge_physics xsge_tiled

More broadly, we’ll look into our freezing methods when we release a new ReTux update soon. Maybe it’ll produce a Windows binary that works better.

🕵️

Hi!

Thanks for your reply.

Yes, I have all the Microsoft Visual C++ redistributables, I will try to run the game from the source code, I hope I have some of luck.

Thanks!!

Hi,

I have just tried this on my OpenSUSE 42.2 system and get the following error:

Initializing game system...
ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so
/tmp/_MEItjknhd/sge/dsp.py:379: UserWarning: pygame.mixer module not initialized! Are you missing SDL_mixer?
Initializing GUI system...
Loading images...
Loading fonts...
Loading "special/title_screen.tmx"...
Starting game...
Failed to execute script retux

I have SDL_mixer and pygame.mixer installed. Can you offer any help?

Thanks.

(1 edit)

The warning seems, from a quick search, to mean that you need to install the libasound plugins.

But that's not likely the cause of your crash. The crash is probably because of a compatibility problem between my GNU/Linux binaries (which are built on gNewSense) and OpenSUSE. I would recommend using the source code distribution in that case. It's not difficult to set up; just install Python and Pygame, and everything else is included.

If you want to see the errors that occurred, you can use get_errors.py, or just find stderr.txt in ~/.config/retux.

Getting a "Segmentation fault (core dumped)" error with the 64-bit binary in Arch.

(1 edit)

So it's not just me then. Thank you; perhaps a bug report should be made to the PyInstaller developers.

To be clear, the binary *does* work... with older distros. I don't know for sure what is, but something about newer distros (including mine, Ubuntu 16.04) prevents any binary made by the development version of PyInstaller from working (though I think the stable version is unaffected). Even a simple Hello World script segfaults in the same way. I'll do some tests and make the bug report, and if/when the problem is resolved, I'll rebuild ReTux (and the other two games I've built with PyInstaller).

In the meantime, I recommend using the plain source code. It works out-of-the-box as long as you have Python and Pygame installed.

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"),
abs(time_bonus))
sge.game.project_text(font, text, sge.game.width / 2, 0,
color=sge.gfx.Color("white"),
halign="center")

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")