Flasher から見た Unity と cocos2d-x

投稿者: | 2016/10/14
モバイルアプリ開発として Unity と cocos (ちょろっとだけ)触ってみた感想。全部 GPU なんで、Stage3D 使用経験前提。似たものとして AIR と比較。
  • Unity -> AIR + ANE
    • 癖はあるが、そこそこ直観的で扱いやすい。アセットストアにより、ネイティブはいくらか楽。でも要件を満たすものがなかったら作らなきゃいけない。なんだかんだで特殊なので、ちゃんと使いこなすにはなかなか大変。作りが緩すぎて気持ち悪い部分もあり。ここらへんをちゃんと構造整理できるかが肝。まぁ書籍結構あるし、コミュニティもでかいし、困ったらいろいろ情報はあるし、泣きつくところも多い。ハードルが割と低い反面、できる人とできない人の幅がとても広い。
  • cocos2d-x(JS) -> AIR + ANE
    • 「JS だから簡単だよっていっても、結局、用意されたこと以外のことやろうとすると C++ いるよね・・・。んでそういうこと割と多いよね。」っていうところが、まさに AIR + ANE。ただ、JS だけで賄うことができる内容なのであれば、悪くない。ブラウザ書き出しだとソース丸見えなのはアレだけど。あと、JS っていっても、文法が JS なだけで・・・ってそれはどれも一緒か。
  • cocos2d-x(C++) -> ANE + AIR(ANE が AIR より前に来ていることに注意)
    • 各ネイティブ開発経験前提。ネイティブ開発を知らずして使えない。

cocos は特に他のライブラリと併合して使うと魔窟になる。特に環境構築と設定。あと Android 開発が特にしんどい。iOS で動いたかと思いきや、同じコードで Android が動かないなど。結局 Xcode と AndroidStudio(or Eclipse)を使用してのネイティブ開発知識 + 両方の癖を考えながらの cocos の知識を駆使しなければならないので、「Android と iOS のネイティブ開発を経験して理解できている人がクロスプラットフォーム開発を楽にやりたい」以外は正直お勧めできない。特に、周りに助けてくれる人がいない場合、尚更お勧めできない。そして、cocos をちゃんと使えてる人たちは結構な猛者なので、情報公開をしないか、企業が囲って情報公開をできる環境にないことが多い、気がするので、自己解決していく気力と自己解決力があるかどうかが鍵。

今からゲーム作りながら C++ 勉強したいなら多少はお勧めできる・・・?でもメモリ管理は C++ 由来のマニュアル管理と cocos 由来のリファレンスカウントが混在して、逆に混乱のもとになりそうな。

まぁでも、結局、今やりたいことと今後やりたいことを鑑みてやればいいと思います。っていう残念な投げ槍感。あくまで最近ちょろっとだけ触った雑感なので、気になる人は一度触ってみるとよいと思います。

ここに投稿するの久しぶりだなぁと思ったら、実に2年ぶりでした・・・。最近はなんかいろいろやって、忙しくしてます。布施明の「シクラメンのかほり」がマイブームです。