自律型ペットAIについてお聞きしたいんですが |
紫炎雷 | 10/06/15 15:40 |
今「自律型ペットAI」は、ペットの負傷やHP回復の環境のために
現実的ではない、ということで下火になっています。
それなら負傷やHP回復がほとんど必要がない前提条件を,
作ってやれば良いんじゃないか、という事で考えてみたんですが、
生き残り最優先の釣りIBC(FBC)なら可能じゃないかと思うんですが、どうでしょうか?
一番新しいテスト版です
ご意見をお待ちします。
紫炎雷 | コメありがとうございます^^ ttp://homepage3.nifty.com/mabinogi/pet_ai_help/って 流星ジョニ一さんのHPですよね?勉強させてもらってます。 なるほど、イベントが起きているわけではないからですか? う~ん・・・ 「呼び出された」っていうイベントがあれば話が早いわけですね? 現状ではどうしようもないか・・・ 自律型ペットAIだから・・・ 主人とペットは別々に行動する・・・ たしか、「主人がスキルを準備する」ってイベントがありましたよねぇ これをトリガーにできませんか? 1.主人がスキルを準備したらIBを2チャ-ジ(戦闘準備) ↓ 2.ペットが相手に認識される or 3.ペットが相手を探す ↓ 4.相手にIB初撃する ↓ 5.IB攻撃の有効/無効判定 a.有効の時、IB仕様継続 b.無効の時、FBに切り替え 6.指定距離まで退避:distance="1200" run="true" timeout="4500" 7.カウンター攻撃: 8.追跡:相手との距離を700~800に保つ(死亡判定兼用) 9.相手にIB次撃する(1チャ-ジ) 10.7~9の繰り返し 11.相手の死亡を確認したら1に戻る ってのはどうでしょう? 10/06/16 00:32 |
流星ジョニ一_tar | U・ω・)最近放置気味のHPですが、役に立てばうれしいです。 「主人がスキルを準備する」イベントを使うと 主人の操作が無いと準備ができないから自律的じゃないかなぁと思ったり… 後、主人が別の敵と戦うときペットの動作に異常が起きるのが怖い所で… そんな感じで自分はう~ん…と断念しました。 まぁ…やってみたら上手くいった!とかあるかもしれないですね。 試してみないことにはなかなか挙動がはっきりしないですからねぇ… 前に自分が考えた最初の起点は 1.ペットが相手を探す-ボルト魔法準備 2.ペットが相手に警戒される-ボルト魔法発射 で、ボルトを準備するまではよかったのですが、 ペットが相手に警戒(認識)はペットが未ターゲットの時のみのイベントで 1のイベントでペットがターゲットを設定すると2のイベントが実行されず、 魔法を準備したのみで発射せずで攻撃されあえなく失敗でした。 まぁ、無難に1.ペットが相手に警戒される-ボルト魔法準備&発射が楽かもですねぇ。 如何にスムーズに安定した魔法カウンターに持ち込むかが難しい… 10/06/16 01:17 |
紫炎雷 | >「主人がスキルを準備する」イベントを使うと 主人の操作が無いと準備ができないから自律的じゃないかなぁと思ったり… いえ、どうせ主人も戦闘スキルを準備するんですから、そんなことはないと思いますw リアルでは通常、戦闘指揮官が「戦闘準備」の下命をして初めて部下の兵達は「戦闘態勢」に入るんですからw。 この線で考えてみようと思います。 10/06/16 01:38 |
痛いネカマ | ネカマちゃんはこの仕様はとっても難しいかなって思うよー>< まず最初のは主人が戦闘スキル準備したらIBチャージでいいとして、 5が不可能なんじゃないかなって思う。 IBが無効っていうのは相手がMR持ってるって意味だと思うけど、 相手がIBをMRで防いだのかディフェンススキルで防いだのかが判断できないと思うー。 しかも、IBをディフェンスされてFBモードに移行したとしても、カウンターをした後FBをチャージする方法がないかも><; 10/06/19 23:17 |
流星ジョニ一_tar | U・ω・)包帯を使ったスキル判定でFBとIBを 主人が切り替えることができるようにすれば… でも、FBカウンターはFBカウンター用に作らないと 詠唱タイミングをカウンター中にやるのが難しいから、 詠唱が間に合わない可能性もありますねぇ… 10/06/20 01:00 |
紫炎雷 | コメありです^^。 現在いろいろと試行錯誤しておりますが、何故かAI編集するときに AI名は表示されてるんですが、ソースが表示されないという現象に見舞われてます、UTF-16LEでもUTF-8でも同じです。 なぜなんだろ? 10/06/20 09:37 |
紫炎雷 | 原因判明しました、構文に誤りがありました。修正して 現在テスト中のものをあげて起きますので、何かお気付きの際はコメよろしくお願いします。 10/06/20 12:42 |
流星ジョニ一_tar | U・ω・)主人のスキル準備で発動イベントの条件がアイスボルトの可否だから 主人待機でペットが戦闘するタイプのAIなのかな? 後、索敵イベントを入れると認識と警戒がほとんどの場合無視されるから 複タゲの危険がありそうな気がする。 5~9の流れがうまく行かなかったからそこは途中なのかな 10/06/20 13:07 |
紫炎雷 | コメありです^^。 >主人待機でペットが戦闘するタイプのAIなのかな? というより、別々に戦闘してより早く終了させようってトコですw >後、索敵イベントを入れると認識と警戒がほとんどの場合無視される これどうにか共存できませんかねぇ^^;例えば索敵イベントの前に空イベントを入れるとか・・・ >5~9の流れがうまく行かなかったからそこは途中なのかな その通りです。 何しろ、AI組むの初めてなもんで・・・^^; 10/06/20 13:46 |
紫炎雷 | むぅ・・・「主人がスキルを準備する」の条件で「すべての攻撃」で戦闘準備するにしてたけど、良くないですねぇ^^;主人がスキルを発動する度に、ペットもつられてしまって攻撃を受けてしまう;;ちょっと考えねば・・・ でも、一番の問題はペットの索敵範囲の狭さみたい;; 10/06/20 19:07 |
紫炎雷 | あ・あれ?まだソースコード欄の修正ができないの直ってないのかな? 10/06/26 20:27 |
流星ジョニ一_tar | U・ω・)ソースが長すぎるとだめかも 10/06/27 00:09 |
紫炎雷 | コメありです^^ 5000文字ってソースコード+説明文? う~ん・・・無理かも;; 自分のHPとかブログもってない人はどうすればイインダァ~ッ!! ;; ソースコードだけでももっと制限を緩和して欲しいなァ;; 10/06/27 12:01 |
紫炎雷 | 私がAIを組み始めて、いろいろテストしている間に気が付いたことが2つ。 1 「イベント」の表題の時勢が間違っていること。すべて過去形にす るべきです。 この「イベント」とは、これから起こる「イベント」ではなく、 すでに実行された状況を表す「イベント」だと思います。 なぜなら、例を挙げると「ペットが相手を攻撃する 」イベント。 <eventname="attack" pet_attackable_skill="***" down="trueもしくはfalse"/> スマッシュとFB以外は指定できないはずです。よって「ペットが 相手を攻撃する 」イベントは誤記、 「ペットが相手を攻撃した 」が正しいと思います。 「SHIFTクリック、もしくはペットに相手を攻撃させるで敵を指定し た場合、 この「イベント」単体では初撃が動作しない」のは、すでに実行さ れた状況を表す「イベント」 だからだと思います。 何か変な表現のような気もしますが、プログラム上のことだからコ レが正解だと思います。 2 ディフェンスやマナリフ等で、攻撃がはじかれている状態。 これ、「イベント」に「ペットの相手が攻撃をはじいた」というの があれば簡単なのですが、 ないので、今あるもので何とかしないといけません。 以前に「きぢゅか」氏が 「ペットがアイスボルトで攻撃する。 ダウン可否:ダウンしない」 のイベントの時に敵の状態は、 「相手の状態がやられて飛ばされ中の場合」 OR 「相手の状態がやられて後退中の場合」 OR 「相手の状態がやられて硬直中の場合」 のどれかに該当するはずです。 実際には、「硬直中」のみになるで しょう。 反対にディフェンス中であれば、上記以外の場合とみなしても問題 なさそうです。 と考察されていますが、私は別の面から考えてみました。 まず「ペットが相手を攻撃する 」イベントの、「down="trueもし くはfalse」という状況選択と、 条件選択」>「相手の状態」での2回の状況選択がなぜ必要なんだ ろうという疑問です。 必ず何か意味が(違い)あるはずだ!と思いました。 というわけで、以下の様に考えました。 10/07/04 13:15 |
紫炎雷 | A.「条件選択」>「相手の状態」ですが、「ペットが相手を攻撃する」 イベントと組み合わせた場合 歩き中 walk ┓ 歩き・走り中 walk, run ┃被弾:当たってはいるけど 止まり中 stop ┃すぐ動ける&動いている状態 歩き・止まり中 walk, stop ┃ 走り中 run ┛ やられて飛ばされ中 blowaway┓ やられて後退中 shoved ┃直撃:すぐ動けない状態 やられて硬直中 hit ┛ そして B.「ペットが相手を攻撃する 」イベント等の「down="trueもしくは false」の「down="true"」は、 「やられて飛ばされ中 blowaway」と「やられて後退中 shoved」 であることは、先人の考察から まず間違いないと思います、「ノックバックした状態」ですね。 もう1つの「down="false"]は、「ノックバックしていない状態」 なんじゃないかと思います。つまり、上の分類を絡めて言うと 「down="true"」はノックバック状態(blowaway&shoved」)で、 「down="false"]は非ノックバック状態(被弾+&hit」) ということで、「きぢゅか」氏の考察+アルファで 「やられて硬直中 hit」+「ディフェンスではじかれた」+ 「マナリフではじかれた」なんだと思います。 というわけで、「ペットの相手が攻撃をはじいた」を表すのは、 「down="false"]非ノックバック 状態&被弾の方じゃないでしょうか? 10/07/04 13:29 |
紫炎雷 | 等隔フォントじゃないのか;; ずれて見難くなってごめんなさい。 10/07/04 13:32 |
痛いネカマ | 難しいこと言われてもよくわかんないですぅ><; down=false は確かにダウンもノックバックもしてない状態だから、 相手が硬直中かディフェンスした場合っていうのは合ってる! でも残念ながら、この状態は「相手が歩き中」でも「止まり中」でもないんだよねぇ・・・ ちなみに、相手が攻撃をはじいた判断は昔ネカマちゃん載せたと思うよー! 暇だったら探してみて☆キャピ 10/07/05 23:23 |
紫炎雷 | コメありです^^。 ペットAI小技 その2@きぢゅか 07/01/29, 22:33 小技「~でないなら」条件判断@痛いネカマ 09/10/24, 21:55 ですよね? 存じております。難度かこの手法を使ってテストもしましたが、私のAIとは相性が悪いらしく、うまくいかないので棚上げしてます。 おそらく次のルールと被ってしまうんでしょう。 <rule name="死亡確認(down)+索敵等へ"> <conditions> <condition name="skill_preparable" pet_skill="icebolt"/> </conditions> <pattern> <param_decl/> <sequence> <cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="500"/> <cmd name="wait" min="5000" max="5000"/> <cmd name="prepare_skill" pet_skill="defence" try_cnt="0" timeout="500"/> <cmd name="chase" chase_target="enemy" timeout="4000" run="true"/> <cmd name="wait" min="5000" max="5000"/> <cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="500"/> <cmd name="cancel_skill"/> </sequence> <event name="attack" pet_attackable_skill="all" down="true"/> </rule> 10/07/06 13:09 |
紫炎雷 | コレ見ての通り相手がノックバックしたら、カウンターを準備して 5秒間待機後、ディフェンスを準備しつつ、相手を5秒間追跡して 時間が過ぎるか、相手の位置に到達したら、その場にカウンターを 準備しつつ5秒間待機後帰還、というルールです。 相手が死亡する時、大抵「blowaway」するのを利用して、相手の位置まで死亡の確認しに行き、その場で5秒間カウンター待機して発見 されるか、索敵に引っかかるのを待ってから帰還する命令です。 コレではなく、空命令での暴走防止では、相手を吹き飛ばした位置で自分を中心とした、半径約8mまでしか探知できませんが、私のだと さらに奥の位置(相手が吹き飛んで着地した位置)で探知を開始 できます。さらに5秒間カウンター待機することで、わざと発見 されることも期待してるわけですw また、「相手の周りをぐるぐる回る」でも同じようなことができますが、フィールドでペットの位置が遠いと、いちいちワープして戻ってきて、またいそいそとぐるぐるしにもどって行きますw また、ぐるぐるしてる間は、発見されても索敵しても、攻撃には 行けないので採用しませんでした。 もっとも、このルールの入ったAI自体が、まだテスト中で問題が残っていて、試行錯誤中なんですけどねぇ^^; 10/07/06 13:11 |
紫炎雷 | どなたか、5000文字以上のソースコードを載せられる方法をご存知の方いらっしゃいましたら、教えてください。 よろしくお願いいたします。 10/07/06 18:06 |
カセトノテ改 | 本文にコピペすればいい 10/09/22 13:40 |
Alma | ブログを立ち上げるか、それ専用の文字数制限が緩いまたは無い登録型無料掲示板を設立するか、アップローダーにファイル化してアップするとか。 考えればいろいろあると思いますが。 10/07/06 19:18 |
紫炎雷 | なるほど、ありがとうございました。 10/07/07 21:19 |
件名 | 名前 | 日付 | 閲覧数 | 投票数 | |||
+4 | 痛いネカマ | 2010/07/05 | 6306 | 0 | |||
+5 | 流星ジョ二一 | 2010/07/10 | 12320 | 0 | |||
+24 | 紫炎雷 | 2010/06/15 | 14771 | 0 | |||
+6 | 紫炎雷 | 2010/07/07 | 6834 | 0 | |||
fafner_rua | 2010/05/21 | 17103 | 0 | ||||
痛いネカマ | 2010/05/11 | 14352 | 2 | ||||
はぐみぃ | 2010/05/03 | 11112 | 0 | ||||
痛いネカマ | 2010/05/01 | 11660 | 0 | ||||
+1 | ネコ人 | 2010/04/30 | 6140 | 0 | |||
+2 | 優璃_cic | 2010/04/19 | 9620 | 0 | |||
+1 | ねおはいど | 2010/04/18 | 20887 | 0 | |||
桃やん | 2010/04/11 | 10887 | 0 | ||||
トゥリム_mar | 2010/04/09 | 6288 | 0 | ||||
桃やん | 2010/04/09 | 11454 | 0 | ||||
麗兎 | 2010/04/09 | 21890 | 0 | ||||
冬椛 | 2010/04/07 | 6930 | 0 | ||||
+14 | 流星ジョ二一 | 2010/04/04 | 30070 | 23 | |||
+1 | トゥリム_mar | 2010/03/29 | 7409 | 1 | |||
+1 | ねおはいど | 2010/03/28 | 9460 | 1 | |||
+2 | 逢魔弐式 | 2010/03/27 | 11022 | 0 |
初期の初期
1.呼び出されたらIBを2チャ-ジ
を発生させるイベントが難しいんですよねぇ
最初のチャージを発生させるのによさそうなのは
2.ペットが相手に認識される
3.ペットが相手を探す
この二つのイベントですが、2のイベントでチャージするとチャージの時間がかかるという。
また、3のイベントを用いると複タゲの危険性が。
ほんとに1をなんとかできれば… 10/06/15 23:35