FlyBy is Released!

After around 7 months of work, I have released FlyBy onto the Google Play Store! Check it out!

FlyBy On Google Play


FlyBy On Google Play

FlyBy is an exciting, fast paced, arcade style mobile game with a variety of exciting obstacles and challenges to complete! With randomly generated levels and online leader boards powered by Google Play. FlyBy offers many hours of plane flying fun! We hope you will enjoy playing and share our game with your friends!

Check out our website at for more information about us or follow us on Twitter at @FireFreeGames!


Collect coins to buy power ups and upgrades in the in game store
Randomly generated caves and levels for endless game play
Many different exciting obstacles to avoid and fly through
Online leader-board powered by Google Play Services
Thrilling challenges to complete


Working on FlyBy has been a long and at times challenging project. When I began the game I was just trying to make something small I could get done in a weekend. I made a little engine using LibGDX and put together a very rough prototype. After showing the prototype to Liam Bower we decided to work together (him doing art and me doing programming) and turn it into a full game. Our main goal always being to create a finished, released game. We figured it would take about a month to do. In reality it took us closer to 7. Along the way Luke Avery began doing small contributions on and off, mainly working on the in game menus, working with Liam to make them look the way Liam envisioned, while I worked on most the engine and core game play elements of the game. Adam Brown generously composed a few sound tracks and created some sound effects for the game as well.

Time lapse video of key versions of FlyBy’s development


There was a range of challenges I had  to overcome during the development, such as the procedural generation of the caves, game design decisions, performance optimization to improve the speed the game ran, integrating the Google Play Services into the game and countless other difficulties. Each challenge forced me to learn a lot about a wide range of topics.

FlyBy grew into a bigger project than I could have ever imagined when I started working on it, and I am proud of the way its turned out and the work everyone involved contributed to the game. So please, give it a go!

2 comments to FlyBy is Released!

  1. Alex Gonzales says:

    How did you sawp parallax in file? I tried but there’s always a gap in between. I load the next one with AssetManager so it won’t run in the same thread. But when I try joinging, there’s always a bitter FPS drop.

    Could you please write a tutorial with your parallax effect and dynamic loading/swapping? Thank you.

    I have been playing your game for a week now as this is really really fun! :)

    Wish you all the best.

    • Nathisgreen says:

      Hi Alex,

      I am glad you are enjoying FlyBy, it is really great to hear that!

      However, I’m sorry to hear about your problem. Firstly, I too have found the FPS drop with loading assets during game play, to get around this problem I preloaded assets before the game and store them all in memory. If you have a lot of assets for different parts of the game, it might be an idea to load and unload the assets that will be needed before use (for example, load all assets that will be used in one level before that level starts, then unload them after it finishes).

      As for the gap, I can’t say for sure without seeing your code, but I have experienced similar issues myself. My approach is this:

      Say you got two textures you want to scroll. Texture1 and Texture2. They both have pretty simple code that moves them the same speed, maybe something such as:

      position.x -= speed;

      (In reality you should probably be multiplying speed by delta time, but lets not worry about that for now)

      When say, Texture1 scrolls off the screen, you want to move it back to the edge of Texture2. I would do this by doing:

      Texture1.position.x = Texture2.position.x + Texture2.width – speed ;

      Including the speed it will move that frame normally fixes the gap for me.

      I hope this will help you some, if not I would highly suggest the LibGDX forums (provided you are working with LibGDX) for further help. You will probably get much faster replies there!


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>