I have been noticing that there are quite a few instances of my original port of Kento Chos esoteric shooter – Noiz2 available. It has made it’s way across the internet on various app stores mostly unchanged which is fine by me. A few people have added adverts. Good luck to them.
Anyway, just to keep ahead of the game a bit I thought it was time to lavish some love on the noiz2 codebase and see if I couldn’t bring something new to the party. With this in mind I have mavenized it, ported it over to use LibGDX and put it up on Github. This took most of this weekend but I think I have almost got there.
The main new additions are:
- Mavenized (hurray)
- Moving star background
- Minor tweaks to the GFX.
- Much nicer menu with a lot borrowed from the Simple Shooter demo.
It is not finished. I have not wired the preferences or the persistence of what levels the player has completed. Also the Android platform hasn’t been added yet.
The most interesting thing about the porting procedure was that it was pretty painless. I had abstracted the graphics and control elements previously as I had OpenGL and Canvas renderers available for the Android version. Wiring in the GDX elements was a complete doddle.
- Rewrite the ScreenGDX primitive renderer to be more efficient (I have yet to try this on Android).
- Proper glowing vector lines.
- Saving game state.
- Saving preferences.
Code is here.
I have got persistence of the game state and some of the original setting like sound and volume working with the LibGDX ‘Preferences’ class. Not so hard after all. The settings screen is a little flaky though. I have also started to tidy up a lot of the game text which was a bit wonky looking. One thing to note is I have ditched the original bitmap logo as I just don’t think it looked very good. I am trying to improve the look and feel overall rather than go for a ‘classic’ port of the game. I have, after all, already done that.
Added a nice menu. Can’t get it to run on Android yet.
Working on Android. Looks good. Persistence of settings not working properly. I plan to fix this and then publish as an update.