I'm crowdfunding my newest game: reTux (new Mario-inspired platformer)


diligentcircle

Well-Known Member
Joined
Aug 29, 2011
Messages
1,594
Age
31
Location
Milky Way galaxy
Website
onpon4.github.io
ReTux is a new game I've been working on, written in Python and utilizing the art assets from SuperTux. Campaign page is here:


http://igg.me/at/retux


Videos here:


https://goblinrefuge.com/mediagoblin/u/onpon4/m/retux-world-1-gameplay/


https://goblinrefuge.com/mediagoblin/u/onpon4/m/retux-concept-castle/


To be perfectly clear, reTux runs on the Pandora, but not well; on my classic edition Pandora, it's around 2 FPS, I think (my rough estimation just from looking at it; I haven't looked at the actual numbers).
 
Why Python, specifically? It's kind-of okay for educational purposes, ala PyGame, but good lord is it ever slow and unwieldy for such things. I guess it's portable, which is a benefit, and it's not Java which is also a benefit.

Your finished sourcecode may be beneficial to people who understand Python and want to learn how to create a fully-fledged game. I'm speaking, of course, of the growing Python-literate crowd within the Raspberry Pi community. Are you using PyGame, or Python bindings against other libraries?

Sorry for the wall-o-questions, but the details of the project interest me more than the game itself.

Also, $50,000 is an ambitious goal, but I understand why you've set it there! Good luck.
 
lol, ymmd. XD

No, seriously: People doing platformers in their spare time (*cough* Snowman *cough*) and you want 50.000$ for a new SuperTux, which is just a bit closer to the original Super Mario games, using all assets from it? Sorry, I can hack you the jump and run engine in one afternoon using C, would load the levels from Tiled files and let the community make some nice levels with it. Work done.

The pandora is slower than a normal™ PC, yes. But not "only 2 fps" slow. This is incredible slow. You should really consider using something else instead of python... If it is open source anyway, why not C? It would still run everywhere.

Sorry, but this way this is someway ridiculous.

Good luck anyway.
 
Last edited by a moderator:
Well... I really like the Music is it(The Music) from You? I would buy it, when many Levels are as feature rich as the Concept Castle. But I noticed some light Frame-rate Drops in the same Video, so when it laggs a bit already on a Full-Blown PC how will it run on Smartphones and especially on the Pandora?
 
Last edited by a moderator:
Are you using PyGame, or Python bindings against other libraries?
I'm using the SGE Game Engine, which I developed:
http://stellarengine.nongnu.org


Currently, the SGE uses Pygame as a backend. I do intend to re-implement it once it reaches version 1.0 (which I'll be doing after reTux is finished) in either Pyglet or PySDL2. I'm hoping that combined with PyPy will make it faster, in particular. But it might also make it more portable, e.g. make it work with Jython.

you want 50.000$ for a new SuperTux, which is just a bit closer to the original Super Mario games, using all assets from it?
I don't think reTux is closer to the Mario games than SuperTux is. ReTux's design includes several deviations from the Mario games which SuperTux didn't make, such as carrying fire flowers a la Super Smash Bros and using hearts for health instead of transformations.

The $50,000 goal is just that, an ambitious goal. I would consider the campaign to be successful at $10,000. But since what I'm promising if the goal is reached may require me to do things like quit my day job and suspend other activities, I set the goal much higher.

Sorry, I can hack you the jump and run engine in one afternoon using C
If what you say is true, please do so! ReTux includes half-solid tiles in all directions, slopes at any angle which can be half-solid, and any of these moving the push objects around. Of course, this is all facilitated by the xsge_physics library, though that library originally started as a part of reTux. If you can do all of this efficiently in C, in a matter of hours, and also add all the creatures, items, a nicely handling camera, the menus, control customization including joystick support, and properly interpreting the contents of TMX files for levels and worldmaps, all in this short amount of time, you could easily make substantial contributions to the libre software community!
The pandora is slower than a normal™ PC, yes. But not "only 2 fps" slow.
Sure it is. How else do you figure not only reTux, but several other games written in high-level languages simply do not perform well on it? Take a look at Endgame: Singularity for another example (which itself is written in Python).

To be fair, an overclocked 1GHz unit would almost certainly yield better performance than a classic unit at the default clock rate. So, I don't know, maybe you'd get more like 5 FPS. It's still not really that good of a speed, though, so I don't think it matters. The way I intend to make the SGE Game Engine faster in the future is to write a new implementation of it that is compatible with PyPy, and that won't help the Pandora due to the tiny amount of RAM available to it.

Well... I really like the Music is it(The Music) from You?
All of the music is from the SuperTux project. Someone has asked me about the music used in Concept Castle before; it's "Dark Forest Keep", the music used in the castle of the forest world in SuperTux.
But I noticed some light Frame-rate Drops in the same Video, so when it laggs a bit already on a Full-Blown PC how will it run on Smartphones and especially on the Pandora?
Let me be perfectly clear: reTux will almost certainly never run on the Pandora. Even if a PyPy speed boost were to get past the slow speed of the Pandora's CPU, reTux currently eats up around 750 MB of RAM. That's substantially reduced when backgrounds are disabled, but PyPy would increase the RAM consumption even more.

The Pyra might be able to run it decently, however.


The frame rate drops in Concept Castle, though, could have been mitigated by splitting the various sections into multiple rooms, and this is something I would have done if it were an actual level in the game.


Frame rate drops mainly happen when a large number of objects are involved in collision detection (basically, when they are present in the view, or slightly outside of it; exact distance varies by object type) at one given time. Currently, I compensate for this in level design. In the future, I'm hoping that running the game in PyPy, or perhaps a better-optimized SGE implementation, will enable a speed boost, not just for reTux, but for all games written with it. (Being able to make such broad-spectrum improvements to games is one of the goals of the SGE's design.)
 
Last edited by a moderator:
It would be really cool to have this on the Pyra. On the pandora, i have played mostly platformers. good luck man and looking forward to 'apt-get install reTux' =]
 
SuperTux runs without any issues on the Pandora (and even slower devices).


Wouldn't it have been better to implement your new features into the existing SuperTux sourcecode?
 
So, let me play the devil's advocate here.

You are developing a hobby-quality platform game (these type of games are a dime a dozen). You are not creating new artwork, music and sound nor are you creating a new engine.

This means that the added value of the game being open-sourced in the end is minimal (we are not gaining anything beside the game itself).

I think you need to strengthen your story and your value proposition if you want the funding to be a success (at the current rate you might barely hit $1000).

Given the technology choices you make (development speed over execution performance), I don't see this filling up half a year of effort. Therefore your goal seems a tad high.

Anyway, good luck with it.
 
On your indiegogo page. Instead of the image you have of the game, you should instead have the video of the game.  ie have your most impactfull marketing first and foremost. 
 
If you are planning to reimplement the backend of SGE I would hardly advise to not use python for this, but C.

And what is a high level language for you? If you don't like C, use C++...

I mean: Your project sounds goods. And you will finish it anyway (Whyever you are bragging for money then in the first place, but anyway). But it would be pity, if somebody then could not play it at 1080p on his PC or on the Pandora just because you made a wrong decision using python for everything. I think a C/C++ library/engine + python connecting everything could work well.
 
Use a bvh or kdtree for speeding up. The collision detection.
 
Wouldn't it have been better to implement your new features into the existing SuperTux sourcecode?
Not necessarily. SuperTux in its current state doesn't work for my needs for various reasons, but in general, because it's in an alpha state and because there are a lot of design decisions I don't like and little things I would need to add. Additionally, this was a perfect opportunity to test the SGE Game Engine (which I am the developer of). I think I made the right decision here.

You are developing a hobby-quality platform game (these type of games are a dime a dozen).
"Hobby quality" in what way? The only libre platformer which is finished that I would say is at the same quality level as reTux is Alex the Allegator 4. That's a great game, but it's a different one (and it's nowhere near as advanced, mind).


When I see "hobby quality", I think of something like Barbie Seahorse Adventures.

On your indiegogo page. Instead of the image you have of the game, you should instead have the video of the game.
I wanted to, but I can't. IndieGoGo only supports linking to YouTube and Vimeo videos, for some reason. I don't have an account on either of those sites.

And what is a high level language for you? If you don't like C, use C++...
I don't like C++ in general. I think it's an unholy mess of different programming paradigms. If I wanted to go as low-level as that for a new project built from scratch, I'd be more in favor of C.
 
Last edited by a moderator:
Python's fine for high-level game control a lot of the time, and fine for prototyping engine algorithms, but I wouldn't suggest your engine is done if it's still written in Python personally.  And as Python is an increasingly high-level language, you'd need to avoid using some of those more powerful constructs in your python prototype, to make converting it to a lower-level language easier.  You could iterate down from high level python through simple python to C I guess though.

Good luck with your project though.
 
Use a bvh or kdtree for speeding up. The collision detection.
The SGE Game Engine uses a primitive variation of BVH (all objects are sorted into a static grid of "collision areas"), but thank you for mentioning this; it made me notice that I had forgotten to make certain objects not check for collisions, and this was wasteful. (Basically, several floor objects were checking for collisions with each other, which is unnecessary as the player and other "collider" objects were already checking for collisions with them.) It's been fixed, and this prevents most slowdowns, though the particular slowdown in Concept Castle doesn't see any noticeable benefit since it's mostly caused by the large number of enemies there.
 
Wouldn't it have been better to implement your new features into the existing SuperTux sourcecode?
Not necessarily. SuperTux in its current state doesn't work for my needs for various reasons, but in general, because it's in an alpha state and because there are a lot of design decisions I don't like and little things I would need to add. Additionally, this was a perfect opportunity to test the SGE Game Engine (which I am the developer of). I think I made the right decision here.

You are developing a hobby-quality platform game (these type of games are a dime a dozen).
"Hobby quality" in what way? The only libre platformer which is finished that I would say is at the same quality level as reTux is Alex the Allegator 4. That's a great game, but it's a different one (and it's nowhere near as advanced, mind).


When I see "hobby quality", I think of something like Barbie Seahorse Adventures.

On your indiegogo page. Instead of the image you have of the game, you should instead have the video of the game.
I wanted to, but I can't. IndieGoGo only supports linking to YouTube and Vimeo videos, for some reason. I don't have an account on either of those sites.

And what is a high level language for you? If you don't like C, use C++...
I don't like C++ in general. I think it's an unholy mess of different programming paradigms. If I wanted to go as low-level as that for a new project built from scratch, I'd be more in favor of C.
If you want to write an new engine, in an other programming language, you should have a look on Haxeflixel: http://haxeflixel.com/.With the same code you can easily Cross-Compile to Linux, Windows, MacOS, Android, IOS, Html5/Javascript and Flash.
 
If you want to write an new engine, in an other programming language, you should have a look on Haxeflixel: http://haxeflixel.com/.With the same code you can easily Cross-Compile to Linux, Windows, MacOS, Android, IOS, Html5/Javascript and Flash.
What suggests that will be any faster than Python to run a game engine? I'd certainly be surprised if it was anywhere near as fast as C/C++.
Perhaps it has a lot of low level utility libs written in a low level language and compiled to native, but looking at the APIs it looks a bit general purpose to me, and pretty high level.
 
If you want to write an new engine, in an other programming language, you should have a look on Haxeflixel: http://haxeflixel.com/.With the same code you can easily Cross-Compile to Linux, Windows, MacOS, Android, IOS, Html5/Javascript and Flash.
What suggests that will be any faster than Python to run a game engine? I'd certainly be surprised if it was anywhere near as fast as C/C++.

Perhaps it has a lot of low level utility libs written in a low level language and compiled to native, but looking at the APIs it looks a bit general purpose to me, and pretty high level.
The trick is: For Linux, Windows, MacOS and Android it compiles the "Haxe" source code to c++. For IOS to Objective-C,for Html5/Javascript to Javascript and for Flash of course to Flash. So for Linux, Windows, MacOS and Android it is actualy C++.
 
Last edited by a moderator:
Back
Top