Hacker News new | past | comments | ask | show | jobs | submit login
SuperTux v0.4.0 – first stable release since 2005 (supertuxproject.org)
258 points by networked on Dec 27, 2015 | hide | past | web | favorite | 36 comments

I went to school with the maintainer at the time (tobgle, ca 2004). He was 14 when he rewrote large parts of the C++ code base. Plus he knew OpenGL.

Rewriting anything is usually a bad idea.

Not if you are learning.

Surprised to see this on HN! I played this when I was young and it was a great, charming substitute for the Nintendo games my parents refused to buy me, haha.

Surprised? That was the best game for many linux nerds :)

I was playing that a lot on my first Linux.

It was fun to dive into the source code. It's C++ with multiple inheritance :) https://github.com/SuperTux/supertux/blob/master/src/badguy/...

There are several methods for dealing with each type of collision.

Just by looking at the screenshots, I can feel the nostalgia... I remember I've tried to create a clone of SuperTux with SDL when I started coding. I might still have it somewhere... I'm going to download it again and play for a while !

This was very touching to the heart. An amazing open source project using open source projects with collaborators everywhere.

I believe there also was a paid version with more levels. Was that discontinued?

Edit: Oh, I was thinking of TuxRacer.

This game is actually really fun and stable for an open source game. I can't believe I haven't tried it before now. It even mapped out the buttons for my Afterglow controller without any adjustment required. That's a refreshing surprise since most of my Linux games on Steam don't even recognize the controller.

I'm not sure what you mean? I have seen plenty of stable and fun open source games (esp. while HappyPenguin.org website was still live). I have also seen a lot of shitty games, both open and closed source (take a look at Google Play). I'd say that ratio is probably the same.

Never played this on my Linux desktop, though on my Nokia N900 this was the only game that I had installed. Great times, will play it again now it has been released again!

Last year, my 3.5 yr old niece, loved this game on linux laptop. Though she can't play much. Happy to see tux jumping :) Glad to see new release.

Wonder why it took 1 week to get posted.

Anyway, we've actually just now published packaged builds for Linux distros, available at https://software.opensuse.org/download.html?project=home%3Am...

I noticed there's a recently uploaded youtube clip of 0.4.0 in action - https://www.youtube.com/watch?v=L0Hwx1FfpEo

Hard to tell from the video, and it has been ages since i tried Supertux, but all too often when i try SMB clones they have this slippery feel to them. That when i let go of a directional button the character do not stop instantly, but "slides" for a block or two before coming to a halt.

Isn't that part of the later SMBs? It's not in Super Mario 1 + 2 for the GB, but sure is in SMB3 (although I only played the latter on emulators only).

Possibly, but i don't think it is as pronounced as in the various clones. Or at least i never found it annoying in the SMBs, but kept noticing it in the clones.

I'm pretty sure it's part of all of them. At least, I just tried it in an emulator and SMB definitely seems to have something like inertia built into the walk speed, and definitely running.

Supertux definitely does have that effect (I hate it ;). I only played the original Mario in emulators, so I can't tell you whether it's copied from original.

SMB3 has some sliding, more if you are on ice surface. Supertux has a wee bit less than SMB3 on ice surface, but all the time. I guess that´s intended as, well, you are a penguin on an icy world! :)

SuperTux also has ice (permafrost?), it's in the later levels: https://www.youtube.com/watch?v=9eKhJ8C3xxY

I like that I can play SuperTux on my Windows machine. (:

Probably thanks to SDL.

Not to diss the people who made SDL, but that's one part out of many parts that makes a Windows port work.

Actually, SDL is generally most of the parts that makes a Windows port work (having done that myself...); at least for older 2D titles and assuming you're not using any "middleware".

SDL provides input, graphics, sound, and even some OS-level abstractions. That's quite a bit of the effort involved in porting a game typically.

3D titles that were using DirectX or C#, of course, can be significantly more involved.

Hm, that doesn't match my experience with porting. You end up making a lot of changes to code for simple things like "list the files in a directory" or more intricate changes for complicated things like networking code or threading. Then you end up making a bunch of changes because the compiler you use on Windows is vastly different from GCC. Anything involving IPC will probably end up getting rewritten from scratch, along with any UIs that appear outside the game. Paths will have to be made case-sensitive for Linux ports. Endian issues had to be worked out on OS X ports (this was pre-2010).

Maybe we are porting different kinds of games?

Yes, I think that's likely. The titles I've contributed to or worked on generally don't have networking, threading, or muck about with the filesystem.

They usually are single-threaded, have a single file archive or open files from a single directory (without any searching or the like). Surprised you've run into IPC use at all really.

I have had to deal with the file case-sensitivity issue, but that's usually not the most difficult issue to resolve. SDL_physfs and SDL itself provides solutions for a lot of the usual hackery in dealing with file I/O though.

Never had to deal with Endian issues as I've only been involved with ports that ran on x86.

Still, I'd say that the parts that SDL provides abstractions for are the parts that I least want to deal with -- especially when it comes to input handling or dealing with screen resolution changes. Years of knowledge there.

SuperTux also uses a filesystem abstraction library: https://icculus.org/physfs/

Fortunately it doesn't need to do networking, threading, or IPC; those are definitely a pain. Boost provides an abstraction layer, but it's a big dependency.

At least Qt would be a good candidate to help with all of this. I've written many C++ apps which were entirely Qt and not at all platform dependent

It's been a long time since I played a good old jump'n'run. This is going to be fun.

Reminds me of http://xmoto.tuxfamily.org/

I am playing xmoto for years and it is probably the only game that I install on some of mine machines.

Very fun. Reminds me of Mario in a big way, and I love it.

If you love such games, take a look at Secret Maryo (another open-source Mario clone):


It's been forked due to inactivity, the newest release is available from http://www.secretchronicles.de/en/

Very cool. I remember playing this when it first showed up. Glad it's still alive :)

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact