読者です 読者をやめる 読者になる 読者になる

F@N Ad-Tech Blog

株式会社ファンコミュニケーションズ nend・nex8のエンジニア・技術ブログ

昨今のゲーム開発環境のアレコレ

android Android iOS iPhoneアプリ JavaScript

はじめまして。 ADN新参者のy_kukiです。

【はじめに】 今回は、iPhoneAndroidを代表するスマートフォンアプリゲームの開発環境について紹介したいと思います。 筆者も以前に調べたことがあるのですが、あれから2年程経ちましたし、最近どうなのかと気になったので久々に見てみる事にしました。 筆者の独断と偏見で気になったものをいくつか選出しました。

エントリーNo.1:PhoneGap Adobe社により公開されているスマートフォン向けハイブリッドアプリケーション制作用フレームワーク。 HTML+JavaScriptで作成したWebアプリを、各モバイルOS上で動作する様に変換してくれます。

【特徴】

【メリット】

  • Webアプリを作る感覚で開発できる
  • 公式アプリストアにリリースできる
  • 各デバイスのAPIを使用できる(全てではない)

【デメリット】

  • 純粋のネイティブアプリより動作が遅い

【補足】 また、現在は、各デバイス用の環境を準備しなくてもよいように、PhoneGap Build(2012年9月26日より)というサービスがあるそうです。 QRコードも一緒に生成されるので、そちらからもインストールする事ができるようです。 但し、iOSは、証明書とプロビジョニングプロファイルの準備がないとインストールできません。 また、サービスの利用には、AdobeIDもしくは、GitHubのアカウントが必要となりますので、お持ちでない方は、ご登録を。 無償版は、アプリケーションを一つしか登録できないようですが、有料版のプランを選択すれば、複数のアプリを登録することができるようです。

=== 感想 ===

PhoneGAP Buildは、開発環境を用意しなくていい所が楽でいいですね。 環境構築って結構時間かかりますからね。 その上、HTMLやJSで作れるので私の様なWeb系人間には敷居が低くてよいと思います。 Webサービススマホ化には、手間がかからなくて良さそうです。

エントリーNo.2:GameSalad GameSalad社が作っているゲーム制作環境。 2年くらい前はMac版のみだったのですが最近では、なんとWindows版も登場している模様。 早速インストールしてみたのですが、私のXPではなぜか動きませんでした。 【特徴】

【メリット】

  • コードを書かなくてよい
  • ドラッグ&ドロップでゲームの組み立てができる

【デメリット】

  • ビルドをGameSaladのサーバーで行うので、Xcodeでの手直しができない
  • オンラインでないと実機テストができない
  • Androidは、pro版でないとリリースできない
  • $299/年は高い
  • pro版しか広告が出せないため、マネタイズが難しい

=== 感想 === コードを書かずに、D&Dで作れるのは、画期的だが、実利用には向かない。 趣味&遊びで使ってみるくらい。

エントリーNo.3:Corona SDK こちらは、Ansca Mobile社が提供しているマルチプラットフォームな開発環境。 Luaという言語を使用して開発します。 Luaの事を知りたい人はこちら

【特徴】

【メリット】

  • 専用シミュレータが付いているので、プレビューが早い
  • メニュー遷移構造が容易に作成できる

【デメリット】

  • 利用者少ない
  • 開発事例少ない
  • 日本語のドキュメント少ない
  • UnityのAssetStoreやTitaniumのMarketplaceのようなショップない
  • 開発会社のサーバでしか実機で動作するビルドできない

=== 感想 === ハードル高い気がするのは、私だけですかね。 いろいろなサイト見てみたんですが、私にはあまりピンときませんでした。 Luaでゲーム作れる人ならいいと思います。

エントリーNo.4:Titanium Mobile Appcelerator社が提供しているiOSAndroidに対応した、クロスプラットフォーム開発環境です。 JS経由でネイティブAPIを実行するので、ネイティブのように動きます。 ロジック、UIをJavaScriptでガリガリ書く感じになります。

【特徴】

【メリット】

【デメリット】

  • UIのコーディングが面倒
  • ゲームに不向き

=== 感想 === JavaScript得意な人向け。 ゲームを作るにはあまり向かないが、一応、2Dゲームが作れる。

エントリーNo.5:Unity Unity Technologies社製の言わずと知れた3Dデータの物理演算をやってくれるゲームエンジンGREEバンダイナムコゲームス等の大手ゲーム会社にも採用されている。 また、医療関連やプロモーション等、ゲーム以外での利用もされている。

【特徴】

  • 3Dデータの物理演算をやってくれる
  • 様々なプラットフォームに書き出しが可能(モバイル系だけでなく、wiiやPS、Xbox360にも対応可能)
  • 3DCGソフトとの連携が容易
  • Asset Storeにて、3Dモデルデータやライブラリ等を購入できる

【メリット】

  • 人気があるので利用者が多い
  • 複数の言語での開発が可能 C#、UnityScript(以前はJavaScriptだった)、boo(Pythonに影響を受けた言語)
  • 3Dデータの扱いが、直感的

【デメリット】

  • 学習コストが高い

=== 感想 === 多機能かつ高機能な為、ツールの操作等に慣れるのにやや時間がかかります。 やっぱり、Unityやるなら3Dの知識は必要だと思う。 作るだけなら無料版で十二分です。機能をフルに使い切れる自信ないですが・・・。 Pro版($1500)は、バージョン管理やプロファイラ機能等、開発者向けの機能が追加されるので商用利用する場合は、こちらのほうがいいでしょう。

エントリーNo.6:Cocos2d-x Cocos2d for iPhoneC++ベースで移植した、クロスプラットフォーム対応2Dゲームフレームワーク

【特徴】

【メリット】

  • 開発事例が多い
  • 大手有名ゲーム会社が多数採用している
  • Cocos2d for iPhoneとクラス名が似ている
  • いろいろなプラットフォームに対応できる

【デメリット】

  • UI構成や、アニメーション作成に時間がかかる
  • OS毎に異なる機能の利用が面倒
  • 日本語のドキュメント少ない

=== 感想 === Cocos2dはiPhoneしか知らなかったのですが、C++C#JavaJavaScriptと多様に派生してる模様。もともとiPhoneでの実績があるので、選択肢としては堅いところですね。 カードゲームとか作りやすそうなイメージです。 Unityに対し、こちらは専ら2Dゲーム用みたいなイメージですが、その気になれば3Dもできるようです。 私的にはCocos2d-javascriptが一番敷居が低そうなので、暇な時にでも触ってみようかと思いました。

【おわりに】 いかがだったでしょうか。 久々に調べてみましたが、Unityやはり強し、ですね。 ゲーム以外の方面への展開も期待できますし、まだまだ今後も伸びそうです。 Cocos2d-xも、不得意なUI系の高機能開発ツールが色々と出ていて、凄く活気がある印象を受けました。 個人的にはPGBも環境作らなくていい&Web技術使えるので、敷居低いからユーザーは増えそうな感じがしてるんですが、やっぱり、ピュアネイティブじゃないからかな。

今回挙げたのは、割とメジャーなのが多かったと思うので、全部知ってる方もいるかもしれないですが、そこはご容赦いただきたく存じます。

次回は、Gitについて書こうかと思います。