UnityとCoronaSDKと独自ゲームエンジンのメリットとデメリット
こんにちわ!絶賛ニート生活実施中な私です。
しかし、そんな生活ともそろそろおしまい...
7月から週3は業務委託の仕事をすることになりました。
(正直、定期収入がないのにドキマキしていたので一安心ですw)
さて、最近スマートフォン開発に夢中な私ですが、
開発環境に関してはやはり厳選して決めていきたい。
簡単に開発環境を決めてしまって気に入らずちょくちょく変えることになると
学習コスト、などデメリットが多いので色々と少しずつ触って実際にどのような開発環境が
ベストなのか自分なりに考えてみました。
最低条件として考えているのが
マルチプラットフォーム化とできるだけネイティブ言語を触らずに開発ができること。
そういう点で使えるゲームエンジンをあげると
Unity3D, CoronaSDK, 共通ライブラリ+各種ゲームエンジンと3つに絞れました。
この3つのメリット、デメリットを以下にあげていこうと思います。
Unity3D
メリット
- ゲームエンジンとしての完成度が高い。
- 英語での情報量が多い。(書籍、サイト)
- 人気が高い。
- Pro版でネイティブ言語での拡張ができる。
- 開発事例が多い。
デメリット
- 学習コストが高い。
- 日本語の資料がほとんどない。
- ツールの操作を覚えるのが大変
- Pro版で40万円以上かかる。
- ツールでの開発がメインになるので開発共有がしにくそう。
感想
本格的な3Dゲーム開発ができるが、
学習コストが高く。値段も高いので手が出しにくい。
また、本格的な開発だが共有がしにくいイメージでノウハウ蓄積が必要になりそう。
2Dゲームやソーシャルゲームを作るという点ではオーバースペックなのは確か。
ただし、拡張ができることや。Gree,DeNAがプッシュしているなど
今後のゲームエンジンのトレンドになることは間違いなさそう。
CoronaSDK
メリット
- 学習コストが低い。
- 言語がLua
- ドキュメントが分かりやすい。
- 日本語フォーラムが活発(日本コロナの会)
- 安い。
- Pro版で4万円
- 開発事例が多い。
デメリット
- ネイティブ言語での拡張ができない。
- ビルドが開発会社依存
感想
Luaでの開発が簡単なのと、安い。
2Dゲーム専門なのでUnity3Dと比べると学習コストは正直半分以下なんじゃないかと思う。
ドキュメントや日本語フォーラムなど充実がすごい。
ただし、一番のネックがネイティブ言語の拡張ができないこと。
また、ビルドが開発会社に投げて行う。という点もかなりのデメリット
会社がなくなれば終わりになる...
ただし、このデメリットを考えてもCoronaSDKのAPIで
やりたいことが全てできるのであれば、2Dゲーム、ソーシャルゲーム開発では
CoronaSDKで確定といってもいい。それぐらい魅力的。
共通ライブラリ+各種ゲームエンジン
iphoneだとLuaからcocos2Dを使用する。
AndroidだとLuaからe3roidを使用する。
使用する箇所を共通化してしまう。という方法
Lua --- 共通ライブラリ --- cocos2D
|- e3roid
メリット
- 拡張性が高い。
- 制限が無い。なんでもできちゃう。
デメリット
感想
正直、理想的だと思う。ただし独自で作ることになるので
開発、維持コストが掛かる。
じっくりコトコト作る場合であればこの手法を使うのがベスト
または、最初はiphoneだけでいいよ〜などそういう場合でもこっちが良い。
ただし、ネイティブ言語の知識がやはり必要になってくるだろう...
どのゲームエンジンでも拡張するならそうなんだけど。
全体的な感想
何を作るか、期間はどれくらいか、何で出すか。など色々な要素が組み合わさって
使用するゲームエンジンが決まってくる。
個人的には、Unity3Dだいすきーと押しているが、
ゲームエンジンを使うこと自体がゲームエンジンに依存することになり、
技術者レベルの低下につながることと、他で通用しなくなること、などを踏まえて
共通ライブラリ+各種ゲームエンジンを使うことがいいんじゃないかと思っている。
ただし、共通ライブラリを作る点はやはり敷居が高い。
(そのためのUnityだったりCoronaだったりするわけだからw)
仕事でゲームエンジンを使用するのであれば、企画段階で制限を付けて
Coronaで行くというのがスムージーなのかもね。
さてー。いろいろまとめたけど、Luaちんぷんかんぷんだから勉強しないトナー。
トナー。トナー。トナー。