This is a 2D platform game similiar to Super Mario World written in Java and C++ with a level editor. Available for PC, Android, GP2X and PSP platforms.
When I had the opportunity to quickly test the Java runnable JAR version of the game on an Apple Mac computer as I don't own one myself it was apparent the keyboard controls did not work and it was unplayable. This should be a relatively easy fix for anyone.
The Java SE version already contains all of the code for a fully functional level editor. It would be great to add this to the mobile version and would probably be not that much work to implement.
It would be great to include more power-ups similar to what is found in other platform games. Some suggestions are an item to enable flying, transforming into a giant character, a ghost who can travel through walls or throwing different types of projectiles. It could also be possible to monetise these power-ups, enhancements and different characters and costumes using an in-app purchase system.
Due to time constraints I only created a limited number of levels for this game. The code is in place to implement different game worlds containing up to 8 levels. It is more of a time constraint issue where someone would have to take the time to build the levels in the editor. Another proposal is that using AI or procedural level generation we could generate an infinite number of levels based on different precompiled level tile patterns.
An idea commonly seen in 2D games is the inclusion of mini subgames which are completely different to the main game which provide variety and prevent the player getting bored. For example a top down driving game or something similar to the Breakout, Pac Man or Space Invader games. I have already implemented warp pipes which can be used to access underground secret areas and vines to climb to higher up areas it would great to expand on these ideas.
The graphics and sprites used in the game must be royalty free and not taken from any other copyright sources or games. A lot of the original player, enemies and background are were taken from pixel artists on Deviant Art. It would be great if anyone reading this is actually a pixel artist and would be happy to produce some custom art for the game.
I have already implemented a physic based system for gravity and the movement of the characters. I have received feedback from many users that jumping is too fast or not high enough that could be improved. It would be great to add new features such as climbing, wall jumps, swimming and flying, friction on surfaces for the main character and enemies. Another interesting idea would be to improve the interaction with objects in the game environment with pulleys or gears or joint types and destructing world objects. These features could be implemented using a 2D Physics engine such as Box2D. One of the biggest improvements I have been suggested is to rewrite the collision detection algorithm using bounding spheres instead of boxes.
Currently I only own an Android mobile phone, tablet and Windows PC it would be beneficial to test the game running on different devices especially Apple Mac computers for the Java release and different phone and tablet sizes for the mobile version as there are known issues.
The graphics engine for the game was built based on a very old Android sprite method test demo. I propose a complete rewrite based on modern Open GL ES techniques. This would improve the overall framerate and mean levels could be larger with more sprites displayed on the screen at one time. A potential improvement could be made to the drawing of textures by instead of drawing each tile of the same time separately in each frame all tiles of the same type are drawn in one routine.
I have received a lot of feedback from users saying the touch screen control are not the best they could be. I would like to redesign the controls to provide a smoother experience for the user based on what other developers use in their own games. One suggestion I received was that instead of the d-pad and buttons being fixed in place they could move to the position where the user first touches the screen. It would also be great to add some haptic feedback for collisions or power-up collections.