サンプルの概要
ゲーム用に AI をプログラムしていると、アクターがさまざまな選択肢から単一の選択をしなければならない場面にたびたび遭遇します。多くの場合、この選択は白か黒かの明確なものです。たとえば、プレイヤーを発見すれば攻撃します。しかし、この判断プロセスがあまりはっきりしない場合も多くあります。体力が低ければ、医療キットを探しに行きます。近くにパワーアップがある場合は、それを拾います。それでは、"体力が低い" や "近く" とはどのように定義すればよいのでしょうか。また、体力が低く、その上パワーアップが近くにある場合はどうすればよいのでしょうか。どちらのアクションがより重要ですか。ファジー ロジックを使用すれば、このような "ファジー" な判断を行う機能を AI アクターに与えられます。
このサンプルでは、「追跡と回避のサンプル」で導入した一部の振る舞いを使用して、AI アクターがファジー ロジックを使用して判断できるようにする 1 つの方法について説明します。サンプルでは、1 台の戦車と 15 匹のマウスを使用します。戦車はマウスを追跡し、マウスは戦車から逃げます。戦車はファジー ロジックを使用して、最も追跡しやすいマウスを判断します。ユーザーは、戦車の判断プロセスを左右する複数の要素を制御できます。
さらにサンプルでは、AI のプログラムで役立つ設計パターンである、プラグ可能な振る舞いについて説明します。このパターンは AI 動作のロジックからエンティティを切り離すので、複数のエンティティで振る舞いロジックを再利用できるようになります。
このサンプルは、「追跡と回避のサンプル」を基にしており、読者がそのサンプルで説明されているコードおよび概念を理解していることを前提としています。
|
※ 以下、「ダウンロード」で提供されるファイルの言語は Framework のバージョンによって異なります。


GS 2.0
VS 1.1
PS 1.1


GS 3.0
VS 1.1
PS 1.1
このページからダウンロードしたソースコードを含むすべてのコンテンツは、Microsoft Permissive License (Ms-PL) の規約に準じます。
var gDomain='m.webtrends.com'; var gDcsId='dcschd84w10000w4lw9hcqmsz_8n3x'; var gTrackEvents=1; var gFpc='WT_FPC'; /*<\/scr"+"ipt>");} /*]]>*/