Home

Awesome

GameCenterOnlinePlugin

This plugin is deprecated, use this instead https://github.com/jcesarmobile/GameCenterMatchPlugin

First of all a bit of self promotion.

I created the Game Center Online plugin because I wanted to add online game to my phonegap game, Othello Classic (http://goo.gl/hCJjC) If you want to see the plugin in action or want to support the game and/or the plugin please download the game.

The plugin isn't exactly the same as the one I used on Othello Classic because my game is done with Cleaver, I had to make some changes and add new code for the plugin so everyone can use it.

The plugin is a bit limited right now, it just does what I needed for Othello Classic, so right now it only can be used in 2 player games and only can send/receive 2 ints (board coordinates for example)

I have uploaded a full working sample game with almost no logic, where there are 2 players and they just put a disk in their turn. Nobody wins, nobody loses.

The plugin is based on the code from Ray Wenderlich Game Center tutorial http://www.raywenderlich.com/3276/how-to-make-a-simple-multiplayer-game-with-game-center-tutorial-part-12

It's a recommended read before start using the pluging

DOCUMENTATION:

authenticate to Game Center

window.gameCenter.authenticate( successCallback, failureCallback );

start searching a new game

window.gameCenter.startGame( successCallback, failureCallback );

send move

window.gameCenter.sendMove( successCallback, failureCallback, x,y ); //x and y are the board coordinates.

Events

The user cancels the new game search (dismiss the game center screen)

window.gameCenter.onSearchCancelled = function() {

//Do something

}

The search fails

window.gameCenter.onSearchFailed = function() {

//Do something

}

The game receives the player's turn.

It can be 1 or 2.

It is only received once, you have to store it and consider it for turn based games.

The plugin doesn't handle turns, but it knows which player sent the move.

The player turn is assigned randomly

window.gameCenter.receivedTurn = function(data) {

// do something with the turn (data) with values 1 or 2

}

Game received the other player's move

window.gameCenter.receivedMove = function(i,j) {

//i and j are the coordinates of the other player's move, do something with them

}

Game received the players' names name 1 is the name for the player with turn 1, name 2 is the name for the player with turn 2

window.gameCenter.receivedGamerNames = function(name1, name2) {

//show the names somewhere if you want.

}

Game ended for technical problems:

One of the players lost the game center connection

The game couldn't connect with the other player

The game failed to send data to the other player

window.gameCenter.matchEnded = function () {

//Do something when one of the above problems happened

}

HOW TO USE:

1.- Add GameKit framework to your xcode project

2.- Drag GameCenterPlugin.h, GameCenterPlugin.m, GCHelper.h and GCHelper.m to your xcode project

3.- Add this line in the config.xml inside the <plugins> tag <plugin name="GameCenterPlugin" value="GameCenterPlugin" />

4.- Drag the GameCenterPlugin.js into your www folder and link it on your index.html