私は、cocos2d-x(C++)で業務でゲームを作っています。
Unityは趣味で勉強中です。
回答は長くなってしまいましたが、結論はシンプルです。
結論
Unityを選ぶべきです。
cocos2d-xがダメな理由について
2Dに限って言えば、それほどUnityに負けていないというか差はありません。
GUIで動きを付けたり出来ないだけで、実現できる機能は同じです。
しかし、他に今から始めるにはお薦めできない理由があります。
(1) 最新版に対応した書籍がないから
(2) UI構築で苦労するから
(3) 3Dに対応していない
今回は2D前提という事なので、3つ目の理由は関係ありませんが、
せっかくなら1つ覚えたら、発展性がほしいですよね。
公式のフォーラムでも中の人が、3Dゲームを作りたければ、ばUnityを選べば良いと発言しています。
cocos2d-xは、あくまでも2Dカジュアルゲームを作るのに最適なフレームワークというスタンスなのです。
(1), (2)について補足します。
(1) 最新版に対応した書籍がないから
個人の意見ですが、cocos2d-xの本では「cocos2d-xではじめるスマートフォンゲーム開発」が最も良い本でした。
しかし、対応しているバージョンが古いので環境構築は本の通りにやってもダメですし、Android Studioの事が書いてありません。
また、対応バージョンが古いので最新版ではコンパイルエラーとなる箇所があります。
ところどころミスがありますので、自分で気づいて修正する必要があります。
(2) UI構築で苦労するから
ゲーム開発においてUI構築は重要であるにも関わらず、cocos2d-xではおざなりにされています。
まず、JavaScriptは利用しないという前提で話します。
公式がCocos Creatorというツールを用意しているのですが、これはJavaScriptを前提としています。
C++対応も進められていますが、まだベータ版の状態です。
フォーラムのスレッドを見ると、まだまだ不具合が多いようで対応中です。
現時点で、C++でUIを構築するならば、
Cocos Studio 2.3を探してダウンロードして使うのがベストです。
(公式からリンクが消されてしまったので。また、Cocos Studio 3.10には不具合があるので、2.3が安定している)
cocos2d-xはあくまでもフレームワークです。
フレームワークにUI構築ツールは含まれていないため、公式のUIツールがころころ変わってしまいます。
まぁ、UIツールなどは自作すればいいだけなのですが、初心者にそれをやれというのは現実的ではありません。
実際、自分のプロジェクトではCocos Studioを使いつつ、一部UI構築は自作のものを使っています。
理由については、透過させて後ろが透けるようにした画像をCocos Studioで配置すると、実際の表示では少し黒くなってしまうという不具合があり、それを回避するために自作ツールで配置を行っています。
JavaScriptを選ばない理由
あくまでも個人の意見ですが、C++を選択している理由については、
業務で複数人で同時にコードをいじるとなると、修正に対する影響範囲が見えなくなります。事前にコンパイルエラーで知る事が出来るのはありがたいです。
というか、これがないと仕事が出来ません。
リファクタリングをするときに、コンパイルエラーが出れば影響を調べる事が簡単にできます。
また、引数の型を使って読み手にコードの意図を伝えるという事もよくやります。
少なくとも私にとって、JavaScriptで本格的なゲーム開発をするのは正気の沙汰ではありません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/03 04:32