For this developer we talk with Petro Shmigelskyi developer of Cardinal Land.
0. Tell us a bit about yourself and team.
I am the cofounder of a small indie game development team called DogoTogo. It consists of two people; me as a technical guy, and artist Mihai Tymoshenko. We are situated in the picturesque city of Lviv, located in western Ukraine.
I have four years of experience in game development. At the moment I am involved in a robotics startup, which is my main job and takes most of my time. With the free time I have, I work on my indie games. Robotics and game development are my favorite technology interests. Even software solutions are similar in both physics based games and in robots. In games one is working with objects in the virtual world and in robotics you working with objects in the real world. Some algorithms and software architecture can be very similar.
Mihai Tymoshenko has many years of experience in the game development industry. He is the author of graphics for many successful games. The most famous of course is Contre Jour, which received the “iPad Game of the Year” Award by Apple in 2011. At the moment he is a freelance artist and is working on his comic book that recently published its first volume.
1. Tell us where you came up with the idea for this game. What were your inspirations?
The inspiration for the art style of this game came from origami sculptures, as well as the genius Hokusai from Japan. It is about the beauty of simplicity of things. Animals are designed in simple forms with essential detail.
Logical game mechanics has references to tangram and jigsaw puzzles. While tangram allows training geometrical thinking, jigsaw puzzle helps keep the player’s attention for a while.
Our game has some educational use as well. After winning a level new interesting facts about an animal will appear. So users can play the game and learn more about animals in fun way.
2. What version of Cocos2d-x did you use?
I started development with Cocos2d-x 3.1 and then updated to 3.4.
3. How did you decide to use Cocos2d-x instead of Unity, Unreal Engine or SDL?
Cocos2d-x is very suitable for 2d games, it is very light and is easily customizable. The game Cardinal Land doesn’t require complicated visual effect and physics. Cocos2d-x perfectly fits these requirements. Unity or Unreal Engine are much heavier than Cocos2d-x and are better suitable for 3d games.
4. What features did the engine offer you that made development easy? What do you wish the engine did better?
Cocos2d-x has various graphics components, animation and action types, which are easily integrate and customize in the game. Also it allows easy implementation of custom graphics shaders. This open source allows to easily customize some engine components. I think the engine needs improvement of ttf-fonts implementation. I met some artifacts working with these components, so I did some modification to fit the game requirements.
5. What tools did you use besides the engine?
This game is mostly developed in XCode and partially in Visual Studio for Windows platform. Also I used Audacity for sound effects tuning. Mihai used Photoshop for art creation.
6. What 3rd party libraries did you need to use?
I used libraries for Game Center support, Facebook sharing and for rate screen.
7. Did you create the art yourself? What tools?
Art was created by my teammate Mihai Tymoshenko. He used Photoshop and Wacom Cintiq.
8. Did you create the music yourself? What tools?
The music used was found on the internet and purchased license from the author. Sound effects were found in free storages like freesound.org.
9. Will you continue to make games in the future?
We have some ideas and unfinished game prototypes. We hope to complete some of them in the near future.
10. Do you use SDKBOX? If so, what plugins are you currently using?
Yes, I like this feature very much. I’m currently using Google Analytics plugin.
11. Lastly, any advice for those also making games on how to get to a release point?
At the beginning concentrate your attention on the key features of the game. Don’t try to add many features in the early version, otherwise the project can lose its flexibility in development. Test key features first, give your game to your friends and observe how other people play it. You can notice a lot of points in game mechanics which people can’t understand or understand in other ways than you expected.
Game development is usually a iterative process. You implement some feature, then test it, then change it. Some features will be improved, some will be removed. Continuous testing gives you a picture of what works and what doesn’t. So keep your project flexible for easy changes and don’t overload it with features which are not important at the moment.
For your first game, try to make it as simple as possible, it greatly increases chances to get to the release point. After release you can add more features with less pressure.
Also I recommend having a notebook to write all your ideas down. Ideas usually comes spontaneously, so you have to save them, otherwise they will disappear from memory with time. And when you will have inspiration to start development of new game you will have a good start point.