This is a guest post by Jan, an Indie game developer from Germany working on the action game FrogaBee. He explains why he chose Felgo over Unity, Unreal & Ogre when he decided to make a 2D mobile game.
This is an abstract of how I created my first tiny little game called FrogaBee. As I am just one person with a full-time-job and family duties, I do not have a lot of spare time. Because of this, I try to pick my tools wisely. I hope that this article can help others that have a good idea for a game but are in a similar situation.
Game Engine Comparison
As a programmer, I have fiddled around with several game engines in the past. I had a look at Unity, Unreal Engine and Ogre. I even wrote two game engines on my own, but I never finished them. What I have learned from writing my own game engine is, that it’s a major effort to make and keep the engine compatible and running on several platforms. So I decided to take an existing solution. All of the above mentioned solutions have got their pros and cons, but for a 2D game I decided, that Felgo would be the best solution. I have to confess, that I started using the scripting framework Qt Quick a long time ago, so I was able to start right away. But I think, that even for people that are not familiar with it, the scripting language is easy to learn and use.
I can definitely point out, what led me to be using Qt and the Felgo framework:
- The simplicity to code (Qt Creator IDE, Qt Quick scripting language)
- Easy scalability for phones and tablets
- Easy deployment to mobile devices
- Easy integration of social media
- Shared services for a highscore list on Android and iOS
- Almost having the game ready at the end of the two-week trial phase (in the evening hours after my full-time-job)
- Last but not least: The friendly, fast and reliable service of the Felgo team
Sign up for Qt framework training & consulting if you need help with it.
Coding
As a Version Control System (VCS) I chose Git. It is probably not the easiest VCS, but definitely one of the most flexible and powerful ones. I think it makes sense to use some kind of VCS, no matter how small or big the project is. I have got my repository hosted at Bitbucket because it is free for up to five persons and private.
For the coding itself I used the IDE Qt Creator.
I must say, that I like the fact that Felgo is fully embedded into Qt Creator. You can even use the built-in documentation for all the custom Felgo items and you can find good explanations and examples. In my opinion, and for what I have seen so far, Qt Creator is the best integrated development environment (IDE) on Mac and the second best IDE on Windows. Even the deployment to mobile devices, no matter if it is Android or iOS, usually works just fine and fast.
Before I started to code the game itself, I looked through all the examples and demo games provided by Felgo. I took one of the demo games as a foundation for my directory- and file-layout and started to implement my own stuff. I did get along without adding any extra functionality in C++. I only used the QML and JavaScript scripting languages. QML does not really force you to write clean code. So I decided to at least separate the main game logic into a separate JavaScript file whereas the building blocks got set up in Qt Quick.
Graphics
The first draft and the idea for the game were born while scribbling with my son. The game actually looks almost the same as that painting we did. When I looked at the painting the frog started to catch flies with its tongue in my mind’s eye, so a few days later I did the first digital draft of it using the software Synfig Studio and fiddled around with animations. I printed those drafts out and had them floating around at home for a while. Every now and then I wrote down an idea on that sheet of paper on how things could interact. I created the second draft of the user interface with the vector based software Inkscape. I like vector based painting for its scalability and workability. For the final rasterization and modification of all the icons I used the software Gimp.
I can definitely say that I underestimated the effort of preparing all the icons, screenshots and other graphics needed for the game itself and the online stores. Next time I will definitely spend the time to create some kind of script to resize the icons (there are twelve different sizes needed for Android and iOS). The Felgo framework recommends to provide in-game graphics in three different sizes (called sd, hd & hd2). I decided to create all the graphics for the game in the largest resolution (hd2) first. I have modified the scaling script provided by Felgo to spit out all the other needed sizes for me.
Sounds
For the sound design I used free samples, some samples from my own audio library and also recorded some on my own. I just needed a simple editor to modify the samples. I used the software Audacity for it. When I implemented the game I had audio dropouts when sounds got triggered rapidly. The Felgo team thankfully helped me a lot to get rid of those issues.
Recap
In the end it was a lot of fun to create the game. I thankfully had some testers that helped me out on balancing the game to work for kids and adults. And I also have to thank the Felgo team for their supporting emails and support forum threads: one day I wrote an email to the support at 2am and received a helpful reply like ten minutes later 🙂 Thanks for that!
In case I wrote another game like this in the near future, I would probably be using the same tools again!
You can download Frogabee here for iOS and Android.
More Posts like This
Guest Post: How we created the Jump ’n’ Run game Pharaoh’s Escape with Felgo
Guest Post: Developing an Innovative Puzzle Game – Blockoban
Marmalade vs Unity vs Corona Vs Felgo-Guest Post