Cocos2d-xの概要
「Cocos2d-x(ココスツーディーエックス)」は、一言で言うとゲームフレームワークです。2Dゲームに最適化されており、ゲーム開発に必要な多くの機能を有しています。最新バージョンでは、なんと3D機能まで搭載されています。
Cocos2d-xは、Cocos2dシリーズのクロスプラットフォーム版であり、当初はCocos2d for iPhoneから派生したフレームワークでした。Cocos2d-xは中国北京に本社を置くChukong Technologies(チュコン テクノロジーズ)社が管理していますが、開発はアメリカで行われており、Cocos2dの生みの親であるRicardo Quesada氏が携わっています。
特に、AndroidやiOS向けのスマートフォンゲームでよく利用されており、スマートフォンゲームのセールスランキングの上位を見てみますと、
- モンスターストライク
- LINE:ディズニー ツムツム
- 剣と魔法のログレス
- ブレイブフロンティア
- FINAL FANTASY Record Keeper
- ドラゴンクエストモンスターズ スーパーライト
など、多くのタイトルでCocos2d-xが利用されています。
なぜこれほどまで多くのタイトルでCocos2d-xが利用されているのでしょうか? それはCocos2d-xを利用することのメリットが多いからです。例えば、AndroidやiOSを始めとするクロスプラットフォーム開発を行うことができます。またオープンソースであり、無償で無制限に利用することができます。他にも多くのメリットがありますが、これらについて一つ一つ確認していきましょう。
Cocos2d-xのメリット
クロスプラットフォーム開発
近年、日本におけるスマートフォンゲームは、AndroidとiOSでリリースすることが一般的になっています。実際、Google PlayストアやApp Storeのゲームセールスランキングで上位のゲームは、両OS向けにゲームをリリースしています。これを実現するために、多くのゲーム開発会社では、クロスプラットフォーム開発と呼ばれる手法が用いられています。つまり1種類のソースコードでAndroidとiOSのゲームを作っています。
Cocos2d-xでは、次のゲームを作ることができます。
- Android 2.3以降
- iOS 5.0以降
- Windows Phone 8以降
- Mac OS X 10.7以降
- Windows 7以降
- Linux Ubuntu 14.04以降
モバイルプラットフォームからデスクトッププラットフォームまで、幅広くゲーム開発を行えることが分かっていただけると思います。
またゲームの開発言語は、C++、Lua、JavaScriptから選択することができます。厳密には、開発言語にJavaScriptを選択した場合、Cocos2d-JSを利用することになりますが、このCocos2d-JSは、Cocos2d-xのJavaScriptバージョンであり、フレームワークは同じです。さらにCocos2d-JSは、ブラウザ上で動作するゲームを作ることも可能です。
オープンソース
Cocos2d-xは、オープンソースとして開発が進められています。そのため、ゲームエンジンのコアな箇所までソースコードを見ることができます。技術力の高い開発会社では、ブラックボックス化されたものよりもオープンソース化されているフレームワークを利用することが多いです。その理由は、ゲームエンジンを自社ゲームに最適化できるためです。
ブラックボックス化されているフレームワークを利用する場合は、ゲームの仕様をゲームエンジンに適したものに変更しなければいけないことがあります。一方、ソースコードが公開されていれば、ゲームの仕様に適したゲームエンジンに変更することも可能です。
コンシューマーゲームでは、これから作るゲームに適したゲームエンジンを自社で開発している会社が多かったのですが、その手法は人気ゲームの移り変わりが早いスマートフォンゲームでは難しいため、ベースとなるゲームエンジンとしてCocos2d-xを選択しているようです。
また、Cocos2d-xはMITライセンスを採用しています。これは数あるオープンソースのライセンスの中でも非常に緩いものであり、このソフトウェアを無制限に扱うことを無償で許可しているライセンスです。そのためCocos2d-xは、誰でも無償で利用することができ、商用で利用する場合でも制限がありません。無償であるため、これからCocos2d-xの利用を検討されている方にとって、Cocos2d-x導入の敷居は低いでしょう。
軽量・快速
Cocos2d-xのコアエンジンはC++で開発されています。そのためエンジンサイズは3MB程度と非常に小さく、快速に動作します。Google PlayストアやApp Storeでは、3G、LTEなどの携帯電話の回線を利用したゲームのダウンロードには、容量の制限が設けられています。そのため、3MBしか占有しないゲームエンジンは非常に優れていると言えるでしょう。
また、開発言語にLuaやJavaScriptを選択した場合でも、実動作ではC++に変換され処理が行われています。そのためJavaScriptであってもC++に遜色のない軽快な動作を実現することができます。
日本のスマートフォン端末は、高速なCPUや大容量のメモリが搭載されています。しかし世界に目を向けた場合、ロースペックのAndroid端末もまだまだ現役で動いています。これからは日本だけでなく世界に向けてアプリを開発していく時代ですので、ロースペック端末でも軽快に動作するエンジンを利用し、ゲームを作っていただければと思います。
開発環境
Cocos2d-xは、最初でも述べたように「フレームワーク」です。そのため開発環境は自分好みのものを用意することが可能です。日本では、AndroidとiOSのゲームを開発するユーザが多いため、Mac上でXcodeを利用したiOSアプリ開発をメインとし、定期的にEclipseを利用してAndroidアプリの動作確認を行うことが好まれています。また、Windowsユーザの場合は、EclipseだけでなくVisual Studioを利用される方も多いです。一方、CUIによるビルドも可能であるため、Jenkinsによる一連の自動化も可能です。
開発言語にLuaやJavaScriptを利用する場合は、統合開発環境であるCocos Code IDEを利用することができます。これはChukongにより開発が進められており、無償で利用することができます。WindowsとMacで利用可能です。無償だからといって、簡易的なものではありません。コードエディタには自動補完・コードヒント・コードスニペットなどの機能が搭載されており、専用シミュレータによるライブコーディングも行うことが可能です。
Cocos2d-xには、専用のUIエディタ・アニメーションエディタもあります。それはCocos Studioと呼ばれるものです。こちらもChukongにより開発が進められており、無償で利用することができます。現在はバージョン2であり、WindowsとMacで利用可能です。バージョン1の頃はWindowsのみでしたが、ユーザからのMacの要望が多く、バージョンアップとともに両OSに対応しました。
Cocos Code IDEとCocos Studioは、Cocos2d-xと同じ公式サイトのダウンロードページからダウンロードすることができます。