FC2ブログ
TOP > 一から始めるAI講座~最終回?:AIの限界~
 ← アサで初ニブル | TOP | DEXアコの受難

リストマーク 一から始めるAI講座~最終回?:AIの限界~ 

【重要】新しいBlogに移転していますあるネットゲーマーの日常
AI講座の次のネタとして、
鳥の「フリットムーブ」を一定時間ごとに使う、
というのを考えていたのですが・・・

ロジック自体はできてます
しかし、問題はスキルIDの取得なんですよ

いろいろ試行錯誤したり、調べてみた結果、
「ターゲットの存在しないスキルはID取得不能」
というのが結論のようです


そんなわけで、私が考えていたAIネタは尽きたわけですが、
AIの可能性は、アイデア次第でまだまだ広がっていきます

もし「こんなことがしてみたいけど実装がわからない」
といったネタがありましたら、
コメントをもらえれば実装を試しますので、ぜひお願いします


それでは、また会う日まで・・・
[2006.04.15(Sat) 17:50] ホムンクルスAI考察Trackback(0) | Comments(11)
↑TOPへ


COMMENT

おつかれさまです。 by えび
スキルについては、いろいろと違う情報サイトを見て値がわかりました。
分からないことや、まだ調べてないことなんですが、
ホムが死んでしまった後は、AIによりスキルが使えないんでしょうか。
例えばですが、死んでしまったとき、ログアウト・ケミがリザといった自動機能などですが。
いろいろなところを調べてきます。
おつかれさまでした。

by えび
今私は、GetTick()の使用と、敵フィッシング行為を勉強中です。
敵を、フィッシングすることで、主人の近くで敵を倒すということができれば、スタックする可能性、MHへの危険性が減ると思うんです。
ただ、効率はへると思いますが・・・
敵IDの消失は、なんとなく分かるのですが、
見つけた敵を攻撃する瞬間がわからないのです。
どこにあるのでしょうか・・・という質問です。
また、自分でも見つけるのを頑張っていきます。

by パロット
前者に関してはグレーな範囲ですので、
方法を見つけたとしても、自己責任でお願いします
特に、所属Gに迷惑をかけないように

後者に関しては、「OnATTACK_ST」関数内で
主人に戻るようにすればできるかなと
「攻撃する瞬間」=「Attack()」ですね

横殴りするみたいです・・・ by えび
いつもは、下水で狩りしていたので
横殴りとか、12回目に書いてあるのがそのままなんですが、
もしかして、索敵以外にも、追跡モードのとき全てに、攻撃対象確認を入れないといけないんでしょうか。
今、たまたまプロボックかけた状態のポリンが近くを通ったんですが、
横殴りしてしまったのですorz

by パロット
どのように修正されたのかわかりませんが、
GetMyEnemy関数が丸ごと置き換わっていれば、
各状態ではその関数を呼んでいるだけですので、
横殴りは発生しないはずです

「上級編」のエントリに、
実際に私が使っているAIを置いてますので、
比較してみてはいかがでしょうか

by えび
ありがとうございます。
試してみます。
早急なご返事感謝します。

by えび
比較してみましたところ、
私のものは、「画面外から来た一度も攻撃をしていないトレインしている状態のモンスター」
にのみ、横殴りが発生してしまうらしいです。
これは、プロボックをした状態のモンスターを一度も危害を加えずにトレインしている という場合において、横殴りが発生しやすいということなんですが、
今から、比較してみます。
それでは、ありがとうございました。

よくわかりません。 by えび
すみません。上の見本のがノンアクから始まることを忘れていて、そのまま実験してました。
私の同様、上のコメントどおり、
「一度も、攻撃を食らうことなくトレインしている人が、画面外からくると」
という場合、横殴りしますね・・・
これは、プロ南で遊んでいる最中に、よくポリンが倒しに行ってしまったので気づいたのですが・・・
モンスターのターゲットが確定されるのは、モンスター自身が攻撃を加える瞬間だというのが、結果としてでました。

by パロット
なるほど・・・

現象から推測するに、
以下のコードで問題(?)があるようですね

 target = GetV(V_TARGET,v) -- 対象のターゲット確認
 if (target == 0) then -- ターゲットがいない

ここでモンスターがターゲットを持っているかを判定していますが、
この「ターゲット」はAttack関数の引数に取っているIDを指すようです

ということは、モンスターが攻撃状態でないと、
「タゲを持っている」ことを認識できないので、
攻撃対象にしてしまう、と

どうしてもこの現象を回避したいのであれば、
モンスターのモーションも取得して、
それが「待機」状態のものだけ対象にすれば、
たぶん回避できます
(=移動しているものは対象にしない)

ただし、タゲを持っていなくても、
移動中のモンスターを対象にしなくなりますが・・・

by パロット
付け加えると・・・

>モンスターのターゲットが確定されるのは、モンスター自身が攻撃を加える瞬間だ

おっしゃるとおり、ということですね

すみません・・・ by えび
私には、ちょっとまだ無理なプログラムなので、そういうことはできなさそうです。
とりあえず、まだ下水生活なのでじっくり完成させていきます。
ご返事と方法ありがとうございました。

コメントを閉じる▲

 ← アサで初ニブル | TOP | DEXアコの受難

COMMENT

スキルについては、いろいろと違う情報サイトを見て値がわかりました。
分からないことや、まだ調べてないことなんですが、
ホムが死んでしまった後は、AIによりスキルが使えないんでしょうか。
例えばですが、死んでしまったとき、ログアウト・ケミがリザといった自動機能などですが。
いろいろなところを調べてきます。
おつかれさまでした。
[ 2007.04.11(Wed) 23:39] えび #EtrtsuLc | EDIT |

今私は、GetTick()の使用と、敵フィッシング行為を勉強中です。
敵を、フィッシングすることで、主人の近くで敵を倒すということができれば、スタックする可能性、MHへの危険性が減ると思うんです。
ただ、効率はへると思いますが・・・
敵IDの消失は、なんとなく分かるのですが、
見つけた敵を攻撃する瞬間がわからないのです。
どこにあるのでしょうか・・・という質問です。
また、自分でも見つけるのを頑張っていきます。
[ 2007.04.12(Thu) 03:20] えび #UTIQ/Uk2 | EDIT |

前者に関してはグレーな範囲ですので、
方法を見つけたとしても、自己責任でお願いします
特に、所属Gに迷惑をかけないように

後者に関しては、「OnATTACK_ST」関数内で
主人に戻るようにすればできるかなと
「攻撃する瞬間」=「Attack()」ですね
[ 2007.04.12(Thu) 13:55] パロット #kJeoJ8/Y | EDIT |

いつもは、下水で狩りしていたので
横殴りとか、12回目に書いてあるのがそのままなんですが、
もしかして、索敵以外にも、追跡モードのとき全てに、攻撃対象確認を入れないといけないんでしょうか。
今、たまたまプロボックかけた状態のポリンが近くを通ったんですが、
横殴りしてしまったのですorz
[ 2007.04.12(Thu) 22:52] えび #UTIQ/Uk2 | EDIT |

どのように修正されたのかわかりませんが、
GetMyEnemy関数が丸ごと置き換わっていれば、
各状態ではその関数を呼んでいるだけですので、
横殴りは発生しないはずです

「上級編」のエントリに、
実際に私が使っているAIを置いてますので、
比較してみてはいかがでしょうか
[ 2007.04.12(Thu) 23:20] パロット #kJeoJ8/Y | EDIT |

ありがとうございます。
試してみます。
早急なご返事感謝します。
[ 2007.04.12(Thu) 23:26] えび #EBUSheBA | EDIT |

比較してみましたところ、
私のものは、「画面外から来た一度も攻撃をしていないトレインしている状態のモンスター」
にのみ、横殴りが発生してしまうらしいです。
これは、プロボックをした状態のモンスターを一度も危害を加えずにトレインしている という場合において、横殴りが発生しやすいということなんですが、
今から、比較してみます。
それでは、ありがとうございました。
[ 2007.04.13(Fri) 00:35] えび #lrEkRWhE | EDIT |

すみません。上の見本のがノンアクから始まることを忘れていて、そのまま実験してました。
私の同様、上のコメントどおり、
「一度も、攻撃を食らうことなくトレインしている人が、画面外からくると」
という場合、横殴りしますね・・・
これは、プロ南で遊んでいる最中に、よくポリンが倒しに行ってしまったので気づいたのですが・・・
モンスターのターゲットが確定されるのは、モンスター自身が攻撃を加える瞬間だというのが、結果としてでました。
[ 2007.04.13(Fri) 01:45] えび #lrEkRWhE | EDIT |

なるほど・・・

現象から推測するに、
以下のコードで問題(?)があるようですね

 target = GetV(V_TARGET,v) -- 対象のターゲット確認
 if (target == 0) then -- ターゲットがいない

ここでモンスターがターゲットを持っているかを判定していますが、
この「ターゲット」はAttack関数の引数に取っているIDを指すようです

ということは、モンスターが攻撃状態でないと、
「タゲを持っている」ことを認識できないので、
攻撃対象にしてしまう、と

どうしてもこの現象を回避したいのであれば、
モンスターのモーションも取得して、
それが「待機」状態のものだけ対象にすれば、
たぶん回避できます
(=移動しているものは対象にしない)

ただし、タゲを持っていなくても、
移動中のモンスターを対象にしなくなりますが・・・
[ 2007.04.13(Fri) 22:36] パロット #kJeoJ8/Y | EDIT |

付け加えると・・・

>モンスターのターゲットが確定されるのは、モンスター自身が攻撃を加える瞬間だ

おっしゃるとおり、ということですね
[ 2007.04.13(Fri) 22:38] パロット #kJeoJ8/Y | EDIT |

私には、ちょっとまだ無理なプログラムなので、そういうことはできなさそうです。
とりあえず、まだ下水生活なのでじっくり完成させていきます。
ご返事と方法ありがとうございました。
[ 2007.04.14(Sat) 02:03] えび #vjek6kfA | EDIT |

COMMENT POST











管理者にだけ表示

Trackback

この記事のURL:
http://parrot.blog21.fc2.com/tb.php/265-14d896ca
 ← アサで初ニブル | TOP | DEXアコの受難

プロフィール

Categories

Recent Entries

Recent Comments

Archives

AdSense

Calander

ブログ内検索

RO Search

Links

Copylights

Amazon