日記/2006-07-27

2006-07-27 (木) 21:51:52
お名前:

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

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

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

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

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

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

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

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

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

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

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

こういう方法で「自動的に切り替え」できるのだから、わざわざ手動操作できなくてもいいのではないか、と。 ホム操作用に無限に操作方法があれば別に準備してもいいんですが、UIが限られているので・・・こういうところは自動化したい、というところです。
もちろんこれは友瀬の現状認識なので、この想定外の事象から必要性が生まれたならば、実装の余地はあります。
が、おそらくはそういうときでも「その状況に応じた自動判断」の仕組みを作り、手動操作はさせないと思います。
実際上記での「3」の状況は、この日記の最初にあげた「周囲の人を見る」話です。

以上、長くなったので、他の話はまた別の機会に。