2011-10-20 9 views
0

ゲームプログラミングのフレームワーク、ライブラリ、エンジンをたくさん見たことがありますが、違いはあると思います。フレームワークはエンジンよりも扱いにくいようです。フレームワーク/ライブラリ&ゲームエンジン - 相違点

フレームワークはプログラミングライブラリを使用して構築され、フレームワークを使用してゲームエンジンを構築することができます。正直言って全部のことを混乱させている。

これらには何らかの階層が含まれていますか? Javaで見たLibGDXと呼ばれるゲームエンジンは、LWJGL JOGLの上に構築され、GoogleのAndroidフレームワークも使用しているため、Androidゲームを作成するために使用できます。

また、フルブローゲームを作成するために使用できるC#XNAフレームワークを使用しました。その上にエンジンが構築されています。なぜなら、XNAフレームワークの上にエンジンを構築する必要があるからですフレームワーク自体からゲーム?

また、Unityについてはあまりよく分かりませんが、3つの異なる言語をゲームエンジンとして使用できるようです。

+0

Gamedevサイトにはいくつかの回答があります:http://gamedev.stackexchange.com/questions/10770/whats-the-difference-between-a-library-and-an-engine/ – thedaian

答えて

0

ライブラリを使用すると、最終製品を構築するために使用ほんの一部です。これは通常、数学、物理学、レンダリングなどの1つの特定の事柄を担当します。

フレームワークは少し大きかったり、単にライブラリと同義語にすることができます。フレームワークは、数学、物理学、レンダリングなどのゲームをすべて一緒に構築するために必要なすべての基本的なものにすることができます。たとえば、XNAにはオーディオ、数学、グラフィックス、入力などの基本があります。フレームワークでは基本がありますが、通常は低レベルではフレームワークでゲームを作るために多くのコードを書く必要があります。多くの場合、それを使ってゲームを作るために、フレームワークの上に全体のレイヤーを書きたいと思っています。

エンジンはもっと上層です。ゲームエンジンの多くでは、ゲームを作るためのコードを1行書く必要はありません(それはあまり革新的ではないかもしれませんが、ゲームになるでしょう)。エンジンには通常、最終的なゲームの一部ではなく、しばしばデータ駆動型のゲームエディタやその他のツールが付属しています。ゲームエディタを実行してレベルを上げたり、勝利ロジックを変更したりして、全く新しいゲームを作りましょう。

4

私が理解していることに基づいて最も基本的なものから始めようとしています。

ライブラリはプログラムに何か拡張されていますが、本当に一般的な例は、それが含まれるアプリケーションに機能を拡張する.dllファイル(ダイナミックリンクライブラリ)です。ライブラリを似ていると考える傾向があります既存の機能を本質的にその機能を持たないものに拡張しているため(ライブラリに慣れていないので、間違っていると私を修正してください)ライブラリへのより多くがあり、その後ただ、これはかかわらず、私はウィキペディアにあなたを指します:

http://en.wikipedia.org/wiki/Programming_library

枠組みを説明するために、非常に簡単です、それは基本的にライブラリのコレクションです。 XNAのオブジェクトを参照しているとき(StringBuilderを作成する場合)、使用しているフレームワークはSystem.Text(EDIT:mscorelibの一部です)を参照してStringBuilderクラスにアクセスします。この例では(Aleksが指摘したように)mscorelib(またはMSDNによる.NETライブラリ)の一部であるStringBuilder(class)Text(namespace)System(別の名前空間)になります。

ゲームエンジンはフレームワークに似ていますが、少し集中して洗練されています。一般に、ゲームエンジンには、リソース、エディタ、機能の組み込みなど、XNAだけでは必ずしも見つからないようなものが含まれていると思います。私は、(私の理解から)ゲームエンジンを使うことへの最大の牽引力の1つは、含まれるリソースだと思います。独自のテクスチャを作成する必要はありません。モデル、サウンド、アニメーションがいくつかあります。これは、ビデオゲームを作成するためのより完全なツールセットです。最初からすべてのものを作成する必要はありません。再び私はより多くのためにウィキペディアにあなたを指します:

http://en.wikipedia.org/wiki/Game_engine

+1

フレームワークの例isn正確ではありません。 StringBuilderはXNAの一部ではありません。 System.Textはライブラリではありません。 StringBuilderはSystem.Text名前空間の一部であり、.NET Frameworkの一部であるmscorelib(ライブラリ)の一部であるクラスです。 – Aleks

+0

@Aleks MSDNは、StringBuilderがXNAの一部ではないとあなたに同意しないhttp://msdn.microsoft.com/en-us/library/system.text.stringbuilder(v=VS.100).aspx –

+1

@Derrickあなたのリンクのトップ: 'アセンブリ:mscorlib(in mscorlib.dll)' – asawyer