There is an increasing number of very good tutorials on game development using various game engines. The one shown below is exceptionally well done. Although targeted at iOS development it is easily extended to Android and other platforms using cocos2d-x as shown below with the game running on the Android Kindle Fire.
Angry Ninjas Starter Kit: An Easy to Customize XCode Project PLUS High Definition Video Documentation
CartoonSmart offers top line tutorials for various game engines. The one discussed here is the “Angry Ninjas Starter Kit”. We purchased this to review the quality of the tutorials and were very surprised at how much details the tutorial covered.
This Angry Birds type of game goes through all the details to provide a basis for a physics game that is similar to the Angry Birds series. The videos describe in detail on how to customize each parameter for YOUR game. Check out the details of the tutorial here.
Angry Ninjas Starter Kit Marketing info from CartoonSmart:
Sling shot games are quite popular in the App Store aren’t they? Well why not ride that wave and create your own popular app. This template is ready for you to make a great game out of it. All that’s required is a bit of time on your part to build some fantastic levels and add your own artistic twist. We’ve done the hard part. Now you get to do the fun part!
Like all our iOS Starter Kits the project files are included with video guides (accessible online or offline) covering every detail of modifying the app for yourself.
Some Basics about the App Template:
- Runs at 60fps on the iPhone 4, iPhone3GS, iPod Touch and iPad.
- Supports high resolution images for the Retina Display iPhone.
- Preference settings for the iPad or iPhone (for example, you can change things like the stack location, screen pan speed, throw power of the sling shot, etc. by changing simple variables)
- Uses Box2D, an advanced physics engine for realistic collisions (the same as another well-known sling shot game) We like the physics as they are, but you are welcome to toy with gravity, the accelerometer, or any other property to drastically change the game.
- Supports as many levels as you want to build.
- The in-game Menu will show 10 sections, and each section can have multiple levels. Players will have to complete all levels in a section before the menu unlocks that section to jump to.
- Level progress is saved in the NSUserDefaults. So even if the game quits, players will have a variable saved for the number of levels they have completed.
- High scores are also saved in NSUserDefaults
- You can set the number of characters to toss per level and how much score is required to pass the level.
- You can set bonuses per level for the number of characters that haven’t been used to pass the level.
- You can change the layers of background art on a per level basis. The clouds, hills, and ground plane are all separate scrolling pieces of art.
- Drop in your own .mp3 files for sound fx or background music.
- Includes three sound preferences which get saved even if the player quits the game. So players can enable or disable Sound FX, Voice FX, or Ambient FX ( or Background Music )
The Extra Special Cool Features….
This wouldn’t be a “Cartoon” Smart Template if we didn’t add some easy ways to make this game really come alive with your own art and animation.
Here’s some of the artistic highlights…
- It is incredibly easy to add a variety of shapes to your level’s stack with built in vector definitions for the collision environment. For example: squares, triangles, circles, trapezoids, parallelograms, hexagons, octagons, pentagons are preset properties for your stack object. Want to know more? Skip to 00:07:21 for details in the demo video below
- Includes two animated impact FX that can be played anytime a stack object breaks (you can add as many more as you like). Different FX animations can be applied to different objects or enemies.
- Supports custom break animations for stack objects or enemies. So if you want to include even more animation for a specific object breaking apart you can.
- Stacks are incredibly easy to build. We recommend using an art program like Flash or Photoshop to design your stack then just copy the center x and y locations of each object into XCode. Skip to 00:18:53 for details in the demo video below
- Two lines of very easy code add each stack object or enemy to the stack. All your properties for the object are defined in one line. Usually YES or NO values for options like: breaksFromNinja , hasAnimatedBreakFrames, damagesEnemy, breaksOnGround, makeImmovable. Skip to 00:10:44 for details in the demo video below.
- Every Stack Object or Enemy can have a custom point value.
- You can add as many different slingshot characters as you like, depending on level or the order they get thrown in.
- Slingshot characters have different artwork frames for poses like “standing in line to be thrown”, “blinking” , “in air”, “roll”, “roll and impact”, or “on the ground”. You can add as many different poses as you like and choose when they appear.
- Enemies can have damage factors. So it may take more than one collision with a ninja or stack object to damage the enemy enough to be destroyed. In our demo video you’ll notice the enemy gets a bandage or two after being collided.
- Enemies can also have separate animated frames for breaking (for example, the enemy in the template disintegrates )
- Choose between embedded images or a font for the post-object break Scores (which float above the object that broke). Currently the template uses images for scores in values of 100,500,1000, 5000 and 10000.
Converting Cocos2d to Cocos2d-x for Multiplatform support
At Neonchalk, we converted this cocos2d Objective-C code to C++ to be used with cocos2d-x which allows the game to be deployed to all devices that it supports. Today they demonstrated cocos2d-html5 which is amazing. We will contact the author of “Angry Ninjas” to see if the cocos2d-x version can be shared with others or perhaps they will do a tutorial on supporting multiple platforms.
Below is a sequence of images showing the Angry Ninja game from Cartoonsmart running on the Kindle Fire.