1

タイムトライアル、インフィニットゲームなど、さまざまなゲームタイプのゲームがあります。

各ゲーム タイプには、異なるタイミング ルールと潜在的な衝突ルールがあります。タイムトライアルでは、時間切れになるとゲームが終了します。

現在、ゲーム タイプをプログラムに「ハードコーディング」して追加しているため、新しいゲーム タイプを追加するたびに、プログラム全体を再コンパイルする必要があります。

基本的に、ゲームの種類を簡単に追加できるようにするために、すべてを再コンパイルする必要はありません。そのため、潜在的に新しいゲーム タイプはダウンロード可能なコンテンツであり、新しいタイプをゲーム フォルダに入れるだけで機能します。

これを行うにはどうすればよいでしょうか?ライブラリやDLLなどを使用していると思います(それについての知識はほとんどないため、完全に間違っている可能性があります)。

すべてが理にかなっていることを願っています。皆さんが私を助けてくれるか、少なくともこの方法論を説明する本や記事の方向性を教えてくれることを願っています.

前もって感謝します。

4

1 に答える 1

5

ゲームの拡張性のためにネイティブ DLL を使用することは、特にコードが最初からこのように設計されていない場合、IMO ではありません。

LUAPythonなどのスクリプト言語を使用すると、C++ コードを記述およびコンパイルしなくてもゲーム モードを追加できるようになります。これらの実装は非常に簡単ですが (特にバインディング/ラッパー ライブラリを使用する場合)、スクリプト API を設計する必要がありますが、これは重要なタスクになる可能性があります (ゲームをどれだけ変更可能にしたいかによって異なります)。これは現在、ゲーム業界では非常に標準的なアプローチです。最近のほとんどの商用ゲームには、何らかのスクリプトのサポートがあります。

一般に、コア (C++) からスクリプトにできるだけ多くのコードを移行する傾向があります。これらのスクリプトは、開発、保守、および変更が容易だからです。最近のゲームの多くは、ゲームプレイ ロジック (スクリプト言語で記述) とゲーム エンジン (C++ または別のコンパイル済み言語で記述) を明確に区別しています。

于 2011-02-11T12:51:41.300 に答える