読者です 読者をやめる 読者になる 読者になる

DC4

今よく言われてる「草食系」にはなったらあかん! 野獣のような「肉食系」になるため、今は肉ばっかり食べてるよ。

cocos2d-xでゲームをリリースしてみた。

つくったもの iOS cocos2d-x

突然ですが、cocos2d-x(2系)でゲームをリリースしました。

taga yasunori
taga yasunori
おばゆび
☆☆☆☆☆
0件の評価
App Store

おばゆび

その時のやった事をメモ。

期間

業務後+休日で。
cocos2d-xの勉強 + 実装 2ヶ月
審査期間 1ヶ月
くらいでリリース

前提

  • ゲーム開発経験無し。
  • C++経験無し。
  • Objective-cは3年前にちょっとだけ。
  • 絵心皆無。

開発着手までにやった事

  • 以下の本を読む

どちらも良本ですが、自分の場合はレシピ本はあまり使わなかったです。

兎にも角にも、にゃんこを動かす。

作る物を決める

皆さんご存知の通り既にゲームアプリはレッドオーシャンです。
大手企業さんが莫大な資金を投入し熾烈なランキング戦争が行われているのです。
そんな中で自分のような素人が立ち回るには、徹底した市場調査と尖ったアプリである必要があります。
それはそうと、えびせんとおばあちゃんの指ってなんだか似てるなーという突然の思いつきから作る物を決めました。

IDE

iPhoneアプリなのでもちろんXcodeなんですが、 普段はSublime Text 2 をvintage modeに設定して開発しているのでXVimMonokai を導入しました。

ソース/タスク管理

Bitbucketを使用しました。
予め全タスクをざっくりと書き出して(「タイトル画面を作成」等)スタートし、
細分化したサブタスクを作成し、
その単位でブランチを切ってプルリクを送る感じです。

チケットを細分化する事でモチベーション維持にも繋がりました。

開発中のフロー

基本的に以下をループしてました。

  1. やりたい事をやってるサンプル、記事等が無いか探す。
  2. 応用して実装。
  3. 大体クラッシュする。
  4. cocos2-dxの中身を見る。
  5. 回避策を考える。

マルチレゾリューションについて。

最初からきっちり決めてかからなければならないと思い込んでいて、とても時間を使ってしまいました。
広告を入れる位置でも対応方法が変わるし、あまり時間を使う点ではなかったなぁと反省。

Cocos2d-x:絶対にわかるマルチ解像度(マルチディスプレイ)対応

Twitter、GameCenter対応時のブリッジ処理。

Twitter、GameCenterの対応にはNativeLauncherと呼ばれるブリッジ処理を書く事が通例みたいです。
iOSならObjective-cAndroidならJNIを用いてそれぞれのプラットフォームで動作する処理を実装し、cocos2d-x側から呼出し可能にします。

cocos2d-xでGameCenter(LeaderboardとAchievement)を使う(iOSのみ) cocos2d-x で Objective-C / Java のコードを実行する

プラットフォーム側で動作する処理実装はその時のOSバージョンに左右されるので、公式ドキュメントに目を通しておきそちらを正とした方がいいです。

GameCenterの実装

GameCenterの確認環境に予想以上に手こずりました。
開発向けに用意されているGameCenterとしてサンドボックスモードがあるのですが、 これを利用するためには予めiTunes Connectにアプリを予め登録する必要があり、 その際に、アカウント作成、証明書周り、アイコンやスクショなどの設定と大変でした・・・。
もっと早めに対応すべきでした。

GameCenter対応

広告申請

Appleの申請とは別にこちらも申請期間が存在するので、早めに対応しておいた方がいいです。

以下のサービスでcocos2d-x向けライブラリを提供していました。

音楽

魔王魂様より拝借致しました。
素晴らしい楽曲ばかりで本当にお世話になりました。

僕は絵を描く事がとんでもなく苦手なので、知人にお願いしました。
「おばあちゃんの指と・・・えびせんが交互に・・・」と訳の解らない依頼に、
「え?、何言ってんの、こいつ」見たいな顔しながらも渋々了承してくれました。
感謝。

申請期間中

申請から約1週間後にレビューされました。

リスト型広告が原因で一度リジェクトされましたが、 対応策がサービス側で予め準備されていました。

リジェクト後の再レビューにさらに1週間程かかりました。
時期によって違いがあるとか。

作り終えての感想

cocos2-dxのおかげでゲーム開発経験もない自分でも無事にリリースする事ができました。
仕事ではバックエンド側をやる事が多いので、普段とは違う技術に触れる事ができ、とても勉強になりました。

今回cocos2-dxを始めるにあたり、2系と3系のどちらで作成するか迷ったのですが、入門書が出ている事と記事の多さから2系を選択しました。

今から始める場合は、正式版も出ているので3系が良いと思います。

Objective-cに久々に触れ、これをきっかけに勉強をやり直そうと思っていたらSwiftが登場してびっくり。

よろしければ遊んでみてください!きっと似てるはずです!