私はUnity3dを使ってしばらく働いていましたが、OnGUI()やGUITexturesの2D部分は不器用です。また、Unity3d上で行われる最小のゲームでも最低10MBのダウンロードであり、これは2Dゲームには多すぎます。
だから、私は現在2D用のエンジンを探しています。私はCocos2Dを試しましたが、それはiOSのみであり、Android用にすべてを別の言語に書き換えることはしたくありません(たとえば、Android用のCocos2dのJavaポートはオプションではありません)。代わりに、コードを1回作成して、最小限の手間でiOS、Android、そしておそらくWindows Phone 7にデプロイしたいと思います。MacとWindowsの両方があります。
もう少し詳しく言うと、エンジンに対する私の要件は次のとおりです。
私は以下のエンジンを見つけました:
それで、あなたがエンジンでのあなたの経験からコメントして、リストのどれ(または私が逃したこと以外のもの)が記述された要件に最も適しているか提案することができたらうれしいです。私はまた、いくつかのエンジンについての私の第一印象に誤りがあるかもしれません。
私は現在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バージョンを購入したことがある人たちにとっては、他には何でも。
私は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-2Dx
とBox2D
の拡張子もクイックに含まれています。彼らは最近、そのリリース版を発売しました(それは3-4ヶ月の間ベータ版でした)。私たちはあなたが本当に2D開発だけを探していると思います、あなたはそれを試してみるべきです。
更新:
Unity3Dは最近、2Dゲームのサポートを開始しました。これは、GUIとエディタのおかげで、他のどの2Dゲームエンジンよりも優れているようです。物理学、スプライトなどのサポートが組み込まれています。あなたはそれを見てみることができます。
アップデート2
マーマレードは間もなく自社製ゲームの制作を支持してSDKを廃止する予定です。だからそれに頼るのは賢明な決断ではないだろう。
LibGDX 私が今まで使った中で最高のエンジンの1つで、ほぼすべてのプラットフォームで動作し、私が行ったほとんどのテストでcocos2d-xの2倍の速度で動作します。あなたは好きなJVM言語を使うことができます。 ここ Javaの13パートチュートリアル、そして ここ jrubyを使った束それと連動する優れた骨格アニメーションツールがあります ここ 、そしてそれはタイル張りのTMXマップのサポートも焼き込んでいます。 UIフレームワークは素晴らしいです、そしてそれはcocos2dシーン、スプライトとアクションに似たシーングラフと俳優スタイルAPIを持っています。コミュニティは最高で、更新は頻繁に行われ、そしてドキュメンテーションは優れています。 Javaの部分を怖がらせないでください、それは速いです、そしてあなたはjrubyやscalaあるいはあなたが好きなものは何でも使うことができます。私は2次元または3次元の作業に強くお勧めします、それは両方をサポートします。
あなたはHaxe/NMEに言及しますが、あなたは本能的にそれを嫌うようです。しかし、それに対する私の経験は非常にポジティブです。もちろん、APIはFlash APIの再実装ですが、Flashのターゲットに限定されているわけではありません。HTML5またはネイティブのWindows、Mac、iOS、およびAndroidのアプリケーションにコンパイルすることもできます。 HaxeはJavaやC#に似た快適で現代的な言語です。
もし興味があるなら、私はHaxe/NMEを使った私の経験について少し書いた: link
V-Play (v-play.net)はQt/QMLをベースとしたクロスプラットフォームのゲームエンジンで、複数のディスプレイ解像度とアスペクト比、アニメーション、パーティクルを処理するための多くの便利なV-Play QMLゲームコンポーネントがあります。 、物理学、マルチタッチ、ジェスチャー、パスファインディングなど。 APIリファレンス エンジンコアは、カスタムレンダラと組み合わせてネイティブC++で書かれており、ゲームはすべてのデバイスで60fpsの堅実なパフォーマンスに達します。
V-Playには、タワーディフェンス、プラットフォームゲーム、パズルゲームなど、最も成功しているゲームジャンル用のすぐに使えるゲームテンプレートも付属しています。
あなたがV-Playで作られたゲームに興味があるなら、ここにそれらの簡単な選択があります:
(免責事項:私はV-Playの背後にいる人の一人です)
これは、LinkedInのRichard Pickupからの私の同じような質問に対する返事です。
私はiOSとAndroidの両方でcocos 2dxマーマレードとユニティを使いました。 2Dゲームでは、cocos2dxを毎回実行する方法です。 Unityは、2次元ゲームにとってはやり過ぎ過ぎであり、すでに述べたように、マーマレードは単なる薄い抽象化層であり、実際にはゲームエンジンではありません。マーマレードの上でcocos2dを実行することもできます。私のアプローチは、iOSとAndroidでcocos2dxを使用し、それから将来的にはbb10に移植して電話7に勝つための簡単な方法としてcocosd2dxコードをマーマレードの上で実行することです。
私は素敵できちんとしています Waveゲームエンジン 数日前。これはC#を使用し、Windows PhoneとWindows Storeのコンバーターも持っているので、XNAの代わりになるでしょう。
badLogicGamesの LibGDX はどうですか。
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の優れた機能です。
クロスプラットフォーム(iOS、Android、OS X、Windows、Linux/Ubuntu)
Rails風のワークフローにより、ゲームの作業に時間を費やすことができます(1つのコマンドで新しいプロジェクトを作成し、もう1つのコマンドでそれを実行します)。
高速コンパイラ
ライブコードとアセットの編集
サードパーティのライブラリを統合する可能性
レンダリングにCocos2DXを使用
XML、JSONのサポート
UI要素をスタイルするためのLML(マークアップ言語)およびCSS
UIライブラリ
依存性注入
単体テストフレームワーク
シマリス物理学
あなたの変更をライブで見ることはマルチデバイス開発を容易にします
小さいダウンロードサイズ
チーム向け
あなたはここで織機についてのより多くのビデオを見つけることができます: 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
私はAppGameKitを試してみました。それはc ++とBasicの両方です。基本的な方法で2次元ゲームをコーディングするのは非常に簡単です。それはまた活発な開発にあり、そして本当に安い(65 $)。主な問題は、Android用にコンパイルするのが本当に難しいということです(たくさんのファイルをダウンロードして、難しいガイドやそのようなことに従う必要があります)。中規模のコミュニティです
私は現在ビジネスアプリケーションにCoronaを使用して大成功を収めています。ゲームに関しては、他のいくつかのクロスプラットフォーム開発エンジンが提供するパフォーマンスを提供していないという印象を受けています。 Carlos(Ansca Mobile/Corona SDKの創設者)が競合エンジンで別の会社を始めたことは注目に値します。 Appcelerator Titanium用Lanica Platinoエンジン。私は個人的にこれを扱っていませんが、それは有望に見えます。ただし、年間999ドルの値札が付いていることに注意してください。
それでも、私はしばらく前からMoaiを研究していて(私はすでにLuaの構文に精通しているので)、それは有望に思えます。モバイル環境に限らず、複数のプラットフォーム用にコンパイルできるという事実は魅力的です。
制作されたゲームの複雑さとそれらから実現される性能を考えると、Multimedia Fusion 2もまた価値のある候補です。 Vincere Totus Astrum( http://gamesare.com )が頭に浮かびます。
最近私はAS3エンジンを使用しました:PushButton(現在は機能していませんが、まだ機能しているので他のものを使用することもできます)。 AndroidとiOSで動作するようにするために、このプロジェクトは両方のプラットフォーム用にAIRでコンパイルされており、すべてがパフォーマンスを損なうことなく動作しました。 Flash Builderは少々高価(249ドル)なので、FlashDevelopを使うことができます(それを使ってAIRでコンパイルするチュートリアルがいくつかあります)。
Flashは習得が非常に簡単なので、選択肢になるかもしれません。