How to add a leaderboard to your Cocos2D game

First How to add a leaderboard to your Cocos2D game

App42 provides a rich set of leaderboard APIs. In this post, I will describe how to integrate your Cocos2D game with the App42 cloud framework and use its leader board APIs. Please see my previous blog post on why a rich leader board is important for your game.

Second How to add a leaderboard to your Cocos2D gameWe will use our Ninja Fight iPad demo game to walk you through the integration. Ninja Fight is a simple multiplayer game in which opponents have to strike each other with missiles while avoiding getting hit themselves. The game starts of by asking the player to enter its name. This is the name that will be used later to submit the score for the user.

GamePlay How to add a leaderboard to your Cocos2D game

Once two users have started fighting, the game will transition to the fight scene. This is where the realtime action will happen using AppWarp apis. Using AppWarp with Cocos2D was described in an earlier blog post. Players simply need to tap in the direction of the opponent to fire missiles. You can also move the player by dragging it using your finger on the iPad.

Leaderboard How to add a leaderboard to your Cocos2D game

Ninja Fight leaderboard

Once the game is over the user’s score is submitted and an option to view the game’s leader board is given. Upon selecting this option, the game’s leader board is displayed using our API. This will simply list the users who have submitted the top scores, their rank and the score.

Now to the actual code itself for saving scores and getting the top scorers! Here is the initial set up that you need to do once before you can use all the leader board APIs.

1
2
3
4
ServiceAPI *serviceAPIObject = [[ServiceAPI alloc]init];
serviceAPIObject.apiKey = APP42_APP_KEY;
serviceAPIObject.secretKey = APP42_SECRET_KEY;
ScoreBoardService *scoreboardService = [serviceAPIObject buildScoreBoardService];

To submit the user’s score to the cloud, its one simple API call

1
[scoreboardService saveUserScore:@"Ninja Fight" gameUserName:userName gameScore:score];

Retrieving your game’s top 20 scorers from the cloud is also straight forward.

1
2
Game *game=[scoreboardService getTopNRankers:@"Ninja Fight" max:20];
NSMutableArray *scoreList = game.scoreList;

The API works synchronously so you should perform the API calls on a back ground thread so as to not block your main thread. This is extremely easy using the performSelectorInBackground utility iOS method.

Complete source code for the game can be downloaded from our Git Repo with the Readme file containing the instructions on how to set up and get it working.

App42 provides a complete set of leader board APIs which allow you to add advanced social leader boards based on groups, weekly, daily top scorers etc. Similarly you can use our reward management APIs to manage in-app rewards and purchases. For a complete reference, visit this page.

Please send your feedback and queries to us at support@shephertz.com

twitter How to add a leaderboard to your Cocos2D gamefacebook How to add a leaderboard to your Cocos2D gamegoogle How to add a leaderboard to your Cocos2D gamelinkedin How to add a leaderboard to your Cocos2D gamepinterest How to add a leaderboard to your Cocos2D gamereddit How to add a leaderboard to your Cocos2D gamestumbleupon How to add a leaderboard to your Cocos2D gametumblr How to add a leaderboard to your Cocos2D game

Leave a Reply

Your email address will not be published. Required fields are marked *


× 6 = forty two

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>