Blog | Superflous Returnz

Blog | Superflous Returnz Blog | Superflous Returnz
  • Steam
  • Nintendo Switch
  • Google Play
Superfluous and his assistant Sophie


Superfluous joins the Marvel team


Aaaah, at last, I can tell you about this crazy project that's coming to fruition!

Negotiations had been going on for several months in the greatest secrecy. It's now a done deal, and it's not without a certain pride that I announce today the integration of my Superfluous character into the great Marvel superhero family!


“Little Brats!”, teaser



The game is now available on Nintendo Switch!


It is with great pride that I announce the release, today, of the first official port of Superfluous Returnz on console, and not the least: the Nintendo Switch!


Many new things


A whole host of changes as the year draws to a close: a revamped website, a new trailer, and above all, version 1.6.0 of the game. In addition to gamepad rumble, as well as a few optimizations and bug fixes, it brings an important change: the game's engine, Sosage moves from the GNU GPL license to the MIT license.


Artbook, Comic Book and Deluxe Edition


Today sees the release of two new books: the game's artbook and the English translation of the comic book!


How I joined the bug 323 community


This is the story of bug that makes you want to tear your hair out. The kind of bug where you end up thinking: “But that's not possible, the compiler is screwing up, no way it's something else!”

And a compiler bug is no small thing: in 12 years of C++ programming, I've found (and reported) just... one. And I can tell you that before reporting the bug to GCC, I tested/retested/checked in every possible way to make sure I wasn't going to look like an idiot.

Anyway. Here's the story.


Creating a modern multi-controller interface for point-and-click


Well, just because the game's out doesn't mean I'm going to stop doing making-of! So here's a video that took me a while to make, but which I thought was important: it explains how I came up with the game's interface, with all the problems that had to be solved (making it pleasant, usable with a mouse, a touch screen, a joystick, etc.).

Enjoy and see you soon for new making-ofs :)


The game is now available in Italian!


I'm proud to announce that Superfluous Returnz is now available in Italian, under the name Superfluo Ritorns! As the game is set in a small French village, I think it's great that it's been translated into another European language, and I hope that players in Italy will appreciate the familiar atmosphere :)


The game's soundtrack is available


You can freely listen to the game's soundtrack on Peertube (and soon on YouTube, the upload is in progress but YouTube has certain limitations so it takes a while).


Superfluous Returnz on a French radio


The day after the release of the game, I was interviewed about it in Libre à vous!, the April show on the French radio Cause Commune.


Superfluous Returnz is released!


Not much more to say, the title speaks for itself! You can now buy the game on Steam or (on Google Play, I'm still waiting for the app to be validated, so you'll have to wait a bit more).


The Game is out in 10 days!


I finished the game yesterday afternoon when I integrated the very last sound effects. The conclusion of a 3 and a half year work is approaching!


The Issue with Transparent Pixels in Anisotropic Filtering


In the series of problems that I never imagined I would have to deal with when I started developing this video game, I present to you: the problem of transparent pixels in PNG.


Le Blues de la station service (Gas Station Blues)


Having almost finished the game's graphics (apart from a few cinematics), I'm in the middle of recording the music. So I thought I'd show you one, like that, as a little extra teaser.


Vsync: the correct way to refresh the screen using SDL2


If you read a tutorial on how to handle display with the SDL library, chances are it sums it up as a loop: perform the computations for the “logic” of the game (moving the characters, etc.), invoke the display functions, refresh the screen, then put the program to “sleep” for a while.

Except that this method is obsolete and we can do much better ... let's see that.


How I (almost) fucked up half a day's work


A little feedback on a big blow that happened to me this morning ... and on how I ended up solving it. This is not a usual making-ofs article, but I think that this experience could be useful to others.


Graphical basics are done!


So far, I've mostly made blog posts to explain the development of the game, but for once, this is just an announcement post: after months of work, I have finished the game's graphical basics! 🎉 🎉 🎉




As you may or may not know, I'm French and I'm writing the story and dialogs of Superfluous Returnz in the French language. But fairly early in the development of the game, I thought it would be nice to be able to translate it, especially in English, just in order to broaden the potential audience.

So I'm going to talk to you about internationalization, or i18n for short. As the game does not have any recorded voices to date, it is mainly a question of translating the texts… and a few images.


An efficient image format for SDL


Superfluous Returnz is a 2D video game with a very classic “cartoon” style: if we put aside the descriptions of the levels and the sound part, the entire content to be loaded therefore consists of 2D images (the animations being simply successions of images).

In order to avoid excessively long loading times between levels and an overly large memory use on disk, choosing the right image format is therefore critical.


Trailer and New Demo


I'm very proud to present the official trailer for Superfluous Returnz!


Asset management


A critical part of video game development that is rarely discussed in “classic” programming courses is the management of assets, i.e. game data (levels, images, sounds, etc.).

Alright, in general, we do know how to read files in C++, but here I want to talk about having an automated and cross-platform mechanism: you don't want the player to have to specify, at each launch, where the assets are ...


Linux to MacOS cross-compilation


Last time, I explained how to compile and distribute a game for Windows from Linux. This time, I'll do the same thing, but with MacOS as the target system, a procedure that is a little less well documented on the Internet.


Linux to Windows Cross-compilation


You probably won't be surprised if I tell you that I do development —and also perform all of my digital activities– on GNU/Linux. Of course, as many people use Microsoft Windows to play games, it is obvious that the game must also run on this platform.

As I'm not into the idea of ​​approaching a Windows system without the presence of an exorcist, I looked early into the possibility of "cross-compiling" my game: producing a Windows-compatible executable (the famous .exe) from a Linux environment.


The scenery: a rural French aesthetic


After a few technical articles, I wanted to do a making-of that's a bit more focused on the artistic aspect of the game. In addition, it will be an occasion to show you some images. Since most of the work I'm doing right now is on the graphics part of the game, this seems like a good time to do it.


Porting an SDL game on Android (2/2)


Last time, I discussed the whole technical aspect of “setting up” an Android environment to run our game: configuration, compilation, etc.

Now, we get to the heart of the matter: what does it change, on the code side, to port an SDL2 game on Android?


Porting an SDL game on Android (1/2)


Very early in the development of the game, I had the idea of porting it to Android: the game style (point and click) fits the platform, for example I really enjoyed playing Thimbleweed Park on tablet (and being able to play old LucasArts on your phone via ScummVM is a pleasure too).

This is one of the reasons that lead me to switch from SDL1 to SDL2 which, in addition to providing welcome hardware acceleration to display high resolution images and animations, offers Android support (and even provides quite a bit of tools to manage this platform, we'll come to that).


Superfluous Returnz is on Steam and!


A quick little article to let you know that Superfluous Returnz is now registered on Steam and! It will be published on these two platforms on its release date, for the moment set for June 2022 (but it is possible that this date will evolve, in one direction or the other).


Writing a puzzle game


For this new making-of, I'll start by reminding you (or teaching you, perhaps) several features of Superfluous Returnz:

  • it is (it will be) a video game which will consist mainly of a succession of more or less twisted puzzles: pick up this or that object, use it on something, talk with this and that character, find clues, solve codes, unlock padlocks, etc. Nothing very innovative, it remains in the great tradition of point-and-click games.
  • the player will evolve in an open world. I mean, don't imagine something as huge as Breath of the Wild! The number of places to visit will be much more modest, but you will be able to come and go as you please in the small village of Fochougny (even if some places will have to be unlocked), it won't be a linear succession of well-separated rooms (except for the introduction)
  • it will be impossible to lose or get stuck: if you forgot to pick up an item, then it will always be possible to get it back when you need to use it (you will never need to load an older save to unblock you). Neither will any action lead to death or a dead end that would force you to reload another save. The only difficulty will come from solving the puzzles and the time it will take you to understand and solve them 🙂


The basics of a cross-platform game


From the start of the game's development, it seemed obvious to me that it had to be cross-platform: it had to run at least on Gnunux (makes sense, this is the OS I use), on Windows (the most popular OS on desktop / laptop) and on Android (the most popular OS on tablets and phones). Derivatives like LineageOS are included in “Android”. Also, I wanted to make a web port to be able to play it directly in the browser.

I will now explain to you how I managed to create these different versions using the same code base as much as possible (apart from a few adaptations, I'll come back to this).


Superfluous Returnz, playable demo





This is what will undoubtedly be the last making-of of the year before the release of the playable demo of the Superfluous video game scheduled for the end of the year.

I already discussed, in order:

We will tackle the last big piece that is necessary for the game: writing and storing “levels” (which we should rather call “rooms” since the game is separated into different rooms connected by doors and corridors).


Musical themes


After talking about graphics and programming, we are going to tackle a third facet which is: music!

Most of the musics that I'm composing for the game are ambient musics, they are relatively discreet and their goal is to provide a background sound that is neither boring nor annoying (since it loops), and that is not a distraction for the player either (the goal is to solve puzzles). Nevertheless, I still had fun composing big musical “themes”, especially specific themes for the characters. These themes will likely be used during cutscenes and transition sequences.


Characters with characteristics


Last time, I told you about the algorithmic aspect of travel: today explains how I handled the graphics part.


Location & Moving


For this first making-of, I will present you one of the first problems I had to deal with: displaying and moving a character in a scene.