結局買っちまったわー。
積みゲーがまたひとつ増えた。
ドラゴンズクラウン、ほぼ毎日遊んでるんだけど、まだまだクリアできそうにない。
さて、今日は祝日ということでcocos2d-xをインストールして次回作の開発環境を作った。
cocos2d-xはクロスプラットフォームのゲームエンジンで、iOSとandroidの両方で動くゲームを開発できる。
開発言語はC++になる。
このcocos2d-xについては、クロスプラットフォームのゲームエンジンということ以外に前知識はまったくないので、入門書を片手に作業を行った。
書籍はこちら。
とりあえずWindowsにインストールして、サンプルプロジェクトをビルドした後、androidの実機で動作確認できたところで、ざっと流れを整理してみる。
あくまで、推測です。
結局、このゲームエンジンってC++のライブラリなのだろう。
実際のプログラミングは、androidであってもC++で開発する。つまり、.hファイルや.cppファイルを作成してコンパイルするのである。
androidがC++でコンパイルされたバイナリをどういう風に実行するのかわからないけれど、javaにネイティブライブラリを実行する機構があってそれを使うのだろう。
cocos2d-x用のandroidプロジェクトのjavaソースを見てみると、cocos2d-x用にカスタマイズされたアクティビティを使用していて、その中でC++のバイナリを実行するしてるんだと思う。
以上のことから導かれることとして、Windowsでcocos2d-xを使ったandroidの開発をするためには、以下のものが必要だということになる。
1.cocos2d-xのリソース群。
2.エクリプスからc++をビルドする仕組み。
3.c++のリソースを含む、cocos2d-x向けにカスタマイズされたアンドロイドのプロジェクトを作成する仕組み。
なるほど、開発環境を作るのが思ったより手間がかかったのはこういうことだったのだ。
というわけで、何はともあれ、cocos2d-x本体が必要となるのでダウンロードとインストール。
インストールといっても、これ自体はIDEのような開発環境というわけではなく、リソース群やツール群なので、zipを解凍して任意のフォルダに置き、環境変数を追加してパスを通すだけだ。
そして、アンドロイドで実行できるネイティブコードをビルドするためのNDKというものをインストールする。
これもzip解凍するだけ。
次のステップはcygwinのインストール。
cocos2d-xからNDKが呼び出されるようなのだが、それがどうもshell経由で呼び出すらしく、Windowsでshellを実行するためにcygwinを入れる必要がある、と。
cocos2d-xというフレームワークの性格が垣間見れる気がする。
そして、もうひとつ。
「cocos2d-x向けにカスタマイズされたアンドロイドのプロジェクトを作成する仕組み」として、cocos2d-xにはPythonのスクリプトが用意されている。
なので、Pythonをインストールするのである。
こちらからダウンロード。
細かい設定や手順は割愛する。
ネットには幾らも情報があるだろうし、冒頭で紹介した本が、この手の本では久しぶりの名著だったので、ぜひそちらを参照して欲しい。
大事なのは、次の点だ。
cocos2d-xは、ネイティブコードで開発して、androidのプロジェクトに組み込まれる。
なので、NDKを使用するということ。
ただし、cocos2d-xというフレームワークは現在も活発に開発されているもので、初心者が直感的につかえるようにツール群を整理するという段階にはまだいたっていない。
だから、わざわざパイソンをインストールしてやったり、シェルをたたくためのcygwinを入れてやるなどして、利用者のほうがcocos2d-xに歩み寄る必要があるということだ。
こういった手順は、システムの成熟度に応じて、やがて不要になってくるだろう。
そう考えると、この開発環境の構築にかかる手間のひとつひとつの意味がなんとなくわかってくるのであった。
明日は『cocos2d-x入門』にしたがって、チュートリアルのゲームを作成してみようと思う。
今日のフィットメーターは370kcalで目標クリア。