web-dev-qa-db-ja.com

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

私は以前からCorona SDKを使用してきましたが、Luaを使用して強力なアプリをすばやく簡単に作成できることを気に入っています。ただし、コンパイルできるのはiOSとAndroidのみであり、今では少なすぎるように感じます。

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

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

ActionScriptの代わりにLuaタイプのスクリプトを使用することをお勧めしますが、ご協力いただいたものや好きなものを自由に投稿してください。

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

  • マーマレードクイック -さらに検討した結果、マーマレードクイックはモバイル用にのみビルドできます!
  • IwGame -マーマレードの上で動作し、Luaを使用してデスクトップとモバイルに展開できると言います。これに関する情報は大歓迎です
  • sio2 -「SIO2は、iOS、Android、MacOS、およびWindows用のOpenGLESベースのクロスプラットフォーム2Dおよび3Dゲームエンジンです」および「このエンジンにより、ゲームをMacストアやWindows。」が、フォーラムとウェブタイトルは「Game Engine for Mobile Devices」です。デスクトッププラットフォームに展開できるかどうかについては、情報が見つかりません。情報は大歓迎です。
  • 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 -「Torque 2Dは、OS X、Windows、iOSデバイスを念頭に置いて開発され、すべてのプラットフォームで同等に機能します。」 TorgueScriptを使用し、Android =(
  • Sencha -すべてのプラットフォームにコンパイルするようです。Javascriptも使用しています。しかし、V8 JSを使用した場合でも、他のオプションと比較してパフォーマンスが向上しますか?
  • GameMaker -スクリプト言語GMLを所有しており、実際にこれを非プログラマ向けのツールとして覚えています。それは実際に実際のエンジンに成長しましたか、私は真剣な開発を意味しますか?
  • Construct2 -ゲームメーカーと同じ質問
  • コロナ -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についてあまり知らないし、将来のアップデートを受け取らないと聞きましたが、非常に安定していますか?詳細情報を歓迎します。
  • Citrus --- Citrusに関する情報もあまりありません。 iOS、Android、Windows、Macなど向けに構築できるAS3ゲームエンジン。
  • Haxe + OpenFL --- OpenFL(Haxe)は、Flashだけでなく、多くのプラットフォームでネイティブにビルドされます。 Windows、Mac、Linux、およびAndroidはすべて、オプションのネイティブ展開またはNekoと呼ばれるOpenFLランタイムを取得します。これは理論上はFlashよりも高速であり、SDL 2.0はまもなくiOS展開を可能にします(ish)。 -Bojanに感謝します。
  • Qt-Project ---ここでQtプロジェクトをリンクするだけで、あらゆるものをビルドでき、さらに大きなサードパーティのライブラリを備えた非常に大きなコミュニティがあります。
  • Moai ---私が知っている唯一のLuaエンジンは、デスクトップおよびモバイル向けにビルドできます。マイナス面は、コミュニティがそれほど大きくなく、ドキュメントが最良ではないことです。しかし、あなたがそれらに合格することができれば、これは素晴らしい解決策であり、私が現在使用しているものです。
  • Adobe --- Flashをサポートするすべてのものにビルドできるので、ここにAdobeを追加することを忘れないでください。
  • nity3D ---最近発表された2D統合は非常に有望に見え、2013年第3四半期から第4四半期にリリースされる予定です。
  • Cocos2d-x ---オープンソースエンジン。 JS、Lua、C++、および複数のプラットフォームをサポートします。
  • Html5 --- html5モバイルアプリに多くの重点が置かれているようです。ここでは、html5プロジェクトをプラットフォームに移植するのに役立つツールをいくつか紹介します。

    1. 埋め込まれたクロム

    2. Sencha

    3. Phonegap

    4. Appcelerator/Titanium

    5. イセニウム

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

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

82
Hate Names

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

C++に基づいていますが、 QML&JavaScript の適切なスクリプトサポートを備えています。 QMLは学習するのが簡単で、必要なコードが少ないので生産性を高めることができます- cocos2d-x (60%少ないLoc)または Corona (同じゲームを比較すると、LoCが15%減少します。

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

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

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

Kivyは(Cythonを介して)グラフィックスレンダリングに最適化されたコードを大量に使用するため、高速です。

以下に speakerdeck を示します。これにより、背景と概要(Android固有)がわかります。

6
dirkjot

HaxeFlixel についてはどうですか? demos の優れた選択肢があり、もちろんHaxe + OpenFLを介したクロスプラットフォーム開発をサポートしています。これは GitHub でホストされているオープンソースプロジェクトです。 すべての主要プラットフォーム (iOSを含む)をサポートしています。

5
GameDevSam

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

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

enter image description here

5
Denis Muratshin

App Game Kit(AGK) の言及はありませんので、ここでそのギャップを埋めましょう。これは主に2DクロスプラットフォームSDKであり、C++または独自の「基本」言語のいずれかで一度コーディングすることができます。バージョン2は、Kickstarterで400%を超える資金を調達し、3Dの完全なサポート、Spineのサポート(2Dアニメーションキャラクター用)、弾丸の物理学、その他の新機能をすべて備えています。

すでにFacebook、Twitter、Ultrabookセンサーコマンド、Box2Dなどがあります。私は最初からそれを使用していて、それを愛しています(教えていただけますか?)いいえ、私は The Game Creators (それを作成した会社)で働いていませんが、私はしばらくの間いくつかのアプリを作ったと認めています。

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

4
Steve H

C#の背景がある場合。双対性をご覧ください。

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

4
Andy

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

2
Artūrs Sosins

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

動作の仕組み(Cバージョンを使用しましたが、Luaバインディングは似ているはずです):

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

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

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

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

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

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

2
Julien

また、Unity3Dの深刻なライバルである ShiVa3D もあります。 Luaを使用し、モバイルからゲームコンソール、Webブラウザーまで、多くのプラットフォームをサポートしています。

使用するのに非常に直感的で、使用するのに非常に良いUI。

1
Exsigth