ホムンクルスAIについての独り言
[ラグナロクオンライン]のホムンクルスシステムで使用する ホムンクルスAIのカスタマイズについてのメモ
プロフィール

モルティシア

Author:モルティシア
何時の間にやら貧乏キャラが定着しそのまま「安ケミ」と呼ばれるようになった「安っぽいケミ」
一時休止していたものの、最近ふたたびホムンクルスのカスタムAIの開発&公開を再開
メマー無しPC3の42転職
[完全製薬・完全露店]キャラ

カテゴリー

月別アーカイブ

最近の記事

最近のコメント

最近のトラックバック

ブロとも申請フォーム

この人とブロともになる

リンク

このブログをリンクに追加する

ブログ内検索

RSSフィード

FC2カウンター

メールフォーム

名前:
メール:
件名:
本文:

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Ver7 の微調整
Ver7が大体完成したということで、各機能の調整を行っています

一番調整に時間がかかりそうなのがおまけ機能の部分

以下Ver7のネタバレと調整のためのメモ
[続きを読む...]
スポンサーサイト
ホム命令ライブラリの改良完了
ホム命令ライブラリ version 0.32b (2006/08/30)
の完成です
動作確認を行い、二つのファイルへの出力が正常に行われることも確認

あとは、中身があちこちからコピペした名残で変数名やら関数名やらがめちゃくちゃなのでこれらを統一してすっきりさせ、処理の中で削れそうな部分を極力削ってスマートにする作業だけです

さてさて、どこまで綺麗にできるかな~?

Ver7について、完成度は90%って所です
基本的な部分は大体完成しました
あとは、コードの整理でしょうか

多分9月には公開できるんじゃないかな!
第三の壁
第二の壁はLoadIniの
for k, v in string.gfind(line, "([_%w]+)[%s]-=[%s]-([:,_%-%w]+)") do

for k, v in string.gfind(line, "([_%w]+)[%s]-=[%s]-([:,_%-%/%.%w]+)") do
と追記することで解決

苦労の割に簡単な方法で解決しちゃいました
('A`)

ヒントになったのはPHPについて語られている掲示板のログ
疲れがどっと出てくるので以降は触れたくないです
・゚・(ノД`)・゚・

この検索漁りのお陰で[([_%w]+)[%s]-=[%s]-([:,_%-%/%.%w]+)]の意味が大体わかってきたので痛み分けということにしたいです

その次に、LoadIniで読み込んだテーブルのキーが数字ではなく文字として入ってることが発覚
現在LoadIniで読み込んだテーブルのキーを数字に変換する処理をどうするかで四苦八苦中

テーブルのキーって何て名前だっけか・・・
あ"~・・・、思い出せそうで思い出せなくてきもちわるい
変数でもないし引数でもないし・・・この処理が一段楽したら調べてこよっと・・・

3/30 22時
そうだ!テーブルのキーは"添字"だ!
冬物語の人ありがとうございます
第二の壁
改造版 ホム命令ライブラリ2の改造具合ですが、出てきた細かいバグをちょこちょこ潰していって今第二の壁に!?
ダミーを保存、など追加部分はちゃんと動いてるのだけど、基本的な部分に関して内包していたバグが発覚

次に保存する予定の新しいファイル名 を外部iniで管理してるのだけど、これを読み込ませるときにズレが発生中

1 = NoFile
2 = AI/USER_AI/talksave_2.txt

というiniを読ませた内容をテーブルに保存して、そのテーブルを出力すると・・・
↓↓
1 = NoFile
2 = AI

(´゚ω゚):;*.
ちょwwっをまwwwww

"/"以降が読めてNEEEEEEEEEEE!?

ということでネットで検索しつつ、既存のLoadIniだと上記のエラーが出るためLoadIni2を作成中

ううむ、奥が深い


追記:調べてみると、ファイル名に使えない文字は基本的に扱えないらしい・・・
なんとかしてスラッシュを認識できないものだろうかと画策中
(´゚ω゚):;*.ブッ
睡眠は大事だとおもいました まる

摩訶不思議バグの原因が判明、これでこの処理のバグ取りと動作確認を先に進ませることが出来ます

AIが動いた最初に、セーブチャットの代わりの機能のためのファイル更新のために一回処理まわしてたのだけど、そこでの関数呼び出しだけ変数の受け渡しを新しい処理用に更新してなかった!

以下ソースのコピペとバグの簡単な解説
[続きを読む...]
摩訶不思議バグ
ホム命令ライブラリの改良版をさらに改良して汎用性を高めるのを狙ったもの、動作テストをしてみたところ不思議なバグが発覚

まず内部で使っているカウンタを出力した次の内容を見て欲しい

--
check date 2006/08/30 05:31:26
0 = [コールホム直前]
check date 2006/08/30 05:31:26
0 = [最初]
check date 2006/08/30 05:31:26
0 = [確認前]
check date 2006/08/30 05:31:26
0 = [確認後]
check date 2006/08/30 05:31:26
1 = [ナンバー更新後]
check date 2006/08/30 05:31:26
1 = [ファイル名更新後]
check date 2006/08/30 05:31:26
1 = [記録ファイル更新後]
check date 2006/08/30 05:31:26
1 = [talkfilecount]
check date 2006/08/30 05:31:26
1 = [コールホム直後]
check date 2006/08/30 05:31:26
./AI/USER_AI/savechattxt.ini = [確認前]

--

カウンタに何時の間にかファイル名が入っている
これを知った時の気持ちは
(´゚ω゚):;*.ブッ

どこでこのセーブ先のファイル名が混入したのか探したものの、この処理でカウンタとこのファイル名が同時に利用される部分は皆無
あちこちでこのカウンタを出力させてカウンタの中身を追跡したのだけど、
AIが一回もまわってないのにこの処理だけ2週目に入ってるっぽい
どこかで変なループになってる

そもそもどこでこんなことになったのか・・・
思い当たる原因は多分、同じ名前のローカル変数を使いまわしてるためにどこかでの関数移動でメモリあたりが混線したんじゃないかなと・・・

ともかく四苦八苦しながら直してみるしか無さそうです
現時点での私のAI開発環境
ちょっとおさらいしてみます

まず、PCは三年くらい前に液晶モニタとOS抜きで6~7万くらいで自作したやつのグラボをプチパワーアップさせたやつ
CPU:AMDデューロン1.6Ghz
メモリ:768MB
OS:Windows ME
グラボ:FX534

回線は光

あとケミとホムのキャラスペック
ケミはBaseLv63、JobLv34
Str:5+4
Agi:15+2
Vit:7+2
Int:42+6
Dex:60+10
Luk:40

ちなみにこのケミ、キャラ作ってからもう2年は過ぎてます
確かさすらいの道化達を立ち上げる前の3月あたりに作ったはず
今思うと1stキャラ作ったのが3年半くらい前、ROはルティエ実装直後からやり始めました
時の流れとは早いものです

通常装備が
花のかんざし
+6オーキッシュソード
スキルフルメントル
反撃のバックラー
マフラー
+4回復のサンダル
ロザリー(たまにヒールクリップ)
ロザリー(たまにテレポートクリップ)

狩り装備だと
+5インソムニアックゴーグル
+6ダブルハリケーンダマスカス
+6ハードロングコート
+4リジットバックラー
+5イミューンマフラー
+4ライトブーツ
ヒールクリップ
テレポートクリップ

ホムがLv28で
HP:2654
SP:98
Atk:130
Matk:106
Hit:65
Cri:15
Def:45
Mdef:10
Flee:69
Aspr:143
↓ホム計算機にかけると
Str:33
Agi:41
Vit:36
Int:42
Dex:37
Luk:42

装備抜きだと明らかに主人よりホムの方が強いです
しかも3月のホム実装当日からゼリー育てていて未だにLv28です

そんな状態でクルーザーなんか狩れる筈も無く、
ホムを育てる時はサンドマンかメタリンです
普段はサンドマンを4匹ほど集めた後ジオを召還して計三人でボカスカ殴ります
サンドマン4匹につきジオ一匹召還、その後ジオが消えるまで休憩
これが今のところ最も効率が出るソロ狩りです
メタリンは正直ホムの方がAtk高いのでジョブとか色々吸われて辛いです
ジオをジオで狩るという荒業も教えてもらいましたが、これはどうも
ジオの密集度や食人花のドロップなど運の要素が高く私には無理でした
(赤字なうえにサンドマンより不味かった ・゚・(ノД`)・゚・)

ちなみにPC3でメマー無し
露店Lv7にDC10、OC10、の完全露店スキルでステは完全製薬です

このケミでホムを使うという前提が基準となってしまっています

はっ・・・!?
ということはこの安っぽいAIは 製薬ケミのための AIなのかっ!?

※ちなみにPC買ったばかりの頃は
CPU:AMDデューロン1.6Ghz
メモリ:768MB
OS:Windows ME
グラボ:MX440

これでROやってました
MX440・・・三年前に5千円で買ったグラボ!
こんなやっすいのでも十分動いてるROに恐ろしいものを感じます
ちなみにGVやるようになってからグラボをプチパワーアップさせました
エフェクト入れててもそんなに酷くはないです
さてさてこんなそんなで設置完了
[AI関連BBs]の[安っぽいAIについて作成者の独り言]のログの移動完了

ここって書き込みに対して携帯にメールいくように設定できるのかな?
アメーバしか使ったことないからよく分からないので暫くブログの設定をいじりいじり

AIに関しては、ここ二日間はVer7で実装予定の隠しな超蛇足機能のためのコード書きとバイトでほぼ時間が潰れております
コード自体は難しくないんだけども、AIでホムの感情を表現、ってやつの第一歩みたいなものなので
コードは難しくないんだけど、条件の数と出力パターンの数がもう多くて多くて
これでも結構絞ったんだけどねぇ・・・(;´д`)

ついでに冬物語の人配布の[ホム命令ライブラリVer0.3]の改良版にくっつけた、保存ファイルを自動生成するコードをちょこっと機能追加して複数のファイル名に対応できるように改造
これらのコードは冬物語の人が配布している[データ入出力ライブラリVer1.3]と[ホム命令ライブラリVer0.3]のコードを応用したものなので簡単なつくりです
これらの原型になった上記の二つのライブラリが無かったら私の力では作れなかった代物です
冬物語の人に感謝感謝
m(_ _)m

多分今日の昼にはこの隠し要素も完成し、軽く寝た後バイトいって帰ってきて・・・
多分30日には動作テストできるよ!

あとなんか、数名の有志がオートスキル関係のとこの動作確認と動作の具合を見てくれるらしいので彼らのレポートに期待
ほんと、バニル以外はどう動いてるのか分からんのです
|||orz

机上での動きと実際の動きって大抵ズレがありますから・・・
特に一番不安なのがキャスリング
逃亡処理のをコピペしてるから、一応Mobの塊からは逃げてくれるんじゃないかと思うんだけど

今までにも何度かコードを改めて見直しては細かいバグみつけて取ってきたので、Ver6.4にもなってくればさすがに、リーフも羊も鳥も、オートスキルは動いてる・・・と思うんだけど
・゚・(ノД`)・゚・

Ver7、過去の独り言を見ると言ってたものとあちこち違うものになりそうですが(笑
ともかく9月上旬中には公開できそうな予感

9/1のラグドリ2で多分ダンス機能のお披露目があるよ!?

Ragna★Dream2
ライブラリ配布サイトについて、訂正
寝る前にライブラリ配布サイトを見てみると

>当サイトのホムンクルス用ライブラリ(拡張子がluaの物)に関しては
>改変の無い原型のままの場合に限り、下記例を参考に使用の記載をお願いします。
>アレンジ等、改変された場合はこの限りではありませんが、
>改変されている事が分かる様にお願いします。

いつのまにか利用条件が変わってた!!(*ノノ)

ちょっぴりやる気が出てきましたYO
(* ゜∀゜)=3 
ムハー

妄想広げまくりでこの広げた風呂敷どうやっておさめようかといった状況ですが
考えないことにして妄想しまくって机上であれこれ構造を組み立てて見ます(笑

超独り言、雑談チックな妄言
AIの話ばかりでも飽きるのでちょっと雑談
>そんなわけでどきどきAIは効率よりもホムを愛でたい人向けです。ご理解ください。
どきどきさんのところにあった一文を見て自分はどんな人向け用なんだろうかとちょっと考えてみました
私がAIに求める理想形はなんだろう?
そう思ってみるとどうやら「パートナー」の様です
機械的なパートナーではなく、もうちょっと有機的な支え合いのあるパートナー
互いに理解しあった時に発揮される信頼とコンビネーション!(ノ'ヮ')ノ
ホムから意思を伝える手段が少ないのでやや主人が主導権を握ってしまいますが、お互い邪魔にならない程度に自由に動くというのが理想です

最終的にどのような形にしたいかはイメージが固まっていませんが、四苦八苦しながら狩り慣れた相方のような存在をホムに求めていきたいです

>暇と性欲をもてあましたので「AIを擬人化したら」で妄想したけど
AIアンテナ運営の初回限定さんの呟きを受けてGlenelgの人が反応していました
それを見て「自分のAIはどうなるのかなぁ」としばし考える
うちのAIは、結構主人に忠実での主人に気を使う挙動が多いのです
その割には主人のほうで多少フォローしてやらないと完璧には仕事を出来ない面もあり・・・
「先輩を慕う内気な後輩タイプ」でしょうかw

設定次第ではデフォAIのような挙動も可能になってるのがうちのAIです(さすがに横殴りは設定では外せませんが)
こちらでちゃんと考えを伝えればその通りに動いてくれます(いくつか内部処理でストッパーがついているのでこちらの要求を全部飲むという事はありません)
しかし逆にを何も伝えなければ互いに「気まずい」ままです
また無茶な要求をするとてんてこ舞いになって変な動きもします(笑

設定項目がすっごい細かいので初めてこのAIを見るとちょっと戸惑ってしまうかもしれませんが、この細かい設定をあれこれ変えてちゃん希望を伝えてやると理想の動きをします

それ相応の働きを期待するなら相手をちゃんと理解してやってその上でこちらの要求をちゃんと伝える
AI相手に伝えるとか何言ってんだと思うかもしれませんが、例え相手がプログラムの塊であってもこういった「対話」は大事だと考えています

パートナーを目指すならなお更、互いの歩み寄りが必要ですし・・・
なんか私ものすごい無茶な理想でAI組んでないだろうか
('A`;)

Mobdateでやりたいことメモ
Ver8を視野にいれてMobdateでやりたいことをいくつかピックアップ
まず配布されているMobdateライブラリのデータ形式にこちらがあわせる必要があるのだけど、
あのMobdateはMobのAIパターンが入ってないんですよね

私はMobごとのMobAIのパターンと敵の移動の速さもライブラリに入れたいので「改変後の再配布禁止」の文が枷になってどうしてもこれを使うことを躊躇ってしまいます

以下、Mobを識別させて行いたいことのメモ
・どっか外部ファイルに記録(AI利用者が自分で入力)した自分のステを元に判断する
・Def、Mdefからスキルの使用頻度の使い分け
・Defが極端に高い敵は反撃されるまで殴りに行かない
・Mdefが極端に高い敵にはカプリスを使わない
・自Fleeと敵HITを見比べて回避が80を割る敵は殴らない
・自HITと敵Fleeを見比べて命中が70を割る敵は殴らない
・粘着タイプのAIは「主人に接敵する前に殴る」
・すぐ離れるタイプのAIは後回し
・一度殴ると粘着しだすタイプのAIは、タゲが自分につくまで全力、タゲが自分だったら後回し
・足の速い敵は設定された索敵範囲より広い範囲でも殴りに行く候補に入れる
・逆に足の遅い敵はちょっと後回し
・自分をタゲっている敵から喰らう最終ダメージを計算して、自HPがそのダメージの二倍くらいまで減ってきたら逃げるようにする(逃げ出す条件を増やす)
・さらに主人のステと防具Defも外部ファイルに登録することで、主人のタゲを優先する判断も自律で行わせる
・主人のFleeと敵のHIT、または主人のHPとDefと敵のATKを見比べて主人の敵を優先するかどうかを判断させる
(この時精錬Defは誤差として全て0.8で統一して計算する)
しかし敵のHITとHP、主人のAtkからその敵を放置できるかといった判断もさせてホムが無駄に動き回らないようにする

Mobdateを使うならこれくらいのことをさせたいなと思う
自分がPTをする時に気をつけていることをホムにも気をつけてもらいたい

あくまで妄想なのでどれくらい実現可能かは今は考えない!!

ホムは友達であり、仲間だというコンセプトで作っているので、戦場で背中を預けることが出来るように

そんな信頼で結ばれたホムライフを実現するために
チマチマと無い技術を搾り出して頑張りたいですね

動作確認後のメモ
今日一日で結構動作テストが出来たと思います

どうもスタック中はAI上では移動モーションらしく、モーションではスタック判断できません
実際にモーションのデータを出力してないので分かりませんが、少なくともモーション判断のスタック処理は働いていません
(モーションでスタックを判断する処理の中に数字の"1"を外部に出力するコードを組み込んで3時間近く狩った所、
途中何度かスタックしたのに出力ファイルすら生成されませんでした
3時間の狩りで一度もこの処理は使われていない→この機能は働いていない との判断です)
かといって座標で判断すると誤作動が多くなんともかんとも

暫く座標で判断させてたのだけど暫く使っているとたまにその処理自らがスタックを作ってしまうことがありました

あとプレイ料金の期間が過ぎててさっきからROが出来ない状況

明日WMを買ってきます
(´・ω・)

自AIについていえばやっぱり、敵を追いかけて遠くに行った後戻ってくる時に障害物に引っ掛かるのが凄く気になります
あれこれ弄ってパトロールモードの時だけは対策できたものの・・・
移動成否の中の障害物回避処理のアルゴリズムが不完全なのが辛い

やっぱりここは後できっちり組み直した方がいいなぁ
障害物回避の動きが机上での動きと違うので、絶対どこかで机上のアルゴリズムと実際のアルゴリズムが違うハズ

もう暫く狩りを続けて理論上の挙動と実際の挙動の違いをもっと洗ってみたいと思います
今のところは「理屈ではこう動くはずだ」という理論上のホムの動きと実際の動きの違いは障害物回避と時々発生するスタックだけです

あとは暫く自分で使ってて「こうしたいな」という必要性をピックアップしていく必要があります
ぶっちゃけ、オートスキル、横殴り防止、その他細かい挙動さえなんとかなれば十分なんですけどね
Ver7から配布予定の簡略版AIは、私が「これさえあれば他の機能は蛇足」と思う最低限のものを詰め込んだものになっています

ホム命令ライブラリをテスト版に実装、そして動作へ
改良版のホム命令ライブラリを使用した感じ、私の環境ではプロの露店密集地帯でちょこっと重くなる程度でした

私のPCが3年前に周辺機器抜きで5万前後で組んだPCなので、これで激重地帯でちょっと重くなる程度なら、おそらく最近のPCなら気にならない程度の重さでしょう

ついでに敵が居なくても索敵でループまわすのが気になってたので重い腰をあげてそこのところも対処
Ver7はさらに動作が軽くなりそうです
(ダンスモードのスイッチをonにしていると、/savechatの監視でちょっと重いかも)
さらに重複している処理をひとつの関数にまとめたりとあちこちマイナーチェンジ
ホムケミダンサーズもいい感じ
ホムケミダンサーズについて簡素に説明すると、ケミの動きに合わせてホムが一定の動きをするので
ケミとホムが一緒に踊っているように見えるというものです

用意したパターンは二種類、主人と反対の方向へ移動するものと、最初に移動した方向によって縦軸と横軸のいずれかを鏡面として鏡移動するものの2パターン

今日いっぱいAIの挙動を確認してから、隠し要素2着手する予定です(フフリ
早くて来週、遅くても9月中旬までには公開できそうです

ウフフフフフフフフフ
どの分野にも行き過ぎたファンというものは居るわけで
早い話が、荒れてしまったため利用AIのアンケートは中止のようです

利用者状況が気になってたからちょっと残念

それはそうとVer7開発
Ver7が完成したら開発ペース落とすつもりです
氷割りとか私には急いで欲しい機能じゃないし

氷なんか主人自らカートでドカンと破壊すりゃいいし

さて、遊び機能に重点をおいた今回のVer7、
冬物語さんの命令ライブラリのVer0.3のお陰でおもしろいものになりそうです(フフリ

初期予定に比べると完成度は70%といったところでしょうか
あとまだ開発に手をつけていませんが、前々から考えていたとあるおまけ機能について
実現にむけてあれこれとアルゴリズムを考え中です

これが完成すればVer7の目玉になること間違いなし!!
あと最近処理が増えてきて、ちょっとコードが複雑になってきたかもしれない
また全体的な処理の見直しが必要かな・・・

[ホム命令ライブラリ version 0.3] を組み込んでみる
ダンスモードへの切り替えに冬物語さんが開発した、
/savechatをキーにしてAIに命令を読み込ませる機能を使おうと思いダウンロード

解読二時間、カスタマイズ三時間
バイトマデ時間あるので今から少し寝るとこです

デフォルトのままだと/savechatしたときに、ログを一度読んだ後消しちゃってるため
本来のログを別ファイルに移す処理が入ってるんだけど、1ファイルを上書きしていく形なので古いログが残らない

ここが気になったので、既存のファイル読み書きライブラリとこのログ読みとりライブラリを組み合わせて、
自動的に数字で分別した新しいファイルを生成してそっちに書き込むことで古いログも残す処理を作ってみた!!
ついでに、ファイルを削除してしまい、記録上の最新ログファイル名がずれてしまってもある程度対応できるようにしてみました

既存の処理の使い回しで使い方と組み合わせを工夫しただけで新しいことはなにもしてないからたぶん動く

ちなみにまだ未テスト
テストは明日かしあさって

命令文の使い方間違えてなければたぶんイケル
あと怖いのが、PCへの負担が未知数なこと

あと、まだ試作中の試作なもので変数名と関数名が超適当

まずは寝る、眠いです

細かいバグが・・・
久々の二連休で久々にホムであれこれと狩りに出かけたら細かいエラーが見つかりました
見つけ次第潰していきましたが、早めにDLしてしまった方には本当に申し訳ないです

あとテーブルをそのまま演算子にかけて文法エラーが出なかったので、てっきりテーブルひっくるめて中身の有無の判断が出来ると思ってしまいました
(TABLE ~= nil)
でエラーがなかったのにぃぃ・・・

実際はこの条件が働いていませんでした
仕方がないので
(TABLE[1] ~= nil)
と先頭のデータを見ることで解決

あとVer7の開発もぼちぼち進みました
バックスタブ、かごめかごめといった攻撃パターンに
ついでにパトロールの自由行動のパターンを追加、指定した歩数ずつ歩くというのを追加
あと攻撃パターンの一つとして一発殴って放置という壁モードを実装
敵IDをとってからそれの扱いまで、普通の処理と壁モードとではまるっきり違うので新しい処理を色々追加

今のところ敵を自動で殴って放置、は完成
主人がタゲられたらタゲが外れるまで全力で殴る、も完成

ただ2匹目、3匹目を殴る時と殴らない時がある
あとは何匹のタゲをもっているか判断して指定数を超えると自分で判断して通常の攻撃を行う処理も追加したのだけど働く時と働かない時がある

トレースしつつ調べていますが
今のところ、何故かID認識のあたりで謎の不具合が出ている様子
溜め込み防止のためのコードがどこかで余計な働きをしている予感がします

あとホムに躍らせる処理は大体流れ図は完成
壁モードの処理が安定したらサクッと作ってしまうつもり
多分来週あたりにはVer7が完成

FLLOWにおけるMoveパケット軽減処理について
利用しているAIのアンケートなるものが行われているようです
工体さんところがぶっちぎり
続いてこっこと自動PPが人気のようです

それはそうとAIに関する独り言
処理を軽くするために、Moveを送る制限を「移動中は送らない」にしたことがあったのだけど、そうすると移動完了するまでMoveを送らないために動きがカクカクして遅くなる(方向転換の反応が遅い)
そのためやむなく、未だに時間で制御
殆どのMoveを時間で制御して回線対策をとっているのだけど、そうするともう時間制御をしたMoveをひとつの関数にまとめたほうがよさそう

そろそろ、同じ処理が被ってる部分も増えてきたのでそういうところを関数に纏めてもいいかもしれない

あと各ホムごとに分けたファイル、正直オートスキルの部分しか変わってないのであまり意味なさげな感じ・・・
あとはIDLEとメイン処理で1行か2行違うだけ

意味はあるのだろうか・・・
無駄な処理を省いた簡略版をアップするならもっと他に、こう省いてパターンのひとつとしてアップするべきものがあるのではないか・・・

最低限の機能だけを詰め込んだ最小版とかいいかもしれない、機能が増えてきてコンフィグで設定する部分も増えてきたし
キャンセルについて
バックスタブ型とぐるぐる型の攻撃アクションを試しに追加してみると、攻撃命令の後にMoveを出してるのですが
Moveは攻撃でキャンセルできるようですね
攻撃で移動がキャンセルになることで移動判定の処理の誤作動が気になってます

あと移動をしても攻撃しない時があって、つまり攻撃命令が出ているのに攻撃しない時がありました
普段の早い攻撃は、本来の攻撃モーションをキャンセルしているためという説は正しそうです
(移動処理が入ったため攻撃キャンセルが失敗して本来の攻撃ディレイが適用され、攻撃をしないことがある?)

明日またバイトが休みなのでVer7公開へむけてもちょっと調整しつつ機能を追加しようかと考え中

Ver6の移動判定において、方向転換と再移動の組み合わせが障害物回避に悪い影響を与えていて、ホムが挙動不審になって一箇所を行ったり来たりしてしまう様子
まだまだ不完全です

ホムが弾かれるセル(キャラが居るセル)を指定するとそのセルの周囲をウロウロして何度もキャラのセルに入ろうとするのがちょっとカワイイ
でも、不具合ではあるので弾かれるセルを認識して移動を止める方法をちょっと考えないと

弾かれるのは死にセル、PCキャラ、他ホム、なのかな・・・
NPCはどうだったっけ
Mobはカーソルが攻撃用に変化するので故意に重なることはほぼ無理、ということでMobへの対策は今回考えない

ともかく今日も9時間労働
明日からはバイトのシフトも落ち着くと思う・・・

現実逃避パワー
どきどきさんとこの「主人の前で待機」がちょっとイイナと思った
どうせなら移動中も主人の前を歩かせたい
これやろうと思ったことあるけど、そうすると方向転換に対応できず、曲がる度にホムが遅れてしまうのよね・・・
その度に主人が立ち止まる必要がが
結局移動し続けると普段と一緒に

そもそも前に立とうが後ろに立とうがホムに敵が集まるわけで
見た目重視機能ってことで追加するならVer7かなぁ
ラグドリ2の本番でも愚痴ったけど最近中の人がバイトで忙しいです

あと暫くVer6を自分で使ってて、パトロール機能でせわしなく動くのがちょっと気になったのでホムの移動の時間間隔を指定できるといいなと思いました
あと、自律動作にもある程度クセを持たせたパターンがあると面白いかなと
パトロールのパターン増やすのもVer7の範疇かなぁ・・・

今、これまで自分で歩いてきた道を外部ファイルに「マップデータ」として記述していって記憶させる手法を妄想中
、リログごとにリセットされるようになると思う(この機能はテレポ狩りはサポートしない)
そして記憶させていくことで同じ狩場に篭れば篭るほどホムが賢く!みたいな
ただ労力に対する効果がさらに微妙に
これはもうちょっと、私がLuaに慣れてからだなぁと思う

妄想ばっかり広がってどうしようもない最近
これが現実逃避パワーでしょうか
現時点でのAIに対するコンセプト、開発の方向性その3
・遊び機能について
攻撃行動を行う時に、以前AIスレで出ていた「バックスタブ型」や「ぐるぐる敵のまわりを回りながら殴る」とかを実装したいと考えています
これを行うかどうかの分岐やフラグ、あと関数を増やす予定です
これはVer7から追加したいと考えています

あと、ホムに躍らせたい
どう躍らせるか?ケミに対する反応はどうするか?
などまだまだ問題はあるけど移動判定の障害物回避処理が落ち着いたらVer7での実装を試みたい

あと他ホムにじゃれつく機能も妄想中
無節操にじゃれついていくのもウザイし、じゃれつくときの動作もただついてまわるだけじゃ芸が無い
これも色々と机上の空論で妄想中

Ver開発では一応目標を決めて開発してたりする
Ver1:このAIの基盤
Ver2:Ver1の安定、拡張のための準備
Ver3:オートスキル
Ver4:ホムのうっとおしさを軽減
Ver5:横殴り判定を確実に
Ver6:自立動作の基盤(自由行動の許可モードをパトロールとして実装)
Ver7:遊びモードの充実
Ver8:Mobdateをどう使っていくか(ここはまだ予定が決まってない)
Ver9以降、それぞれの机上で構造を考えてる機能を現実化させるほうに力を注ぐ
今ある計画はこんな感じ

Mobdateを使ったMobによって戦闘を変えるっていうのは、
仕様変更のたびにライブラリを更新しないといけない手間を考えると微妙な気がするので今までのVerでは導入していません
どうせならMobdateを使って出来ることをあれこれピックアップしてまとめてから一気に実装したい、特に自律動作関連で
かといってあまり勝手に動かれると邪魔なのでどこまで自動化させるか?といった問題もあいります
Ver8とVer9の計画は延期や計画の前後があるかもしれません

現時点でのAIに対するコンセプト、開発の方向性その2
・ホムの動きはケミのサポート兼ペット、全自動にはしない

ホムは友達、が目指す動きのコンセプト
ある程度自律性は持たせつつもサポートに留める
すっごい曖昧で表現し辛いのだけど、ぼんやりとイメージはある
最終的には、基本的な部分は、個人的にはVer5シリーズで完成したと思ってる
残る拡張部分では「「自律モード」の追加と充実」、「ケミをサポートする動きの追加」、「その他遊び要素」
自律モードの充実はパトロールモードを基準に、自立行動での安定性の向上
 自律モードでの状況に応じた処理の多様化、最終的にはホムAIでホムの感情みたいなものを再現したい
アルゴリズムが思い浮かばないのでこれは思いつくまで保留、思いついたら片っ端から試してエラーと戦う!

あとは自律モードの安定化、自由行動を許可した時くらいはホムに自立させたい
 ケミをサポートする動きは、一発殴って保留の壁モード、詠唱反応、氷割り、サークルトレインでの時間稼ぎ
などが計画に、それぞれアルゴリズムのほうで詰ってます

以下妄想中の計画
[続きを読む...]
現時点でのAIに対するコンセプト、開発の方向性その1
・出来るだけ解析し易いように

 これは工体の見づらさとくま~印のデフォルトAIの見易さへの感動からAI開発初期から定めたコンセプト
実際に見やすくなってるかは知らない、でも出来るだけ見やすくなるように、
「繰り返さなくて済む処理は一回で終わらせる」
「分岐や条件を出来るだけ単純に」
「ローカル変数を減らして無駄な宣言を減らして、同じ働きの処理では同じ変数を使うようにする」
「デフォルトAIの基盤を崩さないように」
「コメントの説明はなるべく多く」
「特殊なデータの入れ子はなるべく使わない(変数の中身が分かり易いように)」、
「コメントを不必要な部分まで書いてごちゃごちゃしないように」
とずっと心がけてVer2からVer6まできたわけですが、いまいち、実際他の人から見てどうなんだろう?と思う時が

どうやらAI雑談スレで今構造の見易さと処理の軽さで話題になっている様子
これで評価されて第三者から見て見やすいかどうかが分かるのかな?ともかくどんな評価がされるのか気になっています


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。