タグ:PlaygroundOSS ( 1 ) タグの人気記事


Ubuntu(xbuntu)12.10にcocos2d-x入れてみた日記
http://yamacraft2.exblog.jp/18987676


以前cocos2d-xを入れてみたわけですが、結論を言うとU100のスペックでは、ビルドするたびに艦隊これくしょんの演習を1回やれるぐらいの待ち時間が発生して非常にストレスだったので、macminiとかをいずれ買った時に改めてちゃんとやろうかな、という感じで現在放置しています。

そんな中、KLabが自社のゲームエンジンであるPlaygroundのOSS版を公開していたので、試しにサンプルだけ動かしてみようと挑戦してみました。


KLabが開発したゲームエンジン「Playground」のソースコードを公開 | ニュースリリース | KLab株式会社
http://www.klab.com/jp/press/130926.html


結論からいうと、公開当日の環境構築ゲームは敗北に終わったわけですが、別でwindows側でサンプルの動作に成功していた人がいたので、あらためて参考にして挑戦しました。


2D/2.5Dゲームエンジン Playgroundのセットアップ | ブライテクノBlog
http://brightechno.com/blog/archives/150


内容はかなり上の記事に酷似しています。そりゃ環境構築なんだから当たり前なんですけど。


0. PlaygroundOSSのソース取得

https://github.com/KLab/PlaygroundOSS/

通常のgit cloneしてしまえばいいです。


% git clone https://github.com/KLab/PlaygroundOSS.git
% cd PlaygroundOSS


ブランチを切るかどうかはお好みですが、なんだかんだでしばらくは激しく修正が行われるので、やっておいたほうがいいかもしれないです。(ここでは書きません)

1-1. pythonのインストール
いるのでやっておきましょう。(割愛)

1-2. NDKのインストールとかSDKのインストールとかADTとかEclipseとか
もうここで書く必要もないので割愛します。
ただこの後のビルド作業の中で、NDKにPATHが通っていることを前提とした部分があるので、忘れないように注意してください。
ちなみにPlaygroundOSSの中はNDKのバージョンがr9前提となっているので、コレを機に最新版のNDKを落としておきましょう。


export PATH=$PATH:$HOME/android-ndk-r9/


もしかしたらsdkのplatform-toolsもPATHに通しておいたほうがいいかもしれません。コマンドライン上でどこからでもadbコマンド叩ければ、PATH通ってると思います(投げやり感)。

2. PlaygroundOSSエンジンのビルド
正直ここは何やっているのかよくわかっていないです。
とりあえずビルド用のPythonファイルに実行権限を与えて、python越し初回のndk-buildとかをやらせてるみたいです。


% cd (省略)/PlaygroundOSS/Engine/porting/Android/GameEngine-android
% chmod +x ./build.py
% ./build.py --rebuild --project SampleProject


SampleProject以外だと失敗するらしいですが、じゃあ新規にプロジェクト作りたい場合はどうするんだという疑問もつきないでしょう。いいんです、とりあえず私は動作確認だけしたいので。

成功すれば、GameEngine-android/libs/以下にgcm.jar以外のいろんなライブラリファイル(*.so)があるはずです。ndk-buildだけ失敗すると、フォルダだけできて中身が何もはいっていないことがあるので注意してください。

3. プロジェクト用のassetsを作成
GitHubにアップされている説明書は何故かここからあやふやな記述になっていた、自分はここでつまっていましたが、Tutorial以下のサンプルフォルダを指しているようでした。
いまはどこにあったかわかりませんが、当日は他にも同じ内容のzipファイルかなにかがあって、しかも必要なファイルがないという罠が仕掛けてあって恐ろしい目にあいました。


% cd (省略)/PlaygroundOSS/Tutorial/01.SimpleItem/.publish/android
% zip -r -0 (省略)/PlaygroundOSS/Engine/porting/Android/GameEngine-android/assets/AppAssets.zip ./*
% echo -n "1" > (省略)/PlaygroundOSS/Engine/porting/Android/GameEngine-android/assets/version ./*


2行目でassetsにあるフォルダを無圧縮zipに固めて、先ほどビルドしたプロジェクト内のassetsフォルダに入れて、versionというファイル名の無圧縮zip内のファイルリストのテキストファイルを、同じようにassetsフォルダに入れます。頭に1がつくのは、今回は01.SimpleItemだからかなあと思いますが、よくわかりません……。
そもそもgit cloneしてきた中身にどんどんプロジェクト作るのも変じゃないかって??私にもよくわかりません……。でもとりあえず、動いてるところがみたいだけです……。

4. プロジェクトをeclipse - adtでインポート
インポート手順の詳細は省略します。
インポートの選択は「Existing Android Code into Workspace」で、インポートするフォルダは、先ほどassetsで色々おいたフォルダの一つ上「GameEngine-android」になります。

あとインポートしたプロジェクトを右クリック-プロパティを呼び出して
「C/C++」の中のビルドコマンドのパス、「C/C++ -> 環境(Environment)」の中身のパスを修正しておいてください。

5. 実行
Lintエラーとかで実行出来ない場合は、何度かF5キーでプロジェクト内をリフレッシュしたり、2のエンジンビルドを何回か再実行してみてください。
eclipse上でクリーンビルドすると、艦隊これくしょんで演習を1つ進められる時間が発生する上に、それでいてビルド失敗する可能性があるので注意してください。

とりあえず実行に成功すると、猫の写真に変な色合いのフィルターがかかってなんか数秒間だけ動いて止まる何かができました。

d0252816_2353572.png


このフィルターは正しいのかどうかわかりませんが、とりあえず動きました。ちなみにバックボタン聞かないので注意してください。

ただ正直言って、プロジェクトの作成手順がなんか複雑だし、そもそもサンプルがluaファイルだし、結局ビルドまでの手間暇とビルド時間はcocos2d-xと対して変わらないなあということで、しばらく自分はゲームはAndEngineでやっていこうと思いました。

もうちょっとプロジェクトの修正が落ち着いて、ある程度運用方法の情報が出来上がったタイミングで、改めて考えることにします。


はやくビルド時間に困らないハイスペックなPCが買いたーい。
[PR]