web-dev-qa-db-ja.com

AndroidとiOS用の2Dクロスフォームフォームフォームフォームのゲームエンジンは?

私はUnity3dを使ってしばらく働いていましたが、OnGUI()やGUITexturesの2D部分は不器用です。また、Unity3d上で行われる最小のゲ​​ームでも最低10MBのダウンロードであり、これは2Dゲームには多すぎます。

だから、私は現在2D用のエンジンを探しています。私はCocos2Dを試しましたが、それはiOSのみであり、Android用にすべてを別の言語に書き換えることはしたくありません(たとえば、Android用のCocos2dのJavaポートはオプションではありません)。代わりに、コードを1回作成して、最小限の手間でiOS、Android、そしておそらくWindows Phone 7にデプロイしたいと思います。MacとWindowsの両方があります。

もう少し詳しく言うと、エンジンに対する私の要件は次のとおりです。

  • クロスプラットフォームである必要があります
  • 効率的でなければならない
  • 私はそれらに慣れているのでC++、Java、C#またはObjective Cでなければならず、またWeb開発者ではないのでNOT Flash、Javascript、HTML5でなければなりません。
  • 大規模なコミュニティ、チュートリアル、iOSまたはAndroidで直接開発するときに持っているもののほとんどをカバーする追加のライブラリ(アプリ内課金、Facebookなど)が必要です。
  • 最終納入パッケージは大きすぎてはいけません
  • エンジンは無料にすることができますが、私もリーズナブルな価格を払っても構わないと思います

私は以下のエンジンを見つけました:

  • Marmalade (およびその上の IwGame engine ) - C++で、Marmaladeの全体的に非常に良いレビューが見つかりましたが、IwGameについてはよくわかりませんでした。 編集(2013年3月):Marmalade SDKにCocos2Dxと組み込みの[IDEが含まれるように見えます私と一緒に大丈夫ですindie devのために年間150ドルかかる。
  • Corona SDK - Lua(効率が疑わしい)、コードをコンパイルするためにもインターネット接続が必要
  • Cocos2d-x - C++、開発者からたくさんのレビューを受けましたが、主に好意的で多くの人が2Dのレビューを得ていると考えています
  • Particle code - Java + Eclipse、レビューやコメントが見つかりませんでした
  • Moai - ルア、それについてのレビュー/意見が見つかりませんでした
  • Monkey engine - 機能が少なすぎるようです
  • Haxenme - それはFlashです、私はそれを使ったことがないのでやりたくありません
  • nity3d を使いますが、2D Toolkitのような2Dパッケージでは
  • Android (また ここ )と iOS への SDL の移植 - 多くのサポートや現在の開発はないようです?)
  • GLBasic - 基本的な言語、私は好きではない
  • playN - 開発の初期段階にあるようです(?)
  • Gamvas - HTML5、私にとっては成熟したエンジンのようには見えない
  • Ignifuga - Python、また成熟していないようです
  • ORX - まだ開発されているかどうかわからない(?)
  • Construct 2 - GameMakerを思い出させます。ラピッドプロトタイプには大丈夫かもしれませんが、業界レベルのゲームには大丈夫です
  • XNA にしてから、 ExEn _を使用してゲームを移植します(iOSに移植するには Mono Touch _、移植するには Mono for Android が必要です)。 Android) - C#、そしてxBox(私はAndroidから来ました)のようなマイクロソフト製品から来た人々のためにおそらくもっと考えられています。また、これらのMonoツールは小規模開発者にとって合計で$ 800です。
  • Impact - JavaScript、HTML 5を使用します。私はJavaScriptにはあまり興味を持っていません(例えばUnity3dのC#をお勧めします)。ブラウザで実行されるので効率性についてもよくわかりません(?)
  • GameMaker - 独自のスクリプト言語GMLです。私は実際にこれをプログラマー以外の人のためのツールとして覚えています。それは実際に本物のエンジンへと成長しましたか?私は真剣に開発することを意味しますか?
  • AppGameKit - C++、まだまだかなり新しいようです。まだレビューが見つかりません
  • iOS専用に開発して Stella SDK を使用してAndroid用APKを作成するには、 Cocos2D とObjective Cを使用します。誰かがこれをやったことがありますか?制限があると確信しています。Googleのアプリ内課金、AndroidでのAdMob、Facebookの統合はどうですか。
  • Moscrif - JavaScript、元のWeb開発者にとってはより魅力的
  • Starling - Flash 11、Flashにはあまり興味がない
  • ND2D - まだ1.0ではありませんが、多くの機能がありますか?

それで、あなたがエンジンでのあなたの経験からコメントして、リストのどれ(または私が逃したこと以外のもの)が記述された要件に最も適しているか提案することができたらうれしいです。私はまた、いくつかのエンジンについての私の第一印象に誤りがあるかもしれません。

私は現在Marmalade + IwGameを最良の選択肢と考えていますが、Cocos2d-xとParticleコードについてはあまり多くの情報がないので、本当によくわかりません。

ありがとうございました!

編集(2013年6月):これまで2つのクロスプラットフォームの2Dゲームを作成し、Unity3Dと2D Toolkitプラグインを両方とも使用していました。シンプルなGUIを使用したゲームでは、Unity独自のシンプルな自作GUIシステムを使用しました。もっと複雑なもの(例えばGUI要素が重なっている可能性がある場合)にはNGUIプラグインを使いました。最近2D Toolkitは、NGUIと2D Toolkitを組み合わせるときにテクスチャアトラス用に2つの異なるシステムを使用しなければならなかったため、非常に便利なGUI用のクラスをいくつか追加しました。私は間違いなく次の2Dゲームでそれを試すでしょう。 2DゲームにUnity3Dを選んだ主な理由は、経験と蓄積されたコードスニペットの両方に関して、私がすでにUnity3Dに深く関わっていたからです。また、私は3Dゲーム用にUnity3D pro(Android ProとiOS Proを同梱)を購入し、2D Toolkitに追加の60ドルを支払って2Dゲームにも対応できるようにしました。私はこれまでのところ私の決定を後悔していない、それは私の場合に最適であったようだ。頭痛の種となった唯一のことは、Prime31のプラグイン(AndroidおよびiOSのソーシャルプラグイン)にソーシャル機能を追加することでしたが、それらのバグはPrime31のせいではなくTwitter/Facebookのせいであると思います。他のエンジンやプラグイン.

編集(2014年1月):私の質問に対する答えは、Unity 4.3で明らかになったと思います。Unitの新しいスプライトシステムと、おそらく2DToolkitも完全に勝ちました特に私のようにしばらくUnityを使っていて、アドオン付きのProバージョンを購入したことがある人たちにとっては、他には何でも。

256
iseeall

私はMarmaladeで作業しましたが、それは満足のいくものです。それは無料ではないし、開発者コミュニティも十分な大きさではありませんが、それでもあなたはそれをチュートリアルを使って処理することができます。 (私もいくつかの時を得たら私は私のチュートリアルを書くつもりです)。
IwGameは、Marmaladeユーザーの1人によって開発された優れたエンジンです。基本的なゲームには適していますが、本格的な高度なゲーム関連のものを探している場合は、MarmaladeでCocos2D-xを使用することもできます。私はCocos2D-xを使ったことはありませんが、MarmaladeのGithubの拡張機能があります。
Marmaladeのもう1つの優れた点はEDK (Extension Development Kit)です。これを使用すると、ネイティブコードでは使用できるが必要な機能はすべて拡張できますが、Marmaladeでは使用できません。私はそれを私自身のカスタマイズされたAdmobエクステンションとFacebookエクステンションも開発するために使いました。

編集
Marmaladeは現在、2D開発専用のRAD(Rapid Application Development)ツールを Marmalade Quick という名前で持っています。コーディングはC++ではなくLuaで行われますが、C++ Marmaladeの上に構築されているため、C++ライブラリや他のすべてのEDK拡張機能を簡単に含めることができます。また、Cocos-2DxBox2Dの拡張子もクイックに含まれています。彼らは最近、そのリリース版を発売しました(それは3-4ヶ月の間ベータ版でした)。私たちはあなたが本当に2D開発だけを探していると思います、あなたはそれを試してみるべきです。

更新:
Unity3Dは最近、2Dゲームのサポートを開始しました。これは、GUIとエディタのおかげで、他のどの2Dゲームエンジンよりも優れているようです。物理学、スプライトなどのサポートが組み込まれています。あなたはそれを見てみることができます。

アップデート2
マーマレードは間もなく自社製ゲームの制作を支持してSDKを廃止する予定です。だからそれに頼るのは賢明な決断ではないだろう。

31
noob

LibGDX 私が今まで使った中で最高のエンジンの1つで、ほぼすべてのプラットフォームで動作し、私が行ったほとんどのテストでcocos2d-xの2倍の速度で動作します。あなたは好きなJVM言語を使うことができます。 ここ Javaの13パートチュートリアル、そして ここ jrubyを使った束それと連動する優れた骨格アニメーションツールがあります ここ 、そしてそれはタイル張りのTMXマップのサポートも焼き込んでいます。 UIフレームワークは素晴らしいです、そしてそれはcocos2dシーン、スプライトとアクションに似たシーングラフと俳優スタイルAPIを持っています。コミュニティは最高で、更新は頻繁に行われ、そしてドキュメンテーションは優れています。 Javaの部分を怖がらせないでください、それは速いです、そしてあなたはjrubyやscalaあるいはあなたが好きなものは何でも使うことができます。私は2次元または3次元の作業に強くお勧めします、それは両方をサポートします。

42
Kamek

あなたはHaxe/NMEに言及しますが、あなたは本能的にそれを嫌うようです。しかし、それに対する私の経験は非常にポジティブです。もちろん、APIはFlash APIの再実装ですが、Flashのターゲットに限定されているわけではありません。HTML5またはネイティブのWindows、Mac、iOS、およびAndroidのアプリケーションにコンパイルすることもできます。 HaxeはJavaやC#に似た快適で現代的な言語です。

もし興味があるなら、私はHaxe/NMEを使った私の経験について少し書いた: link

12
zwets

V-Play (v-play.net)はQt/QMLをベースとしたクロスプラットフォームのゲームエンジンで、複数のディスプレイ解像度とアスペクト比、アニメーション、パーティクルを処理するための多くの便利なV-Play QMLゲームコンポーネントがあります。 、物理学、マルチタッチ、ジェスチャー、パスファインディングなど。 APIリファレンス エンジンコアは、カスタムレンダラと組み合わせてネイティブC++で書かれており、ゲームはすべてのデバイスで60fpsの堅実なパフォーマンスに達します。

V-Playには、タワーディフェンス、プラットフォームゲーム、パズルゲームなど、最も成功しているゲームジャンル用のすぐに使えるゲームテンプレートも付属しています。

あなたがV-Playで作られたゲームに興味があるなら、ここにそれらの簡単な選択があります:

(免責事項:私はV-Playの背後にいる人の一人です)

11
Alex Huber

これは、LinkedInのRichard Pickupからの私の同じような質問に対する返事です。

私はiOSとAndroidの両方でcocos 2dxマーマレードとユニティを使いました。 2Dゲームでは、cocos2dxを毎回実行する方法です。 Unityは、2次元ゲームにとってはやり過ぎ過ぎであり、すでに述べたように、マーマレードは単なる薄い抽象化層であり、実際にはゲームエンジンではありません。マーマレードの上でcocos2dを実行することもできます。私のアプローチは、iOSとAndroidでcocos2dxを使用し、それから将来的にはbb10に移植して電話7に勝つための簡単な方法としてcocosd2dxコードをマーマレードの上で実行することです。

6
iseeall

私は素敵できちんとしています Waveゲームエンジン 数日前。これはC#を使用し、Windows PhoneとWindows Storeのコンバーターも持っているので、XNAの代わりになるでしょう。

6
Deadcow

badLogicGamesの LibGDX はどうですか。

5
Ewoks

Loom( http://theengine.co )は、デバイス上のホットスワップコードとアセットを備えた新しいクロスプラットフォームの2Dゲームエンジンです。つまり、あなたは自分のアセットについてPhotoshopで作業したり、コードを更新したり、アプリ/ゲームのUIを変更したり、アプリの実行中にデバイスの変更を確認したりすることができます。

私が聞いたことがあるか、または遊ぶことさえした他のクロスプラットフォームのゲームエンジンを考えると、Loomのゲームエンジンは私の考えに比べてはるかに優れた機能がたくさんあります。他の同様のゲームエンジン(Corona SDK、MOAI SDK、Gideros Mobile)のほとんどはLuaベースです(少なくとも私にとっては奇妙な構文です)。 Loomゲームエンジンは、ActionScript 3から発想を得たスクリプト言語であるLoomScriptsと、C#から借用した2つの機能を使用します。 ActionScript 3、C#、またはJavaで開発したことがあれば、LoomScriptはおなじみでしょう(そして、Luaの構文よりもこの構文のほうが快適です)。

Loom Game Engineの1年間のライセンス料は500ドルで、インディーゲーム開発者にとっては手頃な価格だと私は思います。数週間前にも無料で1年間のライセンスを提供しました。ライセンスの有効期限が切れても、Loomを使用して独自のゲームを作成してデプロイすることはできますが、それ以上のアップデートはありません。 Loomの作成者は非常に自信があり、彼らは絶えず自分の赤ちゃんを向上させることを約束しました。それは別のライセンスを購入する価値があるようにします。

さらに苦労することなく、これがLoomの優れた機能です。

  1. クロスプラットフォーム(iOS、Android、OS X、Windows、Linux/Ubuntu)

  2. Rails風のワークフローにより、ゲームの作業に時間を費やすことができます(1つのコマンドで新しいプロジェクトを作成し、もう1つのコマンドでそれを実行します)。

  3. 高速コンパイラ

  4. ライブコードとアセットの編集

  5. サードパーティのライブラリを統合する可能性

  6. レンダリングにCocos2DXを使用

  7. XML、JSONのサポート

  8. UI要素をスタイルするためのLML(マークアップ言語)およびCSS

  9. UIライブラリ

  10. 依存性注入

  11. 単体テストフレームワーク

  12. シマリス物理学

  13. あなたの変更をライブで見ることはマルチデバイス開発を容易にします

  14. 小さいダウンロードサイズ

  15. チーム向け

あなたはここで織機についてのより多くのビデオを見つけることができます: http://www.youtube.com/user/LoomEngine?feature=watch

この4部の詳細なチュートリアルもチェックしてください: http://www.gamefromscratch.com/post/2013/02/28/A-closer-look-at-the-Loom-game-engine-Part -one-getting-started.aspx

4
balazs.bohonyi

私はAppGameKitを試してみました。それはc ++とBasicの両方です。基本的な方法で2次元ゲームをコーディングするのは非常に簡単です。それはまた活発な開発にあり、そして本当に安い(65 $)。主な問題は、Android用にコンパイルするのが本当に難しいということです(たくさんのファイルをダウンロードして、難しいガイドやそのようなことに従う必要があります)。中規模のコミュニティです

4
Steven Kaydn

私は現在ビジネスアプリケーションにCoronaを使用して大成功を収めています。ゲームに関しては、他のいくつかのクロスプラットフォーム開発エンジンが提供するパフォーマンスを提供していないという印象を受けています。 Carlos(Ansca Mobile/Corona SDKの創設者)が競合エンジンで別の会社を始めたことは注目に値します。 Appcelerator Titanium用Lanica Platinoエンジン。私は個人的にこれを扱っていませんが、それは有望に見えます。ただし、年間999ドルの値札が付いていることに注意してください。

それでも、私はしばらく前からMoaiを研究していて(私はすでにLuaの構文に精通しているので)、それは有望に思えます。モバイル環境に限らず、複数のプラットフォーム用にコンパイルできるという事実は魅力的です。

制作されたゲームの複雑さとそれらから実現される性能を考えると、Multimedia Fusion 2もまた価値のある候補です。 Vincere Totus Astrum( http://gamesare.com )が頭に浮かびます。

2
Sean Perryman

最近私はAS3エンジンを使用しました:PushButton(現在は機能していませんが、まだ機能しているので他のものを使用することもできます)。 AndroidとiOSで動作するようにするために、このプロジェクトは両方のプラットフォーム用にAIRでコンパイルされており、すべてがパフォーマンスを損なうことなく動作しました。 Flash Builderは少々高価(249ドル)なので、FlashDevelopを使うことができます(それを使ってAIRでコンパイルするチュートリアルがいくつかあります)。

Flashは習得が非常に簡単なので、選択肢になるかもしれません。

2
Kleber