0

さて、私は多くのことを調査し、API に関する基本的な結論に達しました。3D プログラミングを実際に学習できる限り、学習用の API の選択はそれほど重要ではないように思われます。

私のバックグラウンド/現在の研究分野: 私は、プログラミング、アルゴリズム、およびオブジェクト指向設計に関する確かなバックグラウンドを持っています。

私はいくつかの 2D ゲームを作成しました: XNA(C#) と allegro 5(C++) を使用して、ゲーム作成をスピードアップするために (allegro を使用して) コース用に作成しなければならなかったいくつかの 2D ゲーム用の一種の小さなフレームワークを作成しました。そのため、ゲーム ロジックとゲーム ループ構造の基本的な概念に精通しています。

私は XNA を使用して 3D で非常にいくつかの実験を行いましたが、基本的なアイデアを実際に得ました。

線形代数と微積分について、基本的ではあるが確かな知識があります。

私は現在、人工知能、機械学習(より具体的には、誰かが知りたい場合に備えて:読み取りシステムにマルコフ論理を使用したリレーショナルデータベースのルール抽出)を研究しており、現在この分野でいくつかの研究を行っています。

私はゲームが大好きで、ゲーム プログラミング、特に AI とゲーム ロジックをとても楽しんでいます。

今は 3D ゲーム開発に移りたいと思っています。グラフィックス プログラミングなどはあまりやりたくありませんが、知識が必要です (何が起こっているのか、どのように行われているのか知りたいです)。それを利用するには: 3D 環境用の優れた AI を書きたい場合は、それをどのように処理するかについて良い考えを持っている必要があります)。

Direct3D (9 および 11) の例とドキュメントを (今日) 読み始めたところです。DirectX を学習する場合は、これまで読んだものから読み始めました。ハードウェアの互換性が低く、XP ユーザーが私の目標ではない場合は、11 を選択する必要があります。 .

DirectX を使用するか、SDL/OpenGL/OpenAL のようなものを使用するかについて意見をお願いします。ゲームやゲーム ロジック用の新しい AI に集中したい人にとって、どちらが優れているかを知りたいだけです。ゲームには C++/Python を使用し、一部のツールには C#/XML などを使用します。基本的には、Windows 環境で/用に開発するつもりです (Linux などに反対するものは何もありません。使用するソフトウェアの一部の AI 研究に Linux を使用しています)。

質問が明確になったことを願っています。喜んで助けてくれる人に前もって感謝します。

4

2 に答える 2

3

ここと @leppie によって述べられているように、OpenGL はクロス プラットフォームであるため、現在のほとんどのプラットフォームで動作する1 つのフレームワークを使用する方法を学ぶ必要があります。

私は実際に OpenGL を扱ったことはありませんが、オープン ソース プロジェクトでの経験から、優れたドキュメントを入手するのは難しいということです。そのため、適切なドキュメントを見つけるのに苦労するかもしれません(ここでも、私が使用した以前のオープン ソース プロジェクトに基づいています)。

一方、DirectX は Windows 環境で動作するものです。それはまた、あなたが求めているように見える多くのゲーム開発者にとって最適なツールであるようです. ここに示すように、DirectX を使用すると、Visual Studio を利用することもできます (これは、私が今まで使用した中で最も強力ではないにしても、非常に強力な IDE です)

全体として、あなたが求めているのは何年にもわたって行われてきた議論です (ほんの数例を挙げると、ここここ)。

編集:

プログラミングの世界のほとんどのものと同様に、与えられたもののリストを実行しようとすると、特定のプラットフォームが有利になります。リストが異なれば、異なるプラットフォーム/フレームワークなどが必要になります。私はこれらのテクノロジをいじったことはありませんが、Microsoft は、オープン ソース製品を使用する開発者よりも自社製品を使用する開発者の作業を少し楽にする傾向があると思います。

できることは、いくつかのコードを試すか、独自のコードを作成して、2 つのフレームワークを使用して同じことを行い、次に簡単な方を選択することです。

于 2012-07-19T05:34:54.367 に答える
1

心に留めておきたいことがあります: 私の知る限り、OpenGL (結局のところ、まったく間違ったツリーを吠えているのでなければ、これは Open Graphics Library の略です) は単なるグラフィック用です。一方、DirectXは、サウンド、音楽、さまざまなコントローラーを介した入力なども提供するため、クロスプラットフォームが主な問題ではなく、ロジックとAIに集中したい場合、DirectXは何かを得るのに役立つかもしれませんOpenGL (これは一般的にノックするつもりはありません) では、サウンド API と入力 API を探す必要があるかもしれません。

于 2012-07-19T11:07:04.757 に答える