2Dクロスプラットフォームゲーム開発エンジン[クローズ]


84

私はCoronaSDKを使用してしばらく作業してきましたが、Luaを使用して強力なアプリをすばやく簡単に作成できることが大好きです。しかし、iOSとAndroidでしかコンパイルできないため、今では少なすぎるように感じます。

私の主な関心は、デスクトップとモバイルにコンパイルできるようにすることです。少なくとも次の場合:

  • スタンドアロンアプリケーションとしてのデスクトップ用のWindows + Mac。
  • モバイル向けiOS + Android。

ActionScriptではなくLuaタイプのスクリプトに傾倒したいのですが、一緒に作業して気に入ったものは何でも投稿してください。

私はこれまでに次のエンジンを見つけました:

  • マーマレードクイック-さらに調査した後、マーマレードクイックはモバイル用にのみ構築できます!
  • IwGame-マーマレードの上で動作し、Luaを使用してデスクトップとモバイルにデプロイできると述べています。これに関する情報は大歓迎です
  • sio2-「SIO2はiOS、Android、MacOS、Windows用のOpenGLESベースのクロスプラットフォーム2Dおよび3Dゲームエンジンです」および「このエンジンを使用すると、MacストアおよびWindowsにゲームを移植することもできます。」と述べていますが、彼らのフォーラムWebタイトルは「モバイルデバイス用ゲームエンジン」です。デスクトッププラットフォームに展開できるかどうかについての情報が見つかりません。情報をいただければ幸いです。
  • Loom Engine -Loomは、ECMAScriptのAS3のようなものを使用するという点で、Haxe + OpenFL(Flash開発者を引き付けようとする)に似ていますが、そこからネイティブコードを構築しません。ただし、レンダリングにはCocos2Dを使用するため、理論的にはCocos2Dと同じ速度である必要があります。--Bojanに感謝します。
  • SDL -SDLがほぼすべてのプラットフォームまたはデバイスにデプロイでき、Luaバインディングがあることを複数の場所で読みました。しかし、エンジンではないので、これがどのように機能するのかわかりません。それがどのように機能するかを説明でき、それが可能であれば、もう一度、非常に感謝しています。
  • SFML-「Windows、Linux、Mac OS X、そして間もなくAndroidとiOS。」はLuaを使用しませんが、JavaやPythonなどの他の言語を使用できます。これに関する情報はありますか?
  • Torgue2D-Torque2Dは、OS X、Windows、およびiOSデバイスを念頭に置いて開発され、すべてのプラットフォームで同等に機能します。」TorgueScriptを使用し、Android =(
  • Sencha-すべてのプラットフォームにコンパイルできるようで、私が知っているJavascriptも使用しています。しかし、V8 JSを使用しても、これは他のオプションと比較してパフォーマンス的にうまく機能しますか?
  • GameMaker-独自のスクリプト言語GMLであり、私は実際にこれを非プログラマー向けのツールとして覚えています。それは実際に実際のエンジンに成長しましたか?つまり、本格的な開発を意味しますか?
  • Construct2-ゲームメーカーと同じ質問
  • Corona -Lua、ただしモバイルのみ(AndroidとiOSのみ)
  • Cocos2D-たくさんのオプションがあるようですが、同じ言語ではわかりませんか?コード全体を書き直さなければならないようです。cocos2Dがほぼ同じコードでデスクトップ+モバイルにデプロイできるかどうかの情報をいただければ幸いです。
  • Angel2D -Android以外のすべてにデプロイでき、Luaを使用していると言いますが、これまでにこれを使用したことのある人はいますか?
  • libgdx ---私はこれについて良いことしか見たことがありません。これがlibgdxのベンチマークテストで、60fpsで40kスプライトに到達するのを確認しました。http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml。libgdxは実際には30kをほとんど超えていないようです。しかし、それでも素晴らしいようです。これは私にとってQtと同じレベルですが、パフォーマンスについてあまり心配していないことを除けば、ほぼ完璧です。libgdxはほとんどすべてのために構築できます。
  • XNA + MonoGame --- MonoGameのパフォーマンスはlibgdxよりわずかに低いようで、ほとんどのプラットフォームでビルドできます。ただし、XNAについてはよくわかりません。今後の更新は行われないと聞きましたが、かなり安定していますか?詳細情報は大歓迎です。
  • 柑橘類---柑橘類についてもあまり情報がありません。iOS、Android、Windows、Macなどに対応できるAS3ゲームエンジン。
  • Haxe + OpenFL --- OpenFL(Haxe)は、Flashだけでなく、多くのプラットフォームでネイティブにビルドされます。Windows、Mac、Linux、Androidはすべて、オプションのネイティブデプロイメントまたはNekoと呼ばれるOpenFLランタイムを取得します。これは、理論的にはFlashよりも高速です。SDL2.0では、iOSのデプロイメントがまもなく可能になります。--Bojanに感謝します。
  • Qt-Project --- Qtプロジェクトをここにリンクするだけで、すべてを構築でき、さらに役立つサードパーティライブラリがたくさんあるかなり大きなコミュニティがあります。
  • Moai ---デスクトップとモバイル用に構築できる私が知っている唯一のLuaエンジン。唯一の欠点は、コミュニティがそれほど大きくなく、ドキュメントが最適ではないことです。しかし、あなたがそれらを通過することができれば、これは素晴らしい解決策であり、私が現在使用しているものです。
  • Adobe --- Flashをサポートするすべてのものにビルドできるため、ここにadobeを追加することを忘れないでください。
  • Unity3D ---最近発表された2D統合は非常に有望に見え、2013年の第3四半期から第4四半期にリリースされる予定です。
  • Cocos2d-x ---オープンソースエンジン。JS、Lua、C ++および複数のプラットフォームをサポートします。
  • Html5 --- html5モバイルアプリに多くの重点が置かれているようです。ここでは、html5プロジェクトをプラットフォームに移植するのに役立つツールをいくつか紹介します。

    1. Chromium Embedded

    2. 煎茶

    3. Phonegap

    4. Appcelerator / Titanium

    5. アイスニウム

ですから、エンジンの経験からコメントして、どれをお勧めするか提案していただければ幸いです。ご協力ありがとうございました!

編集:このトピックは人気が高まっているので、私は時間をかけて見つけた他のオプションを追加します。自分にとって最も馴染みがあり、プロジェクトのニーズに最適なものを選択することをお勧めします。


1
OpenFL(Haxe)は、Flashだけでなく、多くのプラットフォームでネイティブにビルドされます。Windows、Mac、Linux、Androidはすべて、オプションのネイティブデプロイメントまたはNekoと呼ばれるOpenFLランタイムを取得します。これは、理論的にはFlashよりも高速です。SDL2.0では、iOSのデプロイメントがまもなく可能になります。Loomは、ECMAScriptのAS3のようなものを使用するという点で似ています(Flash開発者を引き付けようとします)が、そこからネイティブコードを構築しません。ただし、レンダリングにはCocos2Dを使用するため、理論的にはCocos2Dと同じ速度である必要があります
Bojan Markovic

2
あなたは本当にCocos2d
Clay

EpicGamesのUDKをぜひチェックしてください。それは実際にはモデラーとインディー開発者を対象とした完全なAAAエンジンです。残念ながら、現在Androidはサポートされていませんが、Androidをサポートする完全なUE4ライセンスがはるかに利用可能になっています。UE4がリリースされたばかりであり、UDKはかなり開発されたプラットフォームであることに注意してください。
イゴールČordaš

また、オープンソースでポータブル(Javaベース)のものが必要な場合は、jMonkeyEngineを参照してください。
イゴールČordaš

回答:


9

V-Play(v-play.net)をお勧めします。これはiOS、Android、Symbian、MeeGo、Blackberry10用のQtに基づくクロスプラットフォームのゲームエンジンであり、Windows、Mac、Linux用のネイティブデスクトップアプリケーションにもエクスポートできます。

これはC ++に基づいていますが、QMLとJavaScriptの適切なスクリプトサポートがあります。QMLは習得するのが簡単で、必要なコードが少ないため生産性を向上させることができます。同じゲームの比較については、cocos2d-x(Locが60%少ない)またはCorona(LoCが15%少ない)との比較をご覧ください。

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


1
V-Playは素晴らしい製品だと確信していますが、共同創設者であるという免責事項を記載する必要があります。参照:meta.stackexchange.com/a/59302
Nepoxx

1
確かに-私はちょうどそれを追加しました
クリスチャンFeldbacher

7

Pythonを使用することに興味がある場合、Kivyは最近の優れたソリューションです。それはあなたが求めるすべてのプラットフォームにコンパイルされます:

KivyはLinux、Windows、MacOSX、Android、IOSで実行されています。サポートされているすべてのプラットフォームで同じコードを実行できます。WM_Touch、WM_Pen、Mac OS X Trackpad、Magic Mouse、Mtdev、Linux Kernel HID、TUIOなどのほとんどの入力プロトコルとデバイスをネイティブに使用できます。マルチタッチマウスシミュレータが含まれています。

Kivyは(Cython経由で)グラフィックスレンダリングに最適化されたコードをたくさん使用しているので、それも高速です。

これは、背景と概要(Android固有)を提供するスピーカーデッキです。


kivyはゲーム開発に使用できますが、正確にはゲームエンジンではありませんが、kivyent(kivent.org)はkivyに基づくゲームエンジンであり、ゲームが非常に単純でそうでない場合を除いて、より適している可能性があります。追加の複雑さが必要です。
Tshirtman 2014


5

これが私のゲームフレームワークOxygineです。これは、モバイルおよびPCプラットフォーム向けのオープンソースの最新のハードウェアアクセラレーション2D C ++フレームワークです。機能:OpenGL(ES)2、圧縮テクスチャ、アトラス、複雑なアニメーション/トゥイーン/スプライト、シーングラフ、フォント、イベント処理、ビルドツールなど。SDL2またはMarmaladeSDKの上に構築できます。

エンジンに基づいて、フラッシュのものに似たシーングラフがあります。簡単に言うと、これをFlash for C ++と呼ぶことができますが、より快適ではるかに高速です。当初はモバイルプラットフォーム(iOS、Android)向けに開発されましたが、PCゲームにも使用できます。

ここに画像の説明を入力してください


私はそれを試しました(そして実際に完成したゲーム製品をリリースしました)、非常にうまくいきます!
ジャスター2014

4

ここではアプリゲームキット(AGK)については触れていませんので、ギャップを埋めさせてください。これは主に2DクロスプラットフォームSDKであり、C ++または独自の「基本」言語で1回コーディングできます。バージョン2はKickstarterで400%以上の資金を調達し、完全な3Dサポート、Spineサポート(2Dアニメーションキャラクター用)、弾丸物理学、その他の多くの新機能を備えています。

すでにFacebook、Twitter、一連のUltrabookセンサーコマンド、Box2Dなどがあります。私は最初からそれを使っていて、それを愛しています(あなたはそれを言うことができますか?)。いいえ、私はゲームクリエーター(それを作成した会社)で働いていませんが、いくつかのアプリを作っている間は働いていたと認めています。

私の観点から見た最高の機能の1つは、Windowsで開発し、IDEからWi-Fi経由でサポートされているデバイスにブロードキャストできることです。コーディング中に、iPad、Android、 Windows、Mac、またはBlackberryPlaybook。


4

C#のバックグラウンドがある場合。二元性を見てください。

Dualityは、完全にC#で記述された柔軟な2Dゲームフレームワークです。これにより、作業が少し簡単になります。それに合わせて、拡張可能なゲームエンジンとビジュアルエディターの両方を提供します。Dualityはそれ自体がすべてであるため、レベルエディター、テスト環境、またはコンテンツマネージャーは必要ありません。そして何よりも、それは無料です。


1
素敵な追加。私はすぐにそれをリストに追加し、さらにそれをよりよく整理するとともに、私が見つけたいくつかのことを追加します。ご入力いただきありがとうございます
憎悪の名前

クロスプラットフォーム互換ですか?
JCPhlux 2014年

2
@JCPhlux、そうです。モバイルについてはよくわかりませんが、モノラルで動作します。
アンディ

そのfetzenet.de/blog/?page_id=697は何ですか?なぜこのduality.adamslair.net–
RS

修繕。私が答えを投稿してから間もなく彼らは動いたと思います-github.com/AdamsLair/duality/issues/45–
Andy

2

SDLがどのように使用されているかについての洞察を提供するために答えています。前に言ったように、それはゲームエンジンではありません(実際には単なるライブラリです)。さらに、それはオブジェクト指向ではなく、いくつかの簡単なアニメーション機能がありません(自分でコーディングする必要があります)。

仕組み(Cバージョンを使用しましたが、Luaバインディングも同様であると思います):

必要なプラットフォームでプロジェクトをビルドするために必要なヘッダーを含めます。

(少なくとも)イベント処理システム全体、フレームレートマネージャー、および「スクリーンクリーナー(またはアップデーター)」をセットアップする独自のゲームループを設計します(画面を手動で更新する必要があるという事実を主張していますSDL_flip_screenルーチンを使用します。これは、Coronaではまったく問題になりません)。

次に、以前に作成したすべての「メカニズム」を使用してゲームをコーディングします。

SDLは低レベルのライブラリです(たとえば、使いやすいGUIフレームワークやCoronaのストーリーボードフレームワークがあるとは思わないでください)。

最後に、このライブラリはCivilization IIIをLinuxに移植するために使用されたので、はい、機能しますが、コロナで持っていたようなものを手に入れるために多くのエネルギーを必要とします;)

PS:私は英語を母国語としないので、はっきりしない場合は教えてください:)


2

Giderosは、Luaベースの優れた2Dクロスプラットフォームエンジンであり、現在AndroidプラットフォームとIOSプラットフォームの両方をサポートしていますが、今後さらに増える予定です。また、デバイスのインスタントテスト、自動スケーリング、さまざまな画面サイズを簡単にターゲットにする自動画像解像度などの優れた機能や、ネイティブプラグインを介して各プラットフォームを拡張するオプションもあります。


1

あなたはまた、持っているShiVa3D、Unity3Dの深刻な競争相手を。Luaを使用し、モバイルからゲーム機やWebブラウザーまで多くのプラットフォームをサポートします。

非常に直感的に使用でき、非常に優れたUIを使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.