そうでない場合、GUI ゲームを作成できる C++ 構文に最も近い pl および C++ API は何ですか?
5 に答える
ベア メタル用の独自のオペレーティング システムとデバイス ドライバーをいつでも作成できます。次に、その上にゲームを構築します。本格的な OS を作成したくない場合でも、デバイス ドライバーを自分で作成できます。デバイス ドライバーを実装したくない場合は、特別な目的のハードウェアの助けを借りずにすべてのコンテンツ生成を行い、ソフトウェア ラスタライザーを作成することですべての面倒な作業を CPU に任せることができます。ただし、コンテンツを出力するには、OS によって提供される API が必要です。これらの API は、DirectX および Win32 API (Windows の場合) です。
待ってください...では、そもそも画面へのアクセスを可能にする API を一切使用せずに Windows GUI ゲームを作成したいのですか?
いいえ、できません。Windows は、ユーザーがハードウェアに自由にアクセスできないようにすることを強調しています。(その要点は、ハードウェアを管理し、プログラムが何かをしたいときにプログラムがお互いを踏みにじらないようにすることだと言うことができます。ビデオカードで好きなことを何でもできるのであれば、それはできません. ) それに最も近いのは DirectX です。おそらく SDL ですが、Windows では裏で DirectX を使用しているようです。
独自の OS などを作成したい場合、または安っぽいベアボーン OS をベースとして使用したい場合は、実行可能です。しかし、それは Windows ゲームではありません。フレーム バッファなどを渡すサービスを作成することも考えられますが、そうすると、中途半端なバージョンの DirectX を作成することになります。また、すべてのユーザーのマシンが不安定になり、最終的にはユーザーがいなくなります。(さらに、Win32 API を使用してサービスとして実行する必要があります。)
正気を保ちたいのなら、いいえ。OS API に代わるものは... ありません。
コマンド コンソールでアスキー アートしか生成しないゲームを作成するつもりなら、そうです。Win32 API、OpenGL、DirectX なしで、ビデオ カード、サウンド カード、入力デバイス、ネットワーク インターフェイス、GPU アクセラレーション、シェーダー、フレーム レートなどをどのように処理しますか?
ハードウェアに直接アクセスできるプラットフォーム (x86 PC + DOS など) 向けにゲームを作成し、そこで実行するか、DosBox などの VM で実行します。