完全なネイティブアプリケーションでwin32を使用する必要がありますか、代わりにVC++ Expressのビジュアルモードを使用するとよいです。ネイティブアプリケーションでwin32を使用する
私はゲームエンジンのような大きなプログラムについて知りたいのですが、win32を使ってツールを提示していますか?
完全なネイティブアプリケーションでwin32を使用する必要がありますか、代わりにVC++ Expressのビジュアルモードを使用するとよいです。ネイティブアプリケーションでwin32を使用する
私はゲームエンジンのような大きなプログラムについて知りたいのですが、win32を使ってツールを提示していますか?
Win32 APIは、基本的にウィンドウ、コントロール、ソケットなどの低レベルのWindowsオブジェクトで動作するプロシージャのセットです。だから、あなたが "ネイティブ"と言うならば、あなたが何でもできる唯一の方法はWin32 APIを使うことです。
ゲームエンジンは、低レベルの観点からは非常に原始的です。ゲームエンジンは主にアルゴリズム、ポリゴン(低レベルの三角形の代わりに)、テクスチャなどのような抽象クラスです。 Windowsの観点からは、「ウィンドウを作成する」、「OpenGLを初期化する」のようなものです。他のすべてのものは、ほとんどがWindowsに関係していませんが、かなりクロスプラットフォームです。たとえば、OpenGLはWindows、Linux、Mac OSなどの特定のプラットフォームとは関係なく、OpenGLは常に同じです。異なるのは、ウィンドウを作成してOpenGLを初期化する方法だけです。
Windowsの場合、「Win32」と「ネイティブコード」は基本的に同じです。 .NETを使用してインターフェイスを構築している場合は、ネイティブコードではありません。もちろん、ネイティブコンポーネントと.NETコンポーネントを混在させたコードを記述することもできます。
大きな予算のゲームは、通常、Windows、Xbox 360、PS3、おそらくWiiやMacで実行する必要があるため、移植を容易にするためにネイティブコードで書かれています。私は例外があると確信していますが、私は複数のプラットフォーム上で実行され、マネージコードで完全に書かれた主要なソフトウェアは認識していません。
私はそれを知っています。私は異なるエンジンで7年間ゲームを作っています。 SFMLを使って2次元のゲームエンジンを作成したいので、開始に関する情報を得るべきだと考えました。 – MahanGM
これを7年間やったことがあれば、多かれ少なかれ優れたゲームエンジンがクロスプラットフォームであることを知っているはずです。これらのすべての低レベルのものをあなたのために行うので、あなたが本当にやることに集中することができます。私は10年間のWindowsプログラマであり、Win32 APIなしで行うことができれば、Win32 APIなしで実行できると信じています。それは「本当の」開発のために時代遅れです。たとえば、空のウィンドウを作成したいだけの場合、純粋にネイティブの実装は約50行のコードです。 – agibalov
@ loki2302:「本当の」開発のための珍しい定義がありますか?特に、Windowsオペレーティングシステムの* APIなので、すべてのWindowsアプリケーションはある時点でWindows APIとやりとりする必要があります。はい、あなたはウィンドウを作るために少しのコードが必要ですが、あなたはそれが低レベルだと言って、あなたは何らかのフレームワークやライブラリでそれをラップします。 –