ゲーム開発のサポートに使用できるC#ライブラリは何ですか?[閉まっている]


58

ゲームは多くの異なるサブシステムに基づいているため、グラフィックス(DirectX、OpenGL、...)、サウンド(OpenAL、Ogg Vorbis、...)または物理学(衝突、...)、有用なライブラリを知っていますかC#でのゲーム開発と、それらが提供する利点は何ですか?

回答:


63

グラフィックス/サウンド

  • DirectX9のXNA高レベルラッパー。すぐに起動して実行できます。PC、Xbox360、およびWindows Phone 7をサポートします。Xactオーディオと独自のSoundEffect APIをサポートします。
  • SlimDX DX9 / 10/11の下位レベルのラッパー。DX SDKの場合、ここでラップされます。
  • OpenGL / AL上のOpenTKラッパー。
  • SDL.net人気のあるSDL ライブラリの移植版。

エンジン

  • WaveEngineコンポーネントベースのゲームエンジンアーキテクチャ、C#API、2Dおよび3D物理エンジン、美しい視覚効果、クロスプラットフォームサポートAndroid、Linux、Mac、iOSおよびWindows、高度なレイアウトシステムなど。
  • NeoAxis NVIDIA PhysX物理エンジン、C#バインディングをサポートする3Dエンジンは、WPFおよびWindowsフォーム、マップ、オブジェクト、モデル、マテリアル、地形エディターなどの豊富なツールをサポートします。
  • TorqueX XNA用の2D / 3Dエンジン。優れたエディターサポート、ガレージゲームは最近放置された後、エンジンに再投資されました。
  • truevision 3D C ++ゲームエンジンとc#バインディング
  • 公理 C#でのOgreの書き換え。多数の補助レンダリングAPIをサポートします。
  • Unityは、C#のゲームプレイスクリプトをサポートするC ++グラフィック/ゲームエンジンです。
  • AngelXNA EALAのオープンソースアングルプロトタイピングフレームワークのポート

物理

  • Farseer人気のある2D物理エンジンは、.net(デスクトップ)、compact(xbox)、micro(silverlight)をサポートしています。
  • 比較的新しい3D物理エンジンのジッターで、完成よりもはるかに優れています。
  • Box2Dx box2Dの直接ポート
  • Box2D.XNA XNA用のBox2Dの別のポート。Box2Dxよりも新しい
  • JigLib
  • BulletX Bulletのc#ポートは、放棄されたようです。

1
素晴らしい概要、それはまさに私が探していた種類の答えでした!
マイケルクレメント

2
XNAは非常に大きなコミュニティであるため、Henge3Dを物理学に、Sunburnをグラフィックスに、sgMotionとXNAnimationをグラフィックス(またはアニメーション)に追加したいと思います。
クリスリデノール

TorqueXはガレージゲームでサポートされなくなりました。
マルクス

3
この回答が最初に投稿されて以来、MicrosoftはXNAのサポートを停止しました。そのライブラリはおそらくもう使用するのは良い考えではなく、代わりにMonoGameを使用してください。
ジョッキング

10

明らかにマイクロソフト自体のXNAがあります。http//creators.xna.com/en-US/ XNAで作成されたゲームは、Windowsおよび(クリエイタークラブを介して)Xbox360で動作します。これは、急速なゲーム開発で足を濡らすのに最適だと思います。XNAで足をまだ適切に濡らしていないので、まだ判断できません。しかし、傍観から見ると、パンをスライスして以来、最高のもののように見えます。確かに、あなたはそれであらゆることをすることはできません。ただし、インディー品質以上の高速なプロトタイプと実用的なゲームを作成できます。

他のライブラリはSlimDX- http: //slimdx.org/です。XNA を使用したくない場合は、金属/現実に近いと言う人もいます。したがって、高速なプロトタイピングを行うのに最適です-特に、主なゲーム開発がCまたはC ++である場合。また、ツールの実行にも最適です。


3
SlimDXには、WPFのDirect3D相互運用サポートと互換性があるという利点もあります。これは(開発しているゲームのタイプによっては)非常に便利です。WPF / XNAの相互運用機能に対する公式のサポートはありません。この2つを連携させることができた人もいると思いますが、そのプロセスはハックで壊れやすいものでした。
マイクストロベル

私はそこにいることを追加する必要があるフレームワークを使用するかの決定に考慮かもしれないモノ(MonoXNAを参照)、クロスプラットフォームの作業XNAを得るための努力。
マイクストロベル

@Mikwストローベル:1は、しかし、XNAのための大きなセールスポイントは360と私は360上で実行されません見てきたWPF / XNAのもののすべてに販売/展開する能力であることを覚えておいてください
スティーブン・エヴァース

4

C Library SDLの.NETへの移植版であるSDL.NETもあります。私は個人的にX#をC#で使用します。なぜなら、XNAは非常にカスタマイズされたライブラリであり、非常にカスタマイズ可能で、初心者にも使いやすいからです。


XNAは初心者に優しいですが、現在(特に)流動的です。4.0にはいくつかの重大な変更点があり、足が濡れた場合に対応するのは面倒です。
スティーブンエバーズ

4

免責事項:次の推奨事項は、このエンジンの開発に個人的に関与しているため、偏っている場合と偏っていない場合があります。

Dualityは、WYSIWYGエディターシステムに付属する拡張可能な2Dゲームエンジンです。簡単な概要:

  • それはだプラグインベース。新しいアプリケーションを作成するのではなく、すべてのコードを含むプラグインを作成します。
  • プラグインは、エディターからのランタイムの再ロードを特徴としています。高速反復が可能です。
  • OpenTK / OpenGL / OpenALに基づいて完全にC#で記述されたオープンソース
  • 比較的新しく(2〜3年)、まだ開発中ですが、既に使用可能です。
  • レンダリング、オーディオ、ユーザー入力、物理学、シリアル化、リソースおよびオブジェクト管理を処理します
  • たくさんのヘルパークラスとデフォルトのコンポーネントを使って始めましょう。

試してみたい場合は、最新のバイナリリリースを直接ダウンロードするか、GitHubのソースコードを使用して自分でコンパイルすることができます。さらに情報を得るには、情報Webサイトとコミュニティフォーラムにアクセスすると効果があります。上記の情報Webサイトのリンクをたどってください。

編集環境のスクリーンショット。


通常、推奨するソフトウェアの開発に関与していることを開示するのが最善です。
ジョシュ

@JoshPetrieあなたは正しいかもしれません。この特定のコンテキストでそれが重要かどうかはわかりませんでした-とにかく、私は今免責事項を追加しました。:)
アダム



2

今日最大の(そして最も実績のある)ものはXNAフレームワークです。XNAを利用してツールセットを構築することもできます。利点は、1つのパッケージにラップされた必要なライブラリ(物理、サウンド、グラフィック)を含むフレームワークがあることです。そして、非常にプラスなことは、本当にうまくやればXBLAにそれをポンプで送り込めることです。



2

タオフレームワーク(私はかなり有用であることが分かってきました。この本の中で使用さ:シリアスゲームの作成のためのC#ゲームプログラミング)、OpenGLと(C#のを介してアクセス)、他の多くの便利なゲームプログラミングの機能をラップ一見の価値があります。ただし、別の回答で言及されたOpen Toolkit Library(OpenTK)に取って代わられました。Taoが約2年間使用されていないことを考慮して、この本がOpenTKの代わりにTao Frameworkを使用しているのは奇妙です(そして本は真新しいです)。それでも、チェックアウトする価値のある便利なフレームワークです。


1

正確にはあなたが尋ねたものではありませんが、UnityはC#でスクリプトをサポートするゲームエンジンです


0

AngelXNA(http://www.jeffongames.com/2009/05/angelxna-v10/)は、より高度なものを探している場合、XNA上に構築されたプロトタイプ指向の優れたライブラリ/エンジンです。


0

私はSFML.Netが素晴らしい選択であると思います、そしてそれは私が個人的に使用するものです。ただし、サイトで提供されているバイナリを使用せずに、SVNから最新のバイナリを入手してください。サイトのバージョンは非常に古いです。


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