2Dアクター/スプライト集中型ゲームに最適なゲームエンジン/フレームワークと言語[終了]


7

ゲーム開発の世界は初めてです。

私はかなり大きなプロジェクトを念頭に置いており(自分自身に課題を設定することで学習します:P)、一度に画面上に何千ものスプライト/俳優がいる2Dゲームに最適なエンジン/フレームワーク/言語は何なのかと思っています。ベアメタルタイプのもの。それでも、多くの俳優を一度にズームインおよびズームアウトできる必要があります。

このゲームには3D要素はありません。

何かご意見は?

提案?


Game Trailers Bonus Roundを参照してください。
Quazi Irfan、2011

1
どのプラットフォーム。
テトラッド

3
ベアメタルとは、C / C ++を意味しますか?XNA SpriteBatchは数千のスプライトを非常に簡単に処理します。しかし、それはベアメタルではありません。また、FAQを読んだり、おそらく私が見た中で最高の「最良の」質問をしたりするための+1
ジョナサンディキンソン2011

@JonathanDickinsonベアメタルと言ったのは、これがかなりのプロセッサを集中的に使用していると考えているためです。それらの何千ものスプライトはすべて何かをして相互作用します。そして、私はできるだけ膨らませたくない。それが理にかなっていると思います。プラットフォームはPC
Grungetastic

XNAは、C#を知っている2Dスプライトの負荷を処理するのに最適であり、それらはすべて相互に作用し合います。「ベアメタル」が必要な場合は、おそらくopenglまたはdirectX上のC ++が適しています。XNAはDirectXで実行されます。
匿名で

回答:


9

XNAを使用したC#

これは初めてなので、XNAには、始めるのに非常に適した場所であるという利点があります。新しいプロジェクトの作成から2Dスプライトの画面への表示まで、5行のコードが必要です。

private Texture2D texture;

texture = Content.Load<Texture2D>("sprite");

spriteBatch.Begin();
spriteBatch.Draw(texture, Vector2.Zero, Color.White);
spriteBatch.End();

これほど簡単ではありません。また、多数の教育サンプルを利用できるという利点もあります。

問題はパフォーマンス要件です。しかし、以前はXNAで何千ものスプライトを問題なく描画できました。しかし、その背後にゲームプレイコードはなく、私のコンピューターはハイエンドなので、結果は偏っています。しかし、注意深く最適化すれば、おそらくうまくいくでしょう。これが私の推薦です。

SharpDXまたはSlimDXを使用したC#

マネージドC#レルムにとどまったまま、1ステップ戻って、DirectXの新しいマネージラッパーであるSharpDXの使用を検討することもできます。SharpDXは、XNA よりも約6倍速いと主張しています。それはあなたのニーズに十分な力を持っているはずです。そしてそれはクロスプラットフォームです。

考慮すべきSlimDXもあります。

DirectX / OpenGLを使用したC ++

さらにその方向に進むと、ついにDirectX / OpenGLレルムを備えた純粋なC ++に到達します。その道を進むことにした場合(ちなみに、この段階では対処がはるかに難しくなります)、人生を楽にするためにできることがいくつかあります。

たとえば、SDLを使用してウィンドウを作成して入力を処理し、FMODを使用してオーディオを処理することができます。どちらも、ネイティブのものよりもはるかに簡単に操作できます。

最近の状況もわかりませんが、これらを最後に使用したときに、IIRCがXNAのSpriteBatchと非常によく似ているD3DXSpriteクラスのおかげで、DirectXで2Dを行うのは非常に簡単でしたが、OpenGL Iではすべてを最初から実装する必要がありました(つまり、テクスチャ付きの四角形、正射投影をいじり、バッチ処理を実装しています)。


8

私はrecommand SFMLを、それはあなたが簡単に2Dスプライトを管理することができ、ズーム/ズームを解除(既存の「カメラ」クラスのおかげで)として、。これらの抽象化により、XNAよりも使用が簡単であることがわかりました。パフォーマンスに関する厳密な統計情報はありませんが、C ++を使用し、OpenGLを介してレンダリングするため、XNAよりも高速であると思います。

偶然にも、私はSFMLを使用して同様のゲームに取り組んでいます。ゲームロジック(スプライト間の衝突など)を実行している間、私のラップトップでは50 FPSで1000以上の動くスプライトを管理できます。

これは、25 FPS(800x600)でグラフィックスが統合された3歳のラップトップで実行されているこのSFMLプログラムのスクリーンショットです。

SFMLにたくさんのスプライト

1000個以上のスプライトが表示されていると思います。


+1(通常はSDLと比較して)以前にSFMLについて良いことを聞いたことがあります。
David Gouveia

SFMLの道を進みたい人にとって、Code BlocksはSFMLをサポートする素晴らしいIDEのように見えます
Grungetastic

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