Scalaでの2Dゲーム開発を支援するためのライブラリに取り組んでいます。これまでのところ、有用なクラス、ファイルの読み込み、衝突検出、画像、スプライトなどのコレクションです。
それで、いつクラスライブラリではなくなり、エンジンになりますか?便利なフレームワークとゲームエンジンの違いはどこにあるのでしょうか?
Scalaでの2Dゲーム開発を支援するためのライブラリに取り組んでいます。これまでのところ、有用なクラス、ファイルの読み込み、衝突検出、画像、スプライトなどのコレクションです。
それで、いつクラスライブラリではなくなり、エンジンになりますか?便利なフレームワークとゲームエンジンの違いはどこにあるのでしょうか?
回答:
ここで人々が混乱するのは、一方が一般に他方で構成されているということだと思います。
それで、いつクラスライブラリではなくなり、エンジンになりますか?
決して。
有用なフレームワークとゲームエンジンの違いはどこにありますか?
なにもない。
では、答えを説明しましょう。ゲームエンジンはクラスライブラリで構成されています。ゲームエンジン内にあるからといって、クラスライブラリであることに変わりはありません。ライブラリは、ゲームエンジン内の特定のニーズに取り組むための便利なフレームワークです。完全なゲームのニーズを伴うフレームワークは、ゲームエンジンです。
ゲームエンジンの例を次に示します。
そして、ライブラリのいくつかの例
お役に立てれば
実際には、どちらの用語(または関連する用語「フレームワーク」)についても具体的な定義はありません。ソフトウェアパッケージのさまざまな微妙な違いを解釈し、分類を割り当てる方法は数百通りあります。
私は個人的に「ライブラリ」を比較的小さく指向性のある機能セットを提供するものと見なしますが、「フレームワーク」はより多くのまたはより広範な機能を提供し、「エンジン」は同じ(またはそれ以上)を提供し、通常は付属の関連ツール。
他の人が同じ用語を個人的に解釈して、「エンジン」が「ライブラリ」よりも多くの、またはより高いレベルの機能を提供することを安全に感じるほど十分に見たことがあります...あなた次第です。
ライブラリとエンジンの間の線が非常に薄く、ぼやけたものになることがあるため、これは難しい質問です。ライブラリがエンジンに変わるポイントは、特定のゲーム、または特定のタイプのゲーム向けになったときです。
たとえば、Unrealエンジン(またはSource、またはQuake)はFPSゲームに使用するように設計されています(他のゲームにも使用できますが、エンジンに対してある程度の時間を費やす必要があります)。Ogre3d(またはDirectx、SDL、またはその他の一般的なライブラリ)を使用して、コードの主要部分をリッピングしたり、回避したりすることなく、あらゆるタイプのゲームを作成できます。