日記/2006-07-27 のバックアップソース(No.1)

お名前:
最近、工体AIのファイルがアクセスできなくなったとかで、MMOBBSのホムAIスレがいろいろと騒がしくなっているようです。

で・・・そのスレでいろいろと話題になっている機能とか、例の[[AI機能○×表>http://pc3merchant.net/ai_antenna/]]とか・・・ホムに対していろんな要望はまだまだあるようで。~
そこについて思ってることをちょこちょことメモ書き。

趣旨は・・・友瀬の場合、他AIで実装していてしかしGlenelgでは未実装の機能の多くは「友瀬なりの理由があって」積んでないんだよ、というような話。~
何度も話題にしている「くるくる」や「バニル以外のホムスキル」の件は今更だと思うので、それ以外について。


○横殴り回避関連~
最近にわかにあちこちで話題になっているこのあたり。~
MMOBBSでは、[[きのこAI>http://www5e.biglobe.ne.jp/%7Eanka/]]的な「敵の周囲に他キャラがいるなら、その敵を攻撃しない」というようなものになっている・・・という話題がでていました。~
これについて、ちょっとコメント。

友瀬&Glenelgでの根底にあるポリシーは、~
「あるキャラ(PC/ホム)の周囲数セルの範囲は、そのキャラの『領土』のようなもの」~
というようなものです。~
人間でもそうですよね?「他の人の周囲にいる敵は殴らない」っていうのはある意味当たり前なんですが、それ以前に「そもそもそういう距離には(徒歩では)近づかない」のが、普通の人間のプレイスタイルのはず。~
なのでGlenelgでは「わずか3セル」だけをアクティブ索敵範囲にしていました。~
きのこAIは「相手キャラの『領土』に踏み込まない」ように作っているのに対し、Glenelgはそもそも「自分の『領土』外には出て行かない」という感じでしょうか。

ただこのルールだと、そういうポリシーを考えずに索敵範囲を広げたり、また「テレポ」が絡むと何かとおかしなことがおきるんですね。~
そういうこともあって、Ver0.38に向けて「視界内に誰かがいたら、索敵範囲を狭く」できるようにしました。~
どっちのやり方がいい、という話ではないです。~
横殴りしないという目的のためには、いろんな達成手段がある、ということです。

○手動でのアクティブ・パッシブ切り替えについて~
これは機能○×表からのネタ。表上は「先行・非先行切り替え」になっています。~
多くのAIで持っているのに、Glenelgでサポートしていないのには、これも理由があります。

この機能は言ってみれば「普段はアクティブ策敵だけど、状況によってパッシブ策敵」にしたい、ということ。~
ならば、その「状況」を判断して自動的にパッシブになることができるのなら、わざわざ手動操作はしなくていいのでは?というのがポイントです。~
友瀬はこの「状況」は具体的には以下のようなモノだと思っています。

+ホムの体力が減っているので、「いのちをだいじに」にしたい。 
+強い敵がそばにいるので、変に突撃しないようにしたい。 
+第三者プレイヤーと混戦状況なので、横殴りにならないように大事をとりたい。 

上記のそれぞれの状況について、Glenelgではカスタマイズと敵ごとの学習で、対応できるようになっています。

+ホムの体力が減ると、自動的にパッシブ策敵モード/逃亡モードになり、無理な攻撃はしません。 
+敵ごとに「アクティブ策敵対象」にするか否かを指定できるので、強い敵には自分からは攻撃しないようにできます。 
+『第三者が近くにいるときはパッシブ策敵にする』カスタマイズが可能です。

もちろんこれは友瀬の現状認識なので、この想定外の事象から必要性が生まれたならば、実装の余地はあります。~
が、おそらくはそういうときでも「その状況に応じた自動判断」の仕組みを作り、手動操作はさせないと思います。~
実際上記での「3」の状況は、この日記の最初にあげた「周囲の人を見る」話です。