The team behind Water City talks with us about using Cocos2d-x to create their new game.
1. Tell us where you came up with the idea for this game. What were your inspirations?
We developed the game during a Game Jam in our home city, and the event organizers provided the theme/topic of the game, which was water conservation. After researching for a while, we realized that to conserve more water there has to be a joint effort on the part of both the government and each and every individual in the community. From these insights we decided to make a game where the player has to develop a city through different social projects centered around technology and education.
For us, it made a lot of sense to develop a strategy game with resource management (given that water is a limited resource in real life), so as to give the player the sense of importance water really has, even though many of us don’t realize how water affects all aspects of our lives. We wanted to make a challenging game where the player learns about water conservation as he develops the city and thus understands the projects that could be carried out in real life and what he can do to conserve water every day. To that end, the projects in the game give real, practical tips on the subject of water conservation.
Two phenomena that we came upon when researching how water is depleted were infrastructure breakdowns and actions that individuals take or forget to take. It is commonplace for a leaky faucet or damaged pipe to be shrugged off as not that big of a concern. However, both cases lead to enormous amounts of wasted water when left untended. Therefore, in order to add more challenge and bring this fact to everyone’s attention, we decided to add a mini-game where players repair breakdowns that leak water to get bonuses at the end of each day.
2. What version of Cocos2d-x did you use?
We used the latest version of Cocos2d-x which was out at the time, version 3.8.
3. How did you decide to use Cocos2d-x instead of Unity, Unreal Engine or SDL?
We wanted to use a game engine that was easy to program with, that allowed cross-platform development, and that used C++ as its programming language. The programming language was considered because it was the common ground language among the programming team. Also, Cocos2d-x is easy to setup, and free to use. Because we knew we were going to develop a 2D strategy game, we wanted a lightweight, but powerful engine that allowed for fast 2D game development.
4. What features did the engine offer you that made development easy? What do you wish the engine did better?
The creation of sprite objects was remarkably easy with Cocos2d-x, resulting in a workflow that allowed an image completed by our art team to be part of the game in mere minutes. An intuitive, flexible system for 2D animations was also provided by the engine and it let us breathe life into our game. We found it easy to layer our game objects using the engine’s z-order functionality and were immensely pleased by how quick and easy it was to compile the game for various platforms. Last but not least is the Action system that the engine possesses. It allows you to inject a great deal of control flow to the many operations you would usually perform on a sprite, such as changing its position, rotation, visibility, etc, which lets you implement deep and complex behavior with ease. We look forward to playing around with this feature in the future.
5. What tools did you use besides the engine?
We didn’t use any tools besides the engine.
6. What 3rd party libraries did you need to use?
We didn’t use 3rd party libraries.
7. Did you create the art yourself? What tools?
We created almost all of the art ourselves. The only images we borrowed from the internet, due to the limited time that the competition allowed us, were the images of the character that helps you through the tutorial and the game. With the exception of that special case, the images were created using a combination of Adobe Illustrator and Adobe Photoshop.
8. Did you create the music yourself? What tools?
We downloaded some free files and bought others.
9. Will you continue to make games in the future?
Yes, we will. We have plans to release our first commercial game in 2016.
10. Do you use SDKBOX? If so, what plugins are you currently using?
11. Lastly, any advice for those also making games on how to get to a release point?
We still haven’t developed a game up to release point (yet :P).