cocos2d-xでブロック崩しを作ってリリースしました
↓ ミニゲームを作りました。
Brock Shooting! ブロックくずし - Google Play の Android アプリ
最近はAndroidプログラミングもやっていますが、cocos2d-xもちょっと勉強しています。
Cocos2d-x: World’s #1 Open Source Game Development Platform
今年の2月くらいから
という勉強会に参加させて頂いて勉強したりしていました。
原宿cocos2d-xゲームアプリ開発者同盟#33@AID : ATND
主催の椋梨さんの出す課題をこなしながら質問したりモクモクしたりしています。
何か自分のゲームを作ってリリースするということになり、ブロック崩しなら出来そうかなと思って作ってみました。
ミニゲームですが、cocos2d-xは初めてだったので結構試行錯誤を経てリリースしました。途中何度もサボったり間隔が空いてしまったりしてチンタラ作ってしまいました(;・∀・)
全体としてとても楽しかったです。ゲームの世界という別世界の扉が開かれたワクワク感とわずかなコードで実現できるアニメーションに感動しました。
もっとコーディングしたい!!!
なお、アプリ内で使用している可愛い画像は椋梨さんの開発グループである
テラシュールウェア様からご提供いただきました。
テラシュールウェア様のアプリはこちら
Terasurware - Google Play の Android アプリ
可愛い画像のおかげでぐっとアプリらしくなりました。この場をお借りして心より感謝申し上げます。
また、今回自分のアプリに初めて広告を貼ったのですが、そのあたりの実装は椋梨さんのコードをまるっとコピーさせていただきました。他にもコードを利用させて頂いている部分があり、とても助かりました。自分でやったらすごく時間がかかったと思います。
よかったらダウンロードしてみてくださいね。
Brock Shooting! ブロックくずし - Google Play の Android アプリ
cocos2d-x を使った開発
cocos2d-xでは、c++,JavaScript,Luaなどの言語がサポートされていますが、私はc++で開発しています。JSだとアプリが大きくなる、Luaだと暗号化などしないとソースが見えてしまうなどの理由と、上記勉強会でもc++を推奨していたからです。
実は昨年
という勉強会に参加してc++を少しだけ勉強していたということもありました。
(しかしこの勉強会では英語で四苦八苦してイマイチc++の方は勉強出来てなかったです(;◔ิд◔ิ))
OpenGLを使ったネイティブコードをAndroid開発で使用したのは初めてでしたが、やっぱり早いですね。SurfaceViewが中途半端に感じてしまいます。
でも、デバッグが難しいです。Javaのエラーログみたいに親切なものが出てこないのでひたすらプリントデバッグを入れまくって場所を特定したりしました。もっといい方法があるのかもしれませんが、まだ勉強ができていませんね。
cocos2d-xのバージョンは2.2.2です。現在3.X系がそろそろ主流になりそうなのでそっちもやってみたいです。
それにしても世の中にリリースされているすごいゲームを見るとため息がでます。なんでこんなにちゃんと 動いているんだろう、なんでこんなに複雑そうなことが出来るんだろう、と。
開発にあたって参考にした本はこちらです。
cocos2d-x入門は何回も目を通しました。プログラミングはやったことがあるけどゲームを作ったことがなく、cocos2d-xも初めての人に向いていると思います。
なにしろ私は「スプライト」や「パーティクル」の意味すらわかりませんでしたから、この本を読み進める中で調べたことや覚えたことが本当に役に立ちました。
ブロック崩しゲームはこの本に出てくる内容の範囲でできています。
Cocos2d‐x開発のレシピ―iOS/Android対応はもうちょっと中級者向けでより実践的な内容になっています。
Coco2d-xを使うなら必ず知っておきたいことばかりです。こちらを2冊めに読んで良かったです。
アプリ作成中に利用したツール(上記の本にも載っています)
IDEはXcodeを主に使用しました。Android 用に開発終盤に使ったEclipseよりずっと使いやすいです。
TexturePacker - Create Sprite Sheets for your game!
TexturePackerはテクスチャアトラス(スプライトシート)を簡単に作成できるツールです。テクスチャアトラスは複数の画像を1つの画像にまとめたもので、こちらをキャッシュしておくことによりメモリを効率的に利用することができ、表示速度の向上にも役立ちます。どこに画像があるかを指定するplistファイルも生成されます。
画像表示に利用しています。
TexturePackerの編集画面
Bitmap Font Generator for OSX - Glyph Designer
Glyph DesignerはMacのBitmapフォント作成ツールです。
ゲーム内で出てくる文字を作成しました。このゲームでは練習用ということもありアルファベット文字を使用していて日本語が出てきませんが、ちゃんと日本語も作成できます。
そんなわけで、次のゲームは何を作ろうかなーと考えています。小さいアプリでも自分で全体を作ると本当に勉強になりますね。