-1

さまざまなフロアがある、プラットフォームを備えたゲームを作成したいと考えています。各フロアにはいくつかの建物とオブジェクトがあり、それらを操作することができ、その上または下のフロアに移動する方法があります。

必要なもの: オブジェクト (モデル) の読み込み/レンダリング、入力、衝突検出、ピッキング。.NET 言語にもこだわりたい

私は多くのエンジン (.NET ネイティブまたはラッパーの両方) を調べましたが、多くのエンジンには必要なこれらの機能があり、多くの場合、必要のない、または必要のない余分な機能があります。

DirectX/OpenGL などの Grahpics API や、これらに基づく他の Grahpics API を見てきましたが、衝突検出とピッキング関数を自分で作成するか、Newton Physics や PhysX などにバインドする必要があります。

編集:XNAも見ましたが、そのデザインについてさまざまなレビューを見たり読んだりしました。

また、独自の関数を作成するか、サードパーティのライブラリを使用してロード/レンダリングし、さらに衝突検出と自分で作成したピッキングを検討しました。

純粋に理論的な観点から、私はこのプロジェクトを教育プロジェクトとして完成させたいと思っていますが、それほど深くも骨の折れるものでもないので、髪を伸ばして多くのコンピューター画面を通過することになります.

私のプログラミング知識は、VB -> C# と一部の C で独学です。基本的なオブジェクト指向の作業 (プロパティ、継承、ポリモーフィズム) はできますが、コンストラクター、アクセサー、デストラクチャー、およびおそらく言及していないその他の機能についての手がかりがありません。ベクトルと衝突検出に必要なAレベル(英語システム/高度な高(スコットランドシステム)数学の知識とGCSE(英語)/高(スコットランド)物理学の知識が必要です。

だから私の質問は - このプロジェクトを完了するのに楽しくて面倒ではなく、最も速く、最も教育的な方法は何でしょうか- エンジンを使用し、カスタム衝突検出を使用してその機能/グラフィックス API を学習するか、すべてをゼロから作成するか、および/または私を助けるために第3のライブラリを使用していますか?または、間違った考え方/アプローチでこれを行っているのですが、正しい方向に向けることができますか?

4

1 に答える 1

1

Unity3Dをお勧めします。まともなデザイナーを使用してゲームを構築できます。ゲームには多くのツール (物理エンジン、パーティクル システム、レンダリングなど) があります。

Javascript、C#、または Boo のいずれかで動作をスクリプト化できます。

また、ゲームを Android、IOS、PS3、XBOX、WII、PC、MAC、Web Player、Flash にリリースでき、基本バージョンは無料です。

純粋な.NETに固執したい場合は、XNAをチェックしてください

編集: OOP スキルの不足を補うために、ソフトウェア エンジニアリングの作業にあまり集中せず、オブジェクトの動作のスクリプト作成に集中するため、統合が容易になると思います。楽しいですし、とても勉強になります。シーンが下でどのようにレンダリングされているかを学べないかもしれませんが、プログラミングの経験を積むことができます。

于 2013-02-28T23:24:17.933 に答える