ゲームエンジンと見なされるXNAが欠落しているのは疑問です。ゲームエンジンが行うべきすべてのことを行います(物理部分を除く)。また、ゲームエンジンに関するWikipediaの記事で定義されているすべての側面をサポートしています。
XNAがゲームエンジンと見なされないのはなぜですか?
ゲームエンジンと見なされるXNAが欠落しているのは疑問です。ゲームエンジンが行うべきすべてのことを行います(物理部分を除く)。また、ゲームエンジンに関するWikipediaの記事で定義されているすべての側面をサポートしています。
XNAがゲームエンジンと見なされないのはなぜですか?
回答:
Microsoft XNAは、コンピューターゲームの開発と管理を容易にする、マイクロソフトが提供する管理されたランタイム環境を備えたツールのセットです。XNAは、ゲーム開発者が「反復的な定型コード」を書くことから解放し、ゲーム制作のさまざまな側面を1つのシステムに統合しようと試みます。
フレームワークとして設計されています-実際、XNAはMicrosoft XNAフレームワークです-技術的には、名前によるエンジンではありません。
「エンジン」はありません-気づいた場合、メインクラスをXNA.Framework.Gameから派生し、描画関数と更新関数を自分でオーバーライドする必要があります。すぐに使用できる中央レンダリングシステム、入力システム、オーディオシステムはありません。SpriteBatchと頂点クラスがあり、KeyboardStateがあり、オーディオクラスがいくつかあります。しかし、これらは低レベルの描画コードに対する抽象化にすぎません。
編集:有用性のために、エンジン、フレームワーク、ライブラリ、またはツールセットとしてラベル付けされている場合、なぜ重要なのですか?
物事をいくらかクリアするために:私はXNAでエンジンを開発しています。明らかに、ジョナサンが言及したように、アンリアルのようなものではそれができません。ただし、XNAにはないことが重要だと感じるいくつかの点があります。
プラグアンドプレイ:何らかのテンプレートを作成できるようにしたい-このHP、このメッシュ、このアニメーション、BOOMを持っている!ゲームにNPCがあります。
低レベルの非表示-XNAは既にこれを実行していますが、GameServiceProvidersをいじりたくありません。一緒に物を突き出したいだけです。
エンジンから分離されたゲーム-「ゲーム」クラスがあるかもしれませんが、ベースシステムからロジックとコードを分離したいと思います。if(player.hasitem(Item.SECRET_SWORD_OF_SECRETNESS)
グラフィックスレンダラーのバッファーの更新と混在させたくありません。
what makes an sdk to be called a GameEngine?
フレームワークは、特定の種類のアプリケーション用に構築された最小限のアーキテクチャを提供します。アーキテクチャの規定された目標を超えて、実装の詳細に関する仮定を最小限にします。クロスプラットフォームゲーム開発フレームワークは、「プラットフォームに関係なく(ほぼ)すべてのコンピューターゲームに共通するもの」を提供することを目標とし、XNA Framework(暗黙的に) 「(ほぼ)XNA CLRで実行するために書かれたすべてのコンピューターゲームに共通するもの」を提供することを目標としています。この焦点が非常に狭いことを考えると、彼らは免責でエンジン機能を含めることができました。これは、すべて「Framework」という見出しの下にバンドルされています。これは、ゲーム開発者が享受できる実装の特定の自由を示しているためです。
大まかに言えば、フレームワークはできるだけ有用でありながら、可能な限り無制限でなければなりません。一方、エンジンは通常、特定の機能に重点を置いており、使用する際には特定の制限があることに同意します。
「ゲームエンジン」を使用したことはありませんが、これについての理解は、特定のタイプのゲームを開発するための、事前定義された骨格ゲーム構造にバンドルされた事前定義されたツールセットとしての詳細です。そして、特定のタイプのゲームの開発のための構造がゲームエンジンの主な決定要因であることは確かであり、前述のウィキペディアの記事が魅力的なものであるように思われます。私にとって、XNAフレームワークは、AJAXのようなサードパーティのライブラリセットに似ており、既存のむき出しのプログラミング言語にビルド済みのルーチンを追加します。これらのライブラリルーチンを使用してプログラマが実行できることと実行できないことに関して、制限やガイドラインはありません。私の考えでは、それは決してエンジンに似ていません。それから私はビジネスソフトウェア/ウェブ中心のバックグラウンドから来ました、
XNAを使用してゲームアイデアのフレームワークを構築しましたが、C#を介して別のライブラリを使用しているように感じます。テストプログラムでハックアウトしたプロセスを使用して、Windowsおよび場合によってはXbox用の2つまたは3つのゲームを作成します。
だから、私が言ったように、これは私が「ゲームエンジン」であると理解したものとは遠く離れているので、この投稿に出会ったとき、なぜ誰かがその比較をするのか分かりませんでした。私が間違っている?