Remastering my classic games.. and why

Almost done! The last two and a half weeks I’ve been working hard on getting a bunch of my older games up and running on the latest version of my framework. I made a little video about it which you can watch here, and for a little more background story, I’m doing an old-fashioned blog. So check the video if you haven’t yet, and then continue reading below:

Let’s explain a bit of the technical side of this remastering.

Old engine

So the full list of remastered games right now as I type this is: Stardash, INC, Neoteria, and Meganoid2, with at least Groundskeeper 2 still on the todo list.

These games were originally created between 2010 and 2013. Just a quick reminder, that’s about 5-6 versions of both iOS and Android operating systems ago. Not to mention the extreme amount of different devices that has come out since.

My old framework at that time powered these games, and it didn’t run on OpenGL technology, so the games mostly ran at about 25-30 frames per second, because I was using a bunch of tricks to make standard Canvas rendering fast enough to handle the games on the hardware of that time.  This was never an issue, because it also fit the graphics pretty well and the overall feeling of the game was what it was. Nobody ever complained about the frame-rate !

Even more interesting, my engine was NOT cross-platform compatible. So for the iPhone/iPad version, I had to port the Java code over to Object-C, meaning I had two separate versions of each game. Not a big problem, as I always enjoyed porting the code, as it was a nice way to wind down from working on the game.

New Engine

So in 2015-ish, I started having a serious look at doing games for PC, and for that I needed another solution. In came LibGDX, a library that was also running on Java, but had the option to do cross-platform releases including a PC release (windows,linux,mac). I’ve had looked at it many times before, but this time I decided to take the step and start working with LibGDX as the base.  I even converted some of my previously developed games to it like Gunslugs 1 and Heroes of Loot 1 (which were released slightly before the switch of engine).

Switching a framework is a big thing, I did it in 2009 when I had to move from J2ME games to Android/iOS games, and so I did it again in 2015. Guess that means I switch to a new engine every 5-6 years, next one in 2020 ? (already eyeing solutions like monogame, which would allow porting games to Consoles).

Reason ONE for remastering

So the first and main reason for remastering my games, and let’s just say this,  is simply business! This is a full-time job for me, so if I put time into something I ALWAYS look at it to see if I can make money with it.  Would I have done the remasters if I had no way of earning money with it?  Maybe.. might still have done it because of the other reasons, but this is certainly a big reason for me, time is money, especially if you are self-employed!

Having these new versions means that pushing updates, changes, fixes, is a matter of pressing some buttons, and running some upload-scripts. This was the main reason I wasn’t maintaining the games anymore: the iOS code won’t compile, the Android code won’t run without messed-up graphics, and the PC version didn’t exist.

Right now I have these games all live and updated, and that means I can also sell them again to people who might have never played them. I can also do sales and discounts with them, or bundle them up, and upload them to a few interesting 3rd party markets out there.  All in all my guess is that over the next year these games combined can still do a few thousand euros.  That’s more than enough for 2-3 weeks of work.

Reason TWO for remastering

HISTORY! These games are part of my history! like I mentioned in the video. Stardash is still an awesome platformer, INC is the roots of Gunslugs, Neoteria is one of the few horizontal shoot-em-ups I created. Each game has a history and is part of all the games that came after it.

Sometimes gamers think developers don’t care, but we do! Trust me. Sadly sometimes it’s just not possible to keep updating games for newer hardware, and at some point the games will go to the big game-graveyard. I just wasn’t ready to let these games die just yet, and I came up with a good way to get them running on the new framework.

Reason THREE for remastering

Winding down! I’ve mentioned this before in various places, but after I complete a project, I need to wind down. My creative brain is done and exhausted from working on the last game, and simply going into the next game project can be hard to do. Especially this time, as I created Meganoid2017 in 2017 in 3 months, while doing Ashworld before and after that for a total of 12 months, and then dove straight into Gunslugs 3 for a few months and then took a break to complete Sir Questionnaire for 4 months.. that’s a lot of game development without any real breaks.

So before I go back in, I had to refuel, but because I’m not good at doing nothing, this was a great project that requires little thinking and was mostly boring code re-arranging and asset creation. By the time I’m done with all these remasters, I bet my brain will want to do something a lot more creative.. or at least I hope so!

Actual Remastering process

So what was the actual process of remastering the games? Most of it was rewriting all the rendering and audio code. Luckily, with all games sharing a lot of the same code due to using the same framework, most of the work I had to do for this was in Stardash as that was the first project I tackled. I wrote a layer that basically sits between the old-code and the new code as a sort of translator for all the commands, and with that layer in place, I had to do a minimal amount of work to get all the stuff to rendering correctly and sound+music playing correctly.

Then once that was all up and running, I had to fully update the interfaces in each game because I wanted to support the latest gamepads. As most of these games were written for Touch controls only, and then later had a bunch of patches for 3-7 different types of controllers (2010-2013 were the cowboy days of mobile-gamepads)..  I ripped out a lot of that stuff and plugged in the new menu-interface code which I’ve been using in all my recent games.

Finally a bunch of testing, and in some cases some minor gameplay tweaks (improve collision detection in one game, the controls in another game, etc).

And Finally

…and finally the various store pages needed a bunch of work. For Stardash and INC I had to create a completely new release trailer, since those games never had one and just some crappy camera-recorded footage of playing the game.  On iOS I had to create short 15-30second video clips for the store-page for each and every game,  then create five new screenshots for each and every game, a couple of new banners for AndroidTV support,  fill out new rating-forms, improve some marketing text left and right, and for the PC version setup completely new pages.

I also updated all the pages on the Orangepixel site, so each game page has the correct screenshots, icons, and video’s, and added a bunch of “update” posts to the various games.

All in all, it’s been an interesting few weeks, but I feel like it’s been worth it. I’m hopeful that these games will now be up and running on current hardware for at least another 4-5 years, maybe more.. we’ll see.

Bookmark the permalink.