[解決済み】AndroidとiOSに対応した2Dクロスプラットフォームゲームエンジン?[クローズド]
質問
Unity3dをしばらく使ってみて、OnGUI()やGUITexturesを使った2D部分があまりに不格好だと感じたんです。また、Unity3dで作ったゲームは一番小さいものでも10MB以上ダウンロードされ、2Dゲームとしては多すぎる。
そこで、現在、2D用のエンジンを探しています。Cocos2Dを試したが、iOS専用だし、Android用に他の言語に全部書き換えるのは嫌だ(だから、例えば、Cocos2DのAndroid用Java移植は選択肢にない)。その代わり、一度コードを書けば、iOS、Android、そして場合によってはWindows Phone 7に展開することができるように、手間を最小限に抑えたい。私はMacとWindowsの両方を持っています。
もう少し詳しく言うと、エンジンに対する私の要求は以下の通りです。
- クロスプラットフォームであること
- 効率的であること
- C++、Java、C#、Objective Cのいずれかを使用する必要があり、私はこれらの言語を使いこなすことができます。 ない 私はウェブ開発者ではないので、Flash、Javascript、HTML5を使用します。
- 大きなコミュニティ、チュートリアル、iOSやAndroidで直接開発する際に必要なほとんどのものをカバーする追加ライブラリ(アプリ内課金、Facebookなど)を持っていること。
- 最終的に納品されるパッケージが大きすぎないこと
- エンジンは無料でも構わないが、相応の対価を支払っても構わない。
以下のようなエンジンがありました。
- マーマレード (そして 岩盤ゲームエンジン C++、Marmaladeの全体的な非常に肯定的なレビューを見つけましたが、IwGameについてはよくわかりません。 EDIT (2013年3月) : Marmalade SDKにはCocos2DxとIDEが含まれていて、より良いものになっているようだ(インディーズ開発者にとっては年間150ドルかかるが、僕にとっては問題ない)。
- コロナSDK - Lua(効率性は疑問)、コードをコンパイルするためにインターネット接続も必要
- Cocos2d-x - C++は、開発者から多くのレビューを受け、そのほとんどが肯定的で、多くの人が2Dに最適だと考えています。
- パーティクルコード - Java+Eclipse、レビューやコメントは見つかりませんでした。
- モアイ - Lua、レビューや意見を見つけることができませんでした。
- モンキーエンジン - 機能が少なすぎるような気がする
- ハクセンメ - Flashです。使ったこともないし、使いたくもありません。
- 使用 ユニティ3d が、2D Toolkitのような2Dパッケージでは
- の移植 SDL から アンドロイド (また こちら ) と iOS - は、あまりサポートや現在の開発がないようです(?)
- GLBasic - 基本的な言語、好きではない
- プレイN - は、開発初期のようです(?)
- ガンバス - HTML5、私には成熟したエンジンに見えません
- イグニフガ - Pythonも、大人っぽくない。
- オーエックス - まだ開発されているかどうかわからないが(?)
- 構成2 - GameMakerを彷彿とさせる、ラピッドプロトタイプにはいいかもしれないが、産業レベルのゲームには絶対に向かない。
- XNA を使用してゲームを移植します。 ExEn (必要なのは モノ・タッチ をiOSに移植し アンドロイド版Mono をAndroidに移植) - C#で、おそらくxBoxのようなMicrosoft製品から来る人々のためにもっと考えています(私はAndroidから来ました)。また、これらのMonoツールは、小規模な開発者にとっては合計で800ドルもするものです。
- インパクト - JavaScript、HTML5を使用。JavaScriptはあまり好きではない(例えばUnity3dではC#を好んで使っていた)、またブラウザ上で動作するため効率性がわからない(?)
- ゲームメーカー - のスクリプト言語GMLと、実はこれ、ノンプログラマーのためのツールとして覚えているんです。実際に、本格的な開発用のエンジンに成長したのでしょうか?
- AppGameKit - C++でありながら、まだかなり新しいようです。まだレビューはありません。
- 使用 Cocos2D とObjective CでiOS向けのみ開発し、それをAndroid向けのAPKとして Stella SDK . 誰かやったことある?制限があるのは確かだし、Googleのアプリ内課金、AdMob、Facebookとの連携はAndroidではどうなんだろう?
- モスクリ - JavaScript、元Web開発者向けのようです。
- スターリング - Flash 11、私はFlashにあまり興味がありません。
- ND2D - まだ1.0ではないのですが、機能は充実しているのでしょうか?
そこで、これらのエンジンを使用した経験から、リスト中のどのエンジンが(あるいは私が見逃しているものがあれば)記載した要件に最適であるかを提案していただけると幸いです。また、いくつかのエンジンについて、私の第一印象が間違っている可能性もあります。
現在、Marmalade+IwGameがベストだと考えていますが、Cocos2d-xやParticleコードについてあまり情報がないので、よくわかりません。
ありがとうございました。
EDIT (2013年6月) : これまでに2つのクロスプラットフォーム2Dゲームを制作し、いずれもUnity3Dと2D Toolkitプラグインを使用しています。単純なGUIのゲームでは、Unityのものをベースにした簡単な自作GUIシステムを使用しました。より複雑なもの(例えば、GUI要素が重なり合うようなもの)については、NGUIプラグインを使用しました。最近、2D ToolkitにGUI用のクラスが追加されましたが、NGUIと2D Toolkitを組み合わせる場合、テクスチャアトレーゼに2種類のシステムを使用しなければならなかったので、非常に便利です。次の2Dゲームでは、ぜひこれを試してみたいと思います。2DゲームにUnity3Dを選んだ最大の理由は、すでにUnity3Dを深く理解しており、再利用可能なコードスニペットが蓄積されていたことです。また、3DゲームのためにUnity3D pro(Android ProとiOS Pro付き)を購入したので、2Dゲームもカバーするために2D Toolkitに60ドル追加で支払うことは十分に理にかなっています。今のところ、この決断を後悔していませんし、私のケースには最適だったようです。唯一、頭を痛めたのは、Prime31のプラグイン(Android & iOSソーシャルプラグイン)でソーシャル機能を追加したことですが、これらのバグはPrime31のせいではなく、TwitterやFacebookのせいだと思いますので、おそらく他のエンジンやプラグインでも同じバグが見られると思われます。
EDIT(2014年1月) : Unityの新しいスプライトシステムと、たぶん2DToolkitは、特に私のようにUnityをしばらく使っていて、アドオン付きのProバージョンを購入した人にとっては、他のものに完全に勝りますね。
解決するには?
で作業したことがあります。
Marmalade
で、満足できるものでした。無料ではないし、開発者コミュニティも十分な規模ではないが、それでもチュートリアルを使えば、ほとんどの作業をこなすことができる。(私も時間ができたらチュートリアルを書こうと思っています)。
IwGame
は、Marmaladeのユーザーの一人が開発した、良いエンジンです。基本的なゲームには適していますが、本格的な高度なゲーム性を求めるのであれば、このエンジンの他に
Cocos2D-x
Marmaladeと一緒に。Cocos2D-xは使ったことがないが、MarmaladeのExtensionに
Github
.
マーマレードのもう一つの良いところは
EDK (Extension Development Kit)
これを使えば、ネイティブ・コードにはあってもMarmaladeにはない、必要な機能のための拡張機能を作ることができます。私はこの機能を使って、カスタマイズされたAdmobエクステンションとFacebookエクステンションを開発しました。
編集
:
Marmaladeは、2D開発のための独自のRAD(Rapid Application Development)ツール、その名も
Marmalade Quick
. コーディングはC++ではなくLuaになりますが、C++ Marmaladeの上に構築されているので、C++ライブラリや他のすべてのEDK拡張を簡単に含めることができます。また
Cocos-2Dx
と
Box2D
の拡張機能がQuickにあらかじめ含まれています。最近、リリース版がリリースされました(3-4ヶ月間ベータ版でした)。2Dの開発だけを考えているのであれば、一度試してみるといいと思います。
更新しました。
Unity3Dは最近2Dゲームのサポートを開始しました。GUIとエディターのおかげで、他の2Dゲームエンジンよりも優れているようです。物理演算、スプライトなどのサポートが内蔵されています。このような場合、このような方法で対応することができます。
アップデート2
マーマレードは近々SDKを廃止し、自社でのゲーム制作に移行する予定です。だから、それに頼るのは賢明な判断ではないでしょう。
関連
-
[解決済み】インストールエラー。インストールエラー:install_failed_older_sdk
-
[解決済み】apkインストール時のINSTALL_FAILED_NO_MATCHING_ABIS
-
[解決済み】Bluestackの向きを変更する : ポートレート/ランドスケープモード
-
[解決済み] com.android.supportのライブラリは全て全く同じバージョン表記である必要があります。
-
[解決済み] AndroidでBluetoothが有効かどうかのチェックに失敗する(REQUEST_ENABLE_BTを変数に解決できない)。
-
[解決済み] setBackgroundDrawable() 非推奨
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み] ユーザーが拒否する可能性のあるパーミッションが必要なコール
-
[解決済み】onCreateOptionsMenu(Menu メニュー)とは何ですか?)
-
[解決済み】このアクティビティは、すでにウィンドウ装飾によって提供されるアクションバーを持っています。
-
[解決済み】レンダリングの問題 レンダリング中に発生した例外:com/android/util/PropertiesMap [重複].
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み】カメラサービスへの接続に失敗しました。
-
[解決済み】android.content.ActivityNotFoundException: 明示的なアクティビティクラスを見つけることができません。
-
[解決済み] AndroidのADBデバイスが不正に
-
[解決済み] Androidでイメージビューの背景を透明に設定する