さまざまなフロアがある、プラットフォームを備えたゲームを作成したいと考えています。各フロアにはいくつかの建物とオブジェクトがあり、それらを操作することができ、その上または下のフロアに移動する方法があります。
必要なもの: オブジェクト (モデル) の読み込み/レンダリング、入力、衝突検出、ピッキング。.NET 言語にもこだわりたい
私は多くのエンジン (.NET ネイティブまたはラッパーの両方) を調べましたが、多くのエンジンには必要なこれらの機能があり、多くの場合、必要のない、または必要のない余分な機能があります。
DirectX/OpenGL などの Grahpics API や、これらに基づく他の Grahpics API を見てきましたが、衝突検出とピッキング関数を自分で作成するか、Newton Physics や PhysX などにバインドする必要があります。
編集:XNAも見ましたが、そのデザインについてさまざまなレビューを見たり読んだりしました。
また、独自の関数を作成するか、サードパーティのライブラリを使用してロード/レンダリングし、さらに衝突検出と自分で作成したピッキングを検討しました。
純粋に理論的な観点から、私はこのプロジェクトを教育プロジェクトとして完成させたいと思っていますが、それほど深くも骨の折れるものでもないので、髪を伸ばして多くのコンピューター画面を通過することになります.
私のプログラミング知識は、VB -> C# と一部の C で独学です。基本的なオブジェクト指向の作業 (プロパティ、継承、ポリモーフィズム) はできますが、コンストラクター、アクセサー、デストラクチャー、およびおそらく言及していないその他の機能についての手がかりがありません。ベクトルと衝突検出に必要なAレベル(英語システム/高度な高(スコットランドシステム)数学の知識とGCSE(英語)/高(スコットランド)物理学の知識が必要です。
だから私の質問は - このプロジェクトを完了するのに楽しくて面倒ではなく、最も速く、最も教育的な方法は何でしょうか- エンジンを使用し、カスタム衝突検出を使用してその機能/グラフィックス API を学習するか、すべてをゼロから作成するか、および/または私を助けるために第3のライブラリを使用していますか?または、間違った考え方/アプローチでこれを行っているのですが、正しい方向に向けることができますか?