fc2ブログ

小悪魔(天則)更新

小悪魔(天則)更新です。
バグ取りと、AI調整および、弾幕判定ロジックを見直しました。

弾幕判定ロジックは、nnsさんの記述をお借りして、
実装済みのAI管理ヘルパーに少し形をかえて組み込んであります。

技が増えたり、判定ロジックがかわったので、
しばらくは様子見ながらAIの調整やってこうかと思います。


(1/27追記 AIにちょっとバグあったので、夜に一度更新します。  
  ⇒ 小悪魔再UPしました。お手数ですが再DLお願いします。)

-------------------------------
以下、雑談。


たまにはAIの技術的な話でもだらだらと書いときます。


今回、小悪魔にデッキモードのAIを搭載しましたが、
実をいうと以前のverからカード使用の記述は実装済みでした。

未実装だったのはその一部「カード入れ替えを思考するためのロジック」です。

今回、ちょいと手間をかけて記述の拡張性を考慮した手段で実装しています。


小悪魔ではロジカルな処理を行うとき、各々のカードに対して
以下のような通し番号を使って管理しています

; ☆スペルカード
;15 = コスト1:夜符「デーモンキングクレイドル」
;16 = コスト1:弾符「インターセプト・トゥーレイド」
;17 = コスト1:戯曲「ファウストの下僕たち」
;18 = コスト2:絵本「黒と白のグリモワール」
;19 = コスト2:月符「サイレントセレナ Verβ」
;20 = コスト3:煉符「イモータルレイド」
(長いので省略)

今回の「カード入替」は、
上の管理番号を横に4つ並べた番号を判定用の変数として使用し、
1~5枚目のカードに欲しいカードが無いか探すロジックを組んでみました。

例えば、以下の優先順序をつけて使用したいとします
①イモータルレイド、②黒と白のグリモワール、③デーモンキングクレイドル、④ファウストの下僕たち

この場合、管理番号は「①20、②18、③15、④17」となり、
判定用変数は「20181517」となります。

あとは判定用変数から、1~5枚目に欲しいカードが無いか探し、
必要があれば入れ替えを実行します。


ここまで組んでおけば、
特定の条件(相手が攻撃中、ダメージ状態など)にあわせて、
この判定用変数を書き換えれば、勝手に入替を行わせることが出来るので
他キャラにも流用できるというわけですね。


まだまだいじれそうな部分はあるので、ちょいちょい改修してこうかと思ってます。
(正直、bit演算ならもっと楽に出来た気がしますけど、検証めんどくさかったのでやめました)

これでやっと、妹紅AIにもデッキ有りのモードでのAIを実装できそうです。



スポンサーサイト



テーマ : mugen
ジャンル : ゲーム

コメント

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: No title

報告有難うございます。

フライングについてですが、結論から言いますと
発生は確認できませんでした。
※1.000verも0.990ver以前から起動記述は変えていません。

フライング現象の原因は、ラウンドコールが、
ラウンド開始前(RoundState=1)ではなく、
ラウンド開始後(RoundState=2)に行われるためと認識しています。

このとき、ラウンドコールが終了するまでは、
本体が制御可能(ctrl=1)にならず、タイムラグが発生します。

このタイムラグがフライングの原因と思っています。


念のため、対策記述も再確認しました。
現在、AIを起動すると、まず待機状態にするようにしてあります。
起動待機から起動する条件は、「RoundState=2」かつ 「Ctrl=1」のため、
おそらく問題ないかと考えています。

同様の対策をとられているキャラでは発生せず、
小悪魔だけで発生するようでしたら申し訳ないですが再度ご連絡ください。

※アドオン側で、本体制御可能(Ctrl=1)にするタイミングがバラバラなので、
ひょっとしたら、その辺かもしれませんね。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: No title

すみません、完全にこちらのミスでした。

もう1回念入りに調べたところ、一箇所とんでもない記述ミスがあって、
それが原因になってました。

修正後のファイルはこの後あげますので、お確かめください。

No title

すいません。本体更新のことは知っていたのですが
なぜか急に我慢できなくなったというか
本当にすみません。魔がさしました。

お手を煩わせてすいませんでした。
失礼します。

No title

更新お疲れ様です

こちらの環境ではまだまだフライングしますねぇ
AIの挙動制御のためかCtrl = 0でも動けるようにしてるのが原因ですね
正直この手法はフライングの温床なのであんまり使うべきでは無いと思ったり
挙動を制御したいなら歩き・しゃがみ・ジャンプ辺りのステートの方を弄って
AIの意図しない動きに対してニュートラルに戻る処理を追加するとかでしょうか

まぁ、それ抜きでも強いですねぇw
うちのキャラみんなボコられましたw
完全無敵な回避結界が超強いです

Re: No title

>nnsさん
ありがとうございますー
まだまだ何か対策は必要ですね。

Ctrl = 0でも動けるようにしてある理由は、
実はAIの挙動制御ではなく、ニュートラルアニメを途中で止めないためです。
意図しない動きに対してニュートラルに戻る処理を繰り返すと、
アニメが途中でとまって悲しい気分になるので、現在の仕様にしています。

他の手段があればそれにしたいところですが・・・。

回避結界の仕様にも大分迷いましたが、
グレイズのみのものだと、MUGENではあまり使用する機会がなさそうだと思い、
無敵にしてあります。

小悪魔のデッキなしは、完全にアッパー調整なので、
性能によるところが大きいと思ってますw

小悪魔のAIの完成度は、まだまだいまいちな気がしてならないです
きっとnnsさんが作れば、もっと強く・・・。

No title

アニメを途中で止めたくなければStatedefでのアニメ指定を消して
Time = 0のChangeAnimで指定してやればいいですよ
ChangeAnimの前にChangeStateでニュートラルに戻してやれば
見た目的には問題なくなると思います
というか自分のAIがそんな感じで制御してますね

回避結界はグレイズの判断さえ出来れば結構使えるんですがねぇ
難しい所ではあります

Re: No title

まるまる以前の記述を残しておいたおかげか、ctrl=0の記述はずすだけであっさり、
目的を果たせました…なぜ気づかなかったのだろう…

週末に更新することにします。
ありがとうございます!

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: No title

ご報告ありがとうございます。

教えて頂いたバグなどあらかた対処できましたが、
以下2つだけ、MUGENの仕様も絡み、本体仕様を見直しかけないとうまくいかなそうなので
対策考え中です。ずっと対策を講じているものの、妙案が無い状態です。


> ●キャラ仕様関連
> ・【環境設定】で初期デッキ選択を「怒」「哀」「楽」のいずれかに指定を行っても、
>  watchモードで選択すると「喜」がほぼ必ず初期デッキとして選択されてしまう。

> ●AI関連
> ・デッキ使用モードにて時折スキルカード?発動後、スキルカード表記がおかしくなる。

なお「little world.」はお察し通り隠し技扱いで、普通はプレイヤーが使わないことを想定してます。
使用できないわけではないですが・・・。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
プロフィール

そむE

Author:そむE
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
ダウンロードはこちら
【MUGEN製作物】
▼小悪魔(天則ver)(東方Project)
Ver1.020(2013/02/17更新)
 
▼小悪魔(東方Project)
Ver1.040(2011/03/21更新)
 
▼小悪魔 外部AI
ヒモ氏AI置場
切干氏AI置場
ネオネオ氏AI置場
 
▼大妖精(Arima氏製作)AI
2012.02.27版対応
(2012/07/31更新)

 
▼聖白蓮(ごましお氏製作)AI
2012.03.01版対応
(2012/07/27更新)

 
▼藤原妹紅(イス氏製作)AI
2013.02.06版対応
(2012/02/17更新)

 
▼紅美鈴(ふるれ氏製作)AI
2011.07.23版対応
(2011/07/26更新)

 
▼森近霖之助(KON氏製作)AI
(公開停止中)
 
▼稗田阿求(代理公開:寝猫氏製作)
(2012/05/20更新)
 
MUGEN関連のリンク
カテゴリ
月別アーカイブ
検索フォーム
RSSリンクの表示
QRコード
QRコード
ブログ管理