Sign in to follow this  

Fly the Fish

This topic is 663 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Edit: I accidentally tagged this as Game Announcement, but I think it's supposed to be Game Release.
 
I spent about a year building a mobile game for iOS and Android by myself. I wanted to share the experience of it with anyone who might be interested. 
 
Game Title: Fly the Fish
 
Fly the Fish is a 2d physics based game. Gameplay is pretty simple, create balloons to go up, pop balloons to go down. Tilt your screen to go left and right. You have to be careful not to break the fishbowl or you lose. Objective is to dodge the obstacles and escape down the pipe. Game trailer on youtube. It's a free game supported by in-app purchases and some ads. I came up with the idea during a game development class in college. It was too complicated to make for that class so I decided to do it on my own. 
 
Technical
 
Rendering:Opengl-ES
 
Physics:Box2d with Google's Liquidfun extension (Box2d is same physics engine as Angry Birds).
 
Game Engine: Custom built from scratch by myself. 
 
Programing Languages/Scripts Android: Java, C, C++, JSON.
 
Programing Languages/Scripts iOS: Swift, Objective-C, C, C++, JSON.
 
I decided not to use a proprietary game engine because I wanted to learn opengl as much as possible. Overall it was pretty challenging. I used mostly open source software including gimp for the artwork, and blender for the foreground. The foreground, (the colorful stripy texture) is actually a 2d mesh made in blender. 
 
Challenges
 
Rendering the liquid was difficult. Mobile phones have limited processing power, so I had to get it just right. The liquid effect is actually a double-pass, 'post-effect' rendering, where it is drawn once off screen, then back on screen. 
 
Opengl was a big learning curve. Especially by yourself. I purchased a book to help. 
 
Building for two operating systems. If I had to do it over again, I would have made the entire game in c++. I didn't because Android frowns upon doing that for whatever reason, but with the wisdom of hindsight I would have ignored that and done it anyway. It would have made code portability a lot easier.
 
Aspect ratios, so many different screen sizes and ratios.
 
Building a gui system from scratch. 
 
Background music, I'm not a musician, but luckily my dad is. I used garage band and he helped me out with the theme song.  
 
Developer Tools
XCode, Android Studio, Blender, Gimp, Garage Band, Audacity, etc.
 
 
 
 
Any suggestions, questions or comments are much appreciated. Thanks guys. 
Edited by Njguy

Share this post


Link to post
Share on other sites
Sign in to follow this