いぬでもわかる

iOSやCocos2dxが好きでときどきAndroid。できるだけ毎日何かしら書く事を目標に頑張る。

cocos2d-x 3.0でのiOSアプリに対するGameCenterの実装

cocos2d-x 3.0を使い作っているゲームにランキングボードの実装を行いたかったので、iOSアプリ側ではGameCenterを使ってランキングボードの実装を行います。iOSのGameCenterとはオンラインでのマッチング、取得スコアの共有、ランキングなどオンラインゲームに必要なソーシャル機能を提供するiOS4から実装されたサービス群です。現在作っているゲームでは、ランキング機能の実装を行いたかったためiOSではGameCenterを利用します。GameCenterを使えば、自前でサーバサイドを作る手間もなくなるしね!
Androidでは2013年から、 Google Play game servicesという名前で同様のサービスが提供されています。今回作成しているゲームは、両方のプラットフォームで提供する予定のためAndroidでは、Google Play game servicesを使ってランキング機能の実装を行う予定ですが、まずiOSのGameCenterの実装方法について説明していきます。

実装の前準備
GameCenterを使いたい場合、コードを書く前にちょっとした前準備が必要になります。まず、iTunesConnectで、アプリケーションの登録が必要です。f:id:temptation_dog:20140530172144p:plain
とりあえずGameCenterの実装の確認をしたいだけなのでバイナリのアップロード等はする必要はありませんが、アイコンなどの準備は必要です。とりあえずダミーのアイコンを容易してアプリケーションの登録を行いました。

アプリケーションの登録が完了したら、そのアプリケーションの詳細からGameCenterの設定を行います。
f:id:temptation_dog:20140530173739p:plain

デフォルトでGameCenterはオフになっているのでオンにしましょう。あと今回は、ランキング機能を使いたいのでLeaderBoardを追加します。LeaderBoardはランキング機能で、他にもAchievementsといったゲームの達成状況に合わせて称号などを設定できる機能などもありますが今回は利用しません。
f:id:temptation_dog:20140530173811p:plain

LeaderBoardの追加には以下を設定する必要があります。

  • Leaderboard Reference Name

ランキングを識別する内部的な名前。好きな名前をつけましょう。

  • Leaderboard ID

ランキングを識別できる一意なIDです。これを使ってコードからランキングボードの参照などを行います。

  • Score Format Type

スコアのタイプ、int型なのかdecimalなのか、状況に合わせて設定してください。

  • Score Submission Type

スコアの種類。ランキング上位を表示するのか、多くの人が取得しているスコアを表示したいのかを選択します。

  • Sort Order

スコアの並び順
f:id:temptation_dog:20140530174609p:plain

あとは、バージョンごとにGameCenterの設定を行っていきます。
バージョンの詳細画面から、GameCenterをオンにして先ほど作成したリーダーボードを追加します。
f:id:temptation_dog:20140530175426p:plainme

これでGameCenterを利用するためのitunesConnect上での設定は一通り終わりです。
次回は、Xcodeでの実装方法を説明していきますー。
あ!ここまでだとcocos2d-xは何も関係なかった。。