トゥリム式ver2007-3-11(アイスカウンター) |
トゥリム_mar | 07/03/11 19:08 |
ソースコードはこちら
http://www.geocities.co.jp/Playtown/4940/petto-ai004.txt
前回との変更点
ファイナルヒットで一緒に攻撃するのをもうちょっとスムーズに行えるように変更
アイスアタックからアイスカウンターに戦術を変更
今回はAIをアイスカウンターにしました こうする事により
アイスボルトかライトニングボルトのどちらか そしてカウンターアタックを持つ
ほぼ全種類のペットにこのAIを適用できるようになりました
でもアイスアタックの方が向いているペットがいるので
そういうのには画像を参照してAIをちょちょっと変更してもらえたらと思います
アイスアタックに向いているペット
熊、ハリネズミ、スパニエル、牛、ヌー、狐、フェレット、馬で
なおかつ 転生などでアイスボルトかライトニングボルトを使えるようになっている
(スパニエル、牛、ヌー、馬の場合は 転生必須)
弱点
パッシブディフェンス苦手
スタミナ消費しまくる
アイスボルトかライトニングボルト それからカウンターアタックが必須
タゲ云々にかかわらず魔法か弓準備した敵を攻撃するので多タゲになりやすい
自分が休憩したらペットも休憩してしまう(これはデフォルト行動のようで回避不可)
基本動作
初撃アタック
アタック→ノックバックしたらカウンター
カウンター→生きてたらアイスかライトニング
→死んでたらカウンター
アイスかライトニング→当てて硬直したらカウンター(アイスアタックの場合ここでアタック)
→ディフェンスされたらディフェンスしながら後退
→ダウンか死亡したらカウンター
ディフェンス→アタック
ダメージを受けたがダウンさせられなかった場合
アタックだったらアタック
遠距離全般にはカウンター
アロリボだったらディフェンス
敵だけ吹っ飛んだらカウンター
ダウンさせられたら
カウンター準備
相手が魔法準備したら
アタックで妨害
相手が遠距離準備したら
まず逃げて アイスかライトニング詠唱し 追って撃つ
どこにいってもオールマイティに活躍できるように
何より自分のタゲを死守できるようなAIにしています
なのでやはり多タゲのダンジョンで活躍が見込まれます
でも みんなの意見も欲しかったりします
特にシフトクリックによる命令の詳細について!
(シフトクリックした後飼い主がスキルキャンセルを命令する事によって正常な動きになります)
ゼホ | ども、最近AIサボり中だったりします|ω・`) シフトクリックですが、ペットに「相手がダウンするまで近接攻撃」の命令を出している気がします。 しかし敵からの距離が離れていると、途中で「ペットがターゲット中」のイベントが割り込んでしまうようです。 暴走防止の「ターゲット中→相手を待つ」を入れたときに、途中で止まってしまうのはこのためです。 07/03/12 17:06 |
トゥリム_mar | 意見どもです しかし・・・ どうも違うようです 僕のAIでは シフトクリックした時→相手を通常攻撃→生きてたら通常攻撃→その通常攻撃も成功したらカウンター →死んでたらカウンター らしいのです これは距離関係ありません AIが正常に動作していれば「アタックからカウンター」の項目で カウンターに以降するはずですので 一瞬ですが AIがシフトクリックによって無効化されている と考えたわけです 勿論ターゲット中の条件分岐も同じことがいえます 07/03/12 20:28 |
カセトノテ_tri | あるあr・・・僕のでもそうですね。黒マング用でアタックの後はディフェンスのAIなんですがアタック→アタックで反撃喰らってからAI通りに。ペットはシロクマです。 07/03/12 21:07 |
しまねこ_tri | 横から失礼。 Shift+クリックでの戦闘開始は、AIとは別の命令がされおり、その命令が終了 するか「ペットがターゲット中の相手が居る(以下継続と表記)」のイベントが 割り込むまで処理を続けるようです。 なので、敵に攻撃をする前に継続のイベントが発生した場合、その処理が実行 されてしまいますね。 このShift+クリックからの命令で相手への攻撃が成功し、初めて発生するイベント はもしかしたら継続のイベントかもしれません。体感であり、確認はしてませんが。 以前他の方がこちらに小技として書かれていた「ターゲット中の相手が居る⇒攻撃 されて吹き飛んでいる」「ターゲット中の相手がいる⇒攻撃されて後退している」 のイベントにカウンターやディフェンスを指定すると、そのとおり動きます。 私の作成したAIでは、Shift+クリックからでも今のところ理想どおりの動きをして くれていますので、よろしかったら覗いてみてください。 http://sund1.sakura.ne.jp/uploader/source/up3252.xml 07/03/13 00:15 |
ゼホ | 少し検証してきました|ω-)。o○寝かけてますが頑張ります アタックでダウンした後もカウンターをせず、アタックに行ってしまいますね…(・ω・`) 結果から言いますと、『アタックからアタック』のAIを削除したら解決しました。 どうやら、「相手に近接攻撃(ダウンしない)→相手に近接攻撃(制限時間無し)/スキル準備(カウンター)」が邪魔をしていたようです。 アタックでダウンしないとこのAIが作動し、一定時間はアタックし続ける・・という一種のバーサークモードになっていたようです。 ちなみに、『アタックからアタック』に「相手に近接攻撃の制限時間を0.5秒、カウンター準備を消去。」←このような変更を加えてみたところ、アタックでダウン後0.5秒は何もせず、0.5秒後にカウンターを準備しました。 このことから、イベント「相手に近接攻撃(ダウンしない)」は、同イベント「相手に近接攻撃(ダウンする)」にも影響を与えているようですね・・ 以降のAI作成では注意が必要なようです(・ω・`) 以上、長文失礼しました。 07/03/13 04:37 |
ゼホ | ↓の自レスに返信出来ないようなので、順番が逆になってしまいますがこちらに・・ しまねこさんのレスを参考に訂正を|ω・`) 解決方法は合っていますが、下の理由だとスキルキャンセルでの正常化が説明できないですね… >Shift+クリックでの戦闘開始は、AIとは別の命令がされおり、その命令が終了するか「ペットが ターゲット中の相手が居る」のイベントが割り込むまで処理を続けるようです。 この法則に従えば、下で示した理由ではなく、『アタックからアタック』を削除したことにより、 『ターゲットアタックコントロール』が割り込めるようになった。…と考える方が正しいようです。 「ペットが相手に攻撃」のイベントは「ターゲット中」のイベントよりも優先度が高いので、今ま で割り込めなかった可能性が高いです。 スキルキャンセルでの正常化ですが、スキルキャンセルを行うと、スキルをキャンセルした後に、 「ペットがターゲット中~」のイベントを行うようです。 これによって、『ターゲットアタックコントロール』の規則が割り込んで正常化していたのだと思 います。 07/03/13 05:54 |
トゥリム_mar | 僕が寝てる間に激論が繰り広げられていたようで嬉しいやら恥ずかしいヤラ 「アタックからアタック」を削除したら 本当に正常に動くようになりました 全く問題ありません そもそもなんで「アタックからアタック」を加えたのかというと アタック3打を途中でやめてしまう心配があったからです でも もうそんなことは起こらないようですね ゼホ氏にはかなわんねー 他人のAIなのにこんなにすぐ欠点を見破るトハ ただもんじゃないね 07/03/13 16:10 |
アルメディア_cic | アタックからアタックに相手が硬直中が抜けてるからじゃないですか? アタック3打を途中でやめてしまう場合の対応ならばなおさらかと 硬直中をいれてあげるだけでシフトクリックで殴りにいきましたよ 07/03/14 19:19 |
トゥリム_mar | そりゃ殴りに行きますよ でもその後カウンターしてくれませんよ たとえ「相手の状態がやられて硬直中」だったとしてもね 07/03/14 23:54 |
トゥリム_mar | 自分の文面 なんかおかしいな・・・ とにかく アルメディアさんの提案では状況改善しないということです 07/03/15 00:01 |
アルメディア_cic | ごめんなさい、勘違いしてました ターゲットアタックコントロールがあるからアタックからアタックはいらないでした でも気になったのがカウンタを準備してまた準備してる間にカウンタが間に合わないっていうのが多かったです みたらいたるところにカウンタがいれてありましたが、整理したほうが良いと思います とくに、相手が認識硬直でカウンタは 相手が認識 硬直中 後退中→なにもなしにしてそれより上の行にあるカウンタ準備にまかせないと 殴ったときに認識されたのが残ってカウンタを重複させちゃうみたいです 07/03/15 05:11 |
トゥリム_mar | >カウンタを準備してまた準備してる間にカウンタが間に合わないっていうのが多かったです これは「いままで戦ってた相手がカウンターで死んだ後すぐ別の敵に 警戒されて直後アタックを受けた場合間に合わない」というやつですな これについては次回に回避プログラム作ってみます 今までシフトクリックに全神経を集中していたので後回しにしてました >みたらいたるところにカウンタがいれてありましたが、整理したほうが良いと思います ちゃんと意味があります こうすることにより誰かが横槍を入れたときにカウンターを使い プレイヤーの攻撃を邪魔せずに様子見してくれるのです >とくに、相手が認識硬直でカウンタは 相手が認識 硬直中 後退中→なにもなしにしてそれより上の行にあるカウンタ準備にまかせないと 殴ったときに認識されたのが残ってカウンタを重複させちゃうみたいです 認識硬直? これは「相手の状態がやられて後退中の場合」なんですが・・・ 問題は起こらないはずです もう一度確認してみてください 07/03/15 14:27 |
トゥリム_mar | アルメディアさんの言いたい事がわかりました カウンターはターゲット中イベントで一挙にやったほうがいいということですな? ちょっと検討してみます 07/03/15 15:30 |
アルメディア_cic | 毎度説明が下手でごめんなさい 一秒とか短い時間にイベントが重なると、最初のカウンタするはずがアタックしちゃうとか、カウンタを準備中にカウンタを準備しなおしちゃったりするんです 例をあげるとシフトクリックでアタックするとアタック中に認識されてカウンタを準備する、けどアタックで後退させてるからまたカウンタを準備する カウンタ準備に2秒必要だけど完全に準備が終わる前にもう一度カウンタを準備しようとするので上書き状態になってカウンタキャンセルカウンタみたいな状態になって間に合わないんです 短時間にイベントが重ならないようにしないとこゆ不具合がでます 07/03/15 16:32 |
トゥリム_mar | 言う事はわかりましたが・・・こりゃ骨だね 1から組みなおさないとダメかもしれない カウンター準備を早め なおかつ今までの戦術を維持するには AI設計を根本から見直さなくてはなりませんな・・・ まぁ こうご期待ということで 07/03/15 18:38 |
件名 | 名前 | 日付 | 閲覧数 | 投票数 | |||
+4 | 怪盗姉御 | 2007/04/06 | 14639 | 10 | |||
+9 | ALFES | 2007/04/04 | 14583 | 6 | |||
+9 | リサーファ | 2007/04/03 | 12372 | 1 | |||
+2 | トゥリム_mar | 2007/03/31 | 6189 | 0 | |||
ALFES | 2007/03/30 | 8880 | 0 | ||||
+1 | ソーン_tar | 2007/03/28 | 6972 | 0 | |||
+1 | チュシャ_tar | 2007/03/28 | 15615 | 2 | |||
+9 | rumor_tar | 2007/03/27 | 12012 | 4 | |||
+1 | ALFES | 2007/03/27 | 6205 | 2 | |||
ALFES | 2007/03/19 | 7076 | 0 | ||||
+11 | カセトノテ_tri | 2007/03/18 | 9594 | 2 | |||
+10 | ヌエ_mor | 2007/03/17 | 9692 | 0 | |||
+32 | 宵待月_mor | 2007/03/13 | 25933 | 1 | |||
+15 | トゥリム_mar | 2007/03/11 | 6091 | 0 | |||
+7 | 葉穏 | 2007/03/10 | 9531 | 0 | |||
+1 | トゥリム_mar | 2007/03/08 | 4458 | 0 | |||
紺野七海 | 2007/03/04 | 10375 | 0 | ||||
+3 | Gustaf_rua | 2007/03/04 | 9125 | 2 | |||
+1 | ALFES | 2007/03/01 | 29878 | 10 | |||
カセトノテ_tri | 2007/03/01 | 9909 | 0 |