ゲームのようなソフトウェア アプリケーションの場合、これはソフトウェア会社が特定のライブラリの 3 つのブランチを維持するために多くの余分なコーディングを行っているということですか?
これを言うのは難しいのは承知していますが、一般的なゲーム開発では、3 つのフレーバーすべての Windows で動作するために 3 回書く必要があるソフトウェアの特定の領域はありますか?
コア ソフトウェアは変更されないと思いますが、一部のドライバーはバージョン固有にする必要があるのでしょうか?
ゲームのようなソフトウェア アプリケーションの場合、これはソフトウェア会社が特定のライブラリの 3 つのブランチを維持するために多くの余分なコーディングを行っているということですか?
これを言うのは難しいのは承知していますが、一般的なゲーム開発では、3 つのフレーバーすべての Windows で動作するために 3 回書く必要があるソフトウェアの特定の領域はありますか?
コア ソフトウェアは変更されないと思いますが、一部のドライバーはバージョン固有にする必要があるのでしょうか?
OSにどれだけ近いかによって異なります。.NET フレームワークまたは DirectX のみを使用している場合は、オペレーティング システム間で大きな変更はないでしょう。ドライバーを作成している、または Win32 API に依存している場合は、微妙な変更またはそれほど微妙でない変更が確実に存在する可能性があります。
そもそもコードが正しく記述されていれば、OS アップグレードのサポートに多額の投資を行う必要はありません。.NET フレームワークのようなものを使用すると、これがさらに保証されます。
また、なぜゲームには「ドライバー」があるのでしょうか?
私が働いているスタジオを含む多くのゲーム開発者は、クロスプラットフォームの問題を管理するエンジンを使用しています。ゲームにはUnrealを使用しており、PS3、Xbox、PCに移植できますが、パフォーマンスの違い以外の問題はありません。エンジンは通常、プラットフォームの違いを処理します。
.Net開発者として、元のターゲットとしてXPで構築されたアプリケーションを実行しているときに見た問題のほとんどは、XPでたまたま動作した、間違って実行していたことでした(ほとんどは、XPで問題ないように見えたが、間違っていたシステムカラーを使用していました)。 Vistaの場合-たとえば、デフォルトのVistaテーマにより、黒い背景に黒いフォントが表示されます)。
それは偶然の一致で最高の状態でコーディングされていました(私たちはそれが間違っていることを知らないほど素朴でした)。ただし、VistaとXPの両方でテストを開始すると、より優れたWindows製品の作成を開始しました。
DirectX や .Net など、同じ機能を提供するはずの「移植可能な」インターフェイスを使用している場合でも、責任あるソフトウェア開発者は、サポートされている各プラットフォームで QA とテストを行う必要があります。
(私は責任あるソフトウェア開発者であると主張していないことに注意してください。:-))
あまり。DirectX 9 を使用している場合は、3 つの Windows バージョンすべてで問題ありません。追加のメンテナンスは、インストーラー/アンインストーラー、Vista で新しく追加されたゲーム タブ (使用する場合) などを中心に展開されますが、前述のように、DirectX 9 は 3 つすべてで安定した API です。
DirectX 10 (WinXP ではありません) と OpenGL (Vista でのサポートは奇妙です) を楽しむことができます。