This interview we talk with Michał Ociepa, Lead Developer at ATGames about their use of Cocos2d-x.
0. Tell me a bit about yourself and team.
Currently, I’m Lead Programmer in small mobile games development company called ATGames. We come from Warsaw in Poland and we’re passionate about creating extraordinary games. So far we’ve released four games that we’re really proud of and three of them were powered by Cocos2d-x.
1. Tell us where you came up with the idea for this game. What were your inspirations?
When the development of Another Case Solved was coming to an end we started thinking about what to make next. We noticed that many fans of the first Puzzle Craft were replaying the game multiple times and this was our first inspiration. But we didn’t want to just make “more of the same thing” kind of game. We thought long and hard how to make it interesting not only for long-time fans, but also newcomers, and of course – for us. That’s why we added a huge chunk of tactical gameplay based around choosing the best combination of puzzles. As a result, Puzzle Craft 2 isn’t just game about building and gathering, it is more about discovery and learning your puzzles. In addition to that, every new village delivers its unique mechanic challenging player to rethink his approach. But Puzzle Craft 2 isn’t our final word. Currently, we’re changing direction because our newest project will be something completely different – at least in the case of core gameplay mechanics.
2. What version of cocos2d-x did you use?
Puzzle Craft 2 development started using a beta release of cocos2d-x 3.0. Early in development engine was upgraded to 3.1.1 and the game was released without making further engine upgrades. Our newest project, however, started pre-production using the newest version and we’re waiting for a next release.
3. How did you decide to use cocos2d-x instead of Unity, Unreal Engine or SDL?
Cocos2d-x is really great at what it does. It has nice performance, a simple and brilliant Action system (which we just adore). It has a large user base. And last but not least it is open sourced. This is really important in two cases: when we are just starting development and want something really specific made for the new game, and when we are finishing and there is still some optimization and bug fixing left to do.
4. What features did the engine offer you that made development easy? What do you wish the engine did better?
Actions! Actions are the best thing since boiled broad beans! Also – we develop our games for a variety of mobile and desktop platforms and every one of those platforms requires a lot of our time and care. Cocos2d-x’s multiplatform support really boosts our development times. What do we wish for? Nothing major really – cocos2d-x is a pretty solid engine but sometimes it needs additional tweaking to keep up in the ever-changing mobile world. Apple’s Metal API and AppleTV support would be nice to see. Other than that – stay free, stay open sourced and aim high!
5. What tools did you use besides the engine?
Apart from standard tools that everyone knows – like Xcode, Visual Studio, Adobe Photoshop – we use multiple additional apps in our pipeline. Adobe Flash is used to create most of the animations and a brilliant, little tool called SuperAnim is used to display them in games. Kingdom and village levels, as well as buildings, were also designed using Flash and exported with custom JSFL scripts (I highly recommend the Flash + JSFL combo to anyone looking for a way to create custom tools). Designers use Excel for crunching design numbers in some biggest XSL files I’ve ever seen. We also use TexturePacker for… packing textures 😉
6. What 3rd party libraries did you need to use?
FacebookSDK, GPGS for social integration and libarchive for archiving, encrypting and compressing save files. Like many mobile game development studios, we’re using a lot of analytic tools such as Flurry, Tapjoy or FusePowered (it’s part of the Upsight company).
7. Did you create the music yourself? What tools?
We didn’t. The music and SFX were outsourced to our go-to audio guys – Jarek Lublin and Jan Grochowski. In our newest project, we reached out to Marcin Przybyłowicz, the creator behind the Witcher 3: Wild Hunt awesome soundtrack.
8. Do you use SDKBOX? If so, what plugins are you currently using?
We’re not currently using SDKBOX, but it is something that we plan to check out in the future.
9. Lastly, any advice for those also making games on how to get to a release point?
Don’t overcomplicate things. You need to understand what is core to your game concept, what makes your game yours – and then remove all the excess parts. You probably won’t have the time to make all those surplus bits anyway and end up removing them later in production. Talking too much about your ideas for the game without testing (prototyping) them is counterproductive, but don’t forget to talk enough so everyone is up to date with what kind of game you’re making.