We are thrilled to have Ben Stokes, the author of Trig talk with us about using Cocos2d-x to make his games!
1. Tell us a bit about yourself and Trig.
I’m a 20 year old student studying for a master’s in Computer Science at Bristol University, England. I develop games under the name ‘Hatch Games’, and have just launched my first game Trig on Android and the Amazon app store. Trig is a simple, fun and surprisingly addictive puzzle game with one aim: build large triangles out of four smaller ones of the same color. As you build triangles you discover new metals and gems. The aim is to get the highest score and the highest value triangle possible without filling up the grid!
2. Tell us where you came up with the idea for this game. What were your inspirations?
I love super addictive games with a single mechanic that can have you playing for hours. Games such as 2048 are genius in that respect, therefore I definitely looked in that direction for inspiration. Similar to 2048, I also wanted to create a game where you could relax and do other things whilst playing.
With these elements in mind, I brainstormed and came up with some strange triangular tetris game. It didn’t really work very well, but I liked the idea of using a triangular grid, as it’s something you don’t usually see in many games. After a few more alterations, the game’s core mechanic was born. I decided to theme the triangles as metals and gems, and place them in an underground setting. The game’s name (Trig) was created from a combination of the words ‘Triangle’ and ‘Dig’, and is the same name as that topic in maths you hated in school (I’m hoping that it won’t put people off!).
3. What version of cocos2d-x did you use?
4. How did you decide to use cocos2d-x instead of Unity, Unreal Engine or SDL?
5. What features did the engine offer you that made development easy? What do you wish the engine did better?
I really liked how using Cocos2d-js meant I could run a little server and play test my game in the browser. Whenever I made any changes to the code all I needed to do was simply refresh the browser window!. If I needed to test my game on an Android device, I only needed to type one simple command and it was done. The engine had a lot of great, intuitive and easy to use libraries for every aspect of 2d game development. I also liked the concepts of scenes, layers and sprites, as they made learning how to use the engine a lot easier.
On the downside, I did sometimes find that random bits of code which worked in the browser didn’t always work so well on a device. Trying to debug my Cocos2d-js project on a device also proved to be quite a hassle to set up. An integrated easy to use feature where print statements could be outputted to the console whilst the Cocos2d-x application is running on a device would have made life a lot easier.
6. What tools did you use besides the engine?
I used Sublime Text 2 as my text editor, and Google Chrome as the browser in which I tested my game.
7. What 3rd party libraries did you need to use?
I didn’t use any 3rd party libraries in Trig.
8. Did you create the art yourself? What tools?
I’m no artist, but I created the majority of the artwork myself using Adobe Photoshop. My friend Claire helped out with the game’s background image, and she also used Photoshop.
9. Did you create the music yourself? What tools?
Trig does not have any music! I decided against it because it might irritate the player when they’re concentrating hard to make their next super important move. As I mentioned, I also wanted Trig to be something people can play whilst they do other things, so I just didn’t really see the need to have any music!
10. Will you continue to make games in the future?
Definitely! Now I’ve got one small game completed I feel much more confident and excited about starting a new and bigger one!
11. Do you use SDKBOX? If so, what plugins are you currently using?
Yes, SDKBOX was great for easily integrating Chartboost’s ad network into my game.
12. Lastly, any advice for those also making games on how to get to a release point?
This is my first game I’ve completed and put out to the public, so I’m by no means an expert! My best advice for people starting out would be to create a game that’s really tiny in scope. This ensures that you don’t get lost in some huge complex monster of a game and end up giving up because you feel like you’re not making any progress.
Try to get the core element of your game working first so you can get a feel as to if it’s fun to play. If not, you won’t have wasted much time and can rethink your idea.
When you have something to show let other people play it! Even though my first prototype was a bit buggy and didn’t look great, it was really motivating to see family and friends enjoy playing it and give feedback as to what works and what didn’t.