Matthijs and Tom took time to talk with us about developing “Game Of Threes”. Read on:
1. Tell us where you came up with the idea for this game. What were your inspirations?
About 3 years ago Matthijs went to India for an extensive IT training related to his day job. In his limited spare time there he started playing mobile games just to relax and get his mind of the studying. He was inspired by the way mobile games were rolled out to the user base, the graphics and the user engagement. When he came back and enjoyed a beer with Tom they both got inspired by the whole concept of mobile gaming. Matthijs has an IT background in developing line of business applications, Tom a great portfolio on designing and photography. We came up with the idea of creating a game, having no experience whatsoever
We just said: Okay we will start from scratch to learn how to create and release a cross-platform game.
The match-3 genre was compelling to us.
We’ve been working on this game for about 2 and a half years on and off. Tom went on a sabbatical after a few months and in the meanwhile the development was stalled for a couple of months. When Tom returned we decided to continue our efforts but start over from scratch using what we knew at that time. A lot of progression on developing the gameplay has been made ever since. The Windows Phone contest was an incentive for us to work on a release-ready version. After that release, based on user input we concluded the gameplay still had to be improved. It was an ongoing process.
2. What version of cocos2d-x did you use?
We started of using cocos2d-x 2.0.03 in the early days before we actually had a working game. After Tom’s break we started working with cocos2d-x 2.1.
Our development process took quite some time. When Tom came back the framework had progressed in a major way. We started using version 3.0. We also started using Coco Studio v1 instead of cocosbuilder. Both the framework and Coco Studio made quite a progression in this time. We had to upgrade a lot to keep up with the Coco Studio development and all the bug fixes as well to make use of the features provided. Especially the features related to rendering Coco Studio scenes, nodes and control. We knew while we started that Coco Studio was still in beta. In August we released the demo of our game to participate in the Windows phone contest. Thus we had to upgrade to version 3.6 to get the Windows Phone back-button working, there by complying with the Windows Phone store requirements. We kept on using this version till our release as not to break any existing code.
In the future, with the new SDKBox updates and the improved Coco Studio support, as well as the Windows Phone mp3 support we will certainly upgrade to the next version when we continue development.
3. How did you decide to use cocos2d-x instead of Unity, Unreal Engine or SDL?
First of all, this solution was free. When we started development Cocos2d-JS was under development, but not anywhere near release ready. However, we still had plans, at that time, to create web-based games. Also, our goal was two-faced. First create a game, but more important to gain experience in creating cross-platform solutions. First choice we had to make was which programming language to use. Matthijs has experience with several languages, none of which he saw fit for this project. He always wanted to develop some projects in c++, so that was the language of our choosing. The framework had proven itself on IOS already. We were convinced the future of casual (2d) game development would be with cocos2-x. Furthermore the available documentation for the cocos framework on other languages and the general adaption / were part of the decision.
4. What features did the engine offer you that made development easy? What do you wish the engine did better?
The engine was comprehensive. It provided tooling for creating user interfaces, handling user input and rendering audio. That was fantastic. Also the build compile times where short. During the development progress it was clear to us the framework had still to mature. The ability to let Tom create and alter user interfaces using Coco Studio (v1 and later, better v2) was great.
The engine itself has progressed throughout the years. We had a lot of struggles with bugs. The support on the forums wasn’t always what we expected. For beginner questions the forums are great. The documentation was not always up to date, as where the tutorials and developer knowledge base. We hope this will progress in the future as the cocos2d-x platform is developing.
5. What tools did you use besides the engine?
The main development was done in Visual Studio 2010 and 2013. For android we used the ADT with Eclipse. For IOS we used Xcode.
We also made extensive use of Excel to visualize our level variables (there are about 40 different variables for each level). Furthermore notepad++ and a lot of batch files have aided us.
6. What 3rd party libraries did you need to use?
7. Did you create the art yourself? What tools?
For the graphics we used Photoshop, Flash, Illustrator, Coco Studio 1 and 2, particle editor(online), Littera for the fonts, and for the promo movie we used Adobe Premiere.
8. Did you create the music yourself? What tools?
No we did not, a friend of ours who is in to making hip-hop beats was willing to help us.
We used a good microphone for the different spoken audio and FL Studio, Cool Edit and Mpc 2000xl for the background music and effects.
9. Will you continue to make games in the future?
We’ve always kept in mind that the development for this game will attribute to our knowledge of how to create, design and release games. This is the first mobile and also the first cross-platform application either of us has worked on. We developed this game to gain enough skills to create another game which will beat awesome in the future!
10.Do you use SDKBOX? If so, what plugins are you currently using?
Yes, we use the Google Analytics plugin.
11. Lastly, any advice for those also making games on how to get to a release point?
From our experience, developing and learning in our spare time, we know it’s hard to get to a release point. There is always a vast amount of improvements and ideas to alter your game to be even better as it is. The market and competitors are progressing along the way and you gain different vision on the game you’re developing. This is according to different insights, but also the experiences from your testers. Start of as early as you can with releasing a test version of your game. We used the Windows phone contest to gain some more momentum on our test user base. We got valuable input from this. We had some great online features on sites as Windows Central and Dr. Windows.
However we noticed we needed more information. We had quite a lot of downloads for the game, but actually had no idea if anybody was actually playing. So we added Google Analytics to gain more insight. This really accelerated our progress.
So baseline here would be to gain as much input from your users during the development. Engage early testers. Work to a release, and be convinced your game will work.
We did not implement any monetization options at this moment. We believe the user and the gameplay are key to success. We left the options open to monetize in the future, but wanted to cut development time to release and gain momentum.