Cocos2dxからUnityに乗り換えてみる

Unityロゴ

長らくCocos2dx使いだった私が、初めてUnityを使ってみました。

長らく使ったcocos2dx

これまでいくつものゲームをcocos2d-iPhoneとcocos2dxで開発してきた私ですが、どうも最近のcocos2dxはきな臭い感じがしてきました。

使い続ける上で不安なのが、その先行きの不透明さです。

というのも、ここしばらく開発に利用していたcocos studioが、いきなりサポート終了したのです。マジかよ。

cocos studioって公式認定ツールじゃなかったっけ・・・?

公式サイトから消えててほんとビビる
公式サイトから消えててほんとビビる

今後は同じタイプの開発環境としてcocos creatorがその役割を担うそうです。ちなみにこのcocos builder、今のところcocos2dx-jsしかサポートしてない上に、cocos studioのファイルをコンバートする仕組みすらないという・・・こんなん乗り換えすら不可能じゃないですか。開発者をドマゾか何かだと思ってるん?

cocos2dxはオープンソースのため、今後も独自にcocos studioの開発を続けてくれる方は出てくるのかもしれませんが・・・少なくとも公式には開発終了、噂によれば担当者がすでに追い出されているとかなんとか。マジかよ。

初めてのUnity

というわけで、とりあえずUnityを使ってみることにしました。最新かつ評判の良い教科書を入手します。

で、ほんの1時間ほど、教本の通りにUnityを触ってみたところ・・・

最初からUnityにしとけばよかった・・・

と、思いました。

Unityのよかったところ:ビルドが簡単

なんてったってビルドが簡単です。

触って1時間以内にiPhone、Android両方の実機でサンプルゲームが起動できました。

これ、cocos2dxを初めて触って同じことをやろうとしたら何日かかかりますからね!

すっかり開発に慣れた今でさえ、Android用にビルドするのは毎回半日かかってますからねぇ!

GUIだけでどんどんいけちゃう
GUIだけでどんどんいけちゃう

もうこれだけで軽く絶望、いままでCocos2dxに使った時間を返して欲しいぐらいですが、まぁアレはアレで色々な経験ができたから、いいかな・・・(遠い目)。

Unityのよかったところ:環境構築が簡単

Unityのサイトからダウンロードしてインストールしたら終わりました。簡単でした。

これはAndroid Studioとその周辺のインストールがcocos2dxのためにすでに完了していたことが大きいですが、これはcocos2dxと共通なので比較するところじゃないですね。

Unityのよさそうなところ:GUIで大体のことができる

まだ1時間ぐらいしか触ってませんが、どうもcocos2dxより簡単に色々な機能が実装できるっぽい。

本当かどうかはやってないのでわかりませんが、課金とか広告とか、そりゃもう簡単に実装できるらしい。

なんなら物理エンジンとか衝突判定とか、そういうのもGUIでサクサク実装できるらしい。

マジかよ。

cocos2dxで広告を実装しようとしたらiPhoneとAndroidでそれぞれ作業が必要になる上に結構めんどうくさいので、やり方を定型化した今でさえ非常に手間がかかってうんざりします。課金はまぁ、SDKBOXを使えばそれなりに簡単だけど・・・でもやっぱりめんどい。

Unityのよさそうなところ:クラウドサービスと簡単に連携できそう

%%title

なんかクラウドサービスとの連携が簡単にできそうです。

無論cocos2dxでもできるのですが、クラウド側でサポートを表明しているのは探しても見つかりません(2016/12/08現在)。

これは・・・乗り換えるしかない、このビッグウェーブに。

その他、cocos2dxとUnityの違いとか、思ったこと

cocos2dxは良くも悪くもコードを書くとなんでもできます。objective-cとかjavaと連携しやすいので、その辺まで全部自分でガリガリ書けるスキルのある人が変わった実装をしようと思えばそりゃもうcocos2dxは楽しいでしょう。

でも、まずもって私にそんなスキルはありません。objective-cとc++は、まぁぼちぼち書けるけど・・・。

そもそもゲームを作る時に、そんな変則的な実装する機会なんてあんまりなくないですか?いや、それは私の発想が貧困なだけですね。たぶんね。

Unityはちょっと触っただけでも、コードをガリガリ書くというより、GUIで作ったものとコードを混ぜ混ぜしながら作っていく感じでしょうか。なんか同じ「ゲームを作る」っていう作業をしているはずなのに不思議な感じです。

私はゴリゴリとコードも書きますしコーディングは好きですが、基本的には「ちゃんと動くものが作れればなんでもいい」と思っているので、たぶんUnityのほうが馴染むと思います。マウスをカチカチやって完成するならそれに越したことはないです。

あとは使用するプログラム言語の問題。

Unityでコードを書くならC#がいいようですが、cocos2dxのためにC++が使えるようになった私にとっては、どちらも似たようなモンなので大した問題ではなさそうです。無論、勉強はしますが。日々是精進。つまり、これからcocos2dxかUnity、どちらを選ぼうか?という方も、そんなに気負わなくてよさそうです。C#でもC++でも、とりあえず勉強したことは無駄になりません。私みたいに、困ったら変えればいいじゃないですか。とりあえずやってみて、一緒に迷走しようぜ。

というわけで、しばしの間Unityのお勉強をします。まずは売上が10万ドルを超えて有料ライセンスが必要になるところを目指したいと思います。

じぃーまでした。