2009年01月23日

工体研究所AI私的修正版。#23

工体研究所AI rev103+patch23

・傭兵に対応しました。(スキル攻撃などは実装していません)
・チャットコマンドを組み込みました。
・ほむTALKを入れるとメッセージを見ることが出来るようになります。

久しぶりに大幅な追加をしました。
チャットコマンドの詳細に関しては、後ほど書きます。
続きを読む
posted by silica at 21:00| Comment(7) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2009年01月05日

工体研究所AI私的修正版。#23

工体研究所AI rev103+patch23

・傭兵に対応しました。(スキル攻撃などは実装していません)
・チャットコマンドを組み込みました。
・ほむTALKを入れるとメッセージを見ることが出来るようになります。

久しぶりに大幅な追加をしました。
チャットコマンドの詳細に関しては、後ほど書きます。続きを読む
posted by silica at 20:30| Comment(0) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2008年04月24日

こめんとれすその2。

Will様>
> ホムの攻撃範囲は29x29と言うことですが、これは東西南北を
> 頂点とした菱形◇と認識しているのですが、合ってますでしょうか。

攻撃範囲ではなくて、AIが動く範囲です。これは正方形です。
攻撃範囲という意味ならば、以下の通りになります。
直接攻撃:以下の範囲+2セル(ホムの攻撃は2セル目まで届きます。)
スキル:以下の範囲+ホム視点から15セル(画面外までは検証していません)

■■■■■■■■■■■■■■14■■■■■■■■■■■■■■
■■■■■■■■■■■■■■13■■■■■■■■■■■■■■
■■■■■■■■■■■■■■12■■■■■■■■■■■■■■
■■■■■■■■■■■■■■11■■■■■■■■■■■■■■
■■■■■■■■■■■■■■10■■■■■■■■■■■■■■
■■■■■■■■■■■■■■09■■■■■■■■■■■■■■
■■■■■■■■■■■■■■08■■■■■■■■■■■■■■
■■■■■■■■■■■■■■07■■■■■■■■■■■■■■
■■■■■■■■■■■■■■06■■■■■■■■■■■■■■
■■■■■■■■■■■■■■05■■■■■■■■■■■■■■
■■■■■■■■■■■■■■04■■■■■■■■■■■■■■
■■■■■■■■■■■■■■03■■■■■■■■■■■■■■
■■■■■■■■■■■■■■02■■■■■■■■■■■■■■
■■■■■■■■■■■■■■01■■■■■■■■■■■■■■
1413121110090807060504030201□0102030405060708091011121314
■■■■■■■■■■■■■■01■■■■■■■■■■■■■■
■■■■■■■■■■■■■■02■■■■■■■■■■■■■■
■■■■■■■■■■■■■■03■■■■■■■■■■■■■■
■■■■■■■■■■■■■■04■■■■■■■■■■■■■■
■■■■■■■■■■■■■■05■■■■■■■■■■■■■■
■■■■■■■■■■■■■■06■■■■■■■■■■■■■■
■■■■■■■■■■■■■■07■■■■■■■■■■■■■■
■■■■■■■■■■■■■■08■■■■■■■■■■■■■■
■■■■■■■■■■■■■■09■■■■■■■■■■■■■■
■■■■■■■■■■■■■■10■■■■■■■■■■■■■■
■■■■■■■■■■■■■■11■■■■■■■■■■■■■■
■■■■■■■■■■■■■■12■■■■■■■■■■■■■■
■■■■■■■■■■■■■■13■■■■■■■■■■■■■■
■■■■■■■■■■■■■■14■■■■■■■■■■■■■■

□:0セル目、主人の位置
■:AIが動く範囲≠AIで攻撃出来る範囲

14セル目に敵、プレイヤーが居た場合ホムが15セル目に押し出されることがあります。
そのとき、AIが止まりホムがスタックします。
そのために探索の標準範囲は12セルとなっています。以下の設定項目です。

SEARCH_DISTANCE = 12,

これの中心は上で示した0セル目となります。
この特性を知った上で、14セルまで設定することに問題はありません。
この場合、AIが止まってホムがスタックする可能性がほんのわずか出る危険性を
承知の上でお願いします。

> また、主人から14セル以遠の件ですが、例えばSEARCH_DISTANCE上で
> 4を設定した場合、4x4の範囲がホムの索敵範囲になるかと思いますが、

SEARCH_DISTANCEは、上にも書いたように主人からの距離です。
念のためailib.luaを見て確認しましたが、この変数は主人と敵の座標を比較していますね。
つまり、標準の12セルは12+1+12の、主人の周り25x25セルがホム攻撃可能範囲となります。

これ以外で敵攻撃優先度の変更をしたい場合は以下の関数をいじれば良さそうと見当を付けています。
ailib.lua
-- 周辺の敵を解析してキャッシュする
function ParseActors( myid, actors, priority )
posted by silica at 19:23| Comment(2) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2008年04月19日

攻撃優先度の設定。

will様>
調べてみた結果、モンスター攻撃優先度の変更でしたら既にあります。
config.luaのここにIDを入れてみてはどうですか?

-- モンスターの優先度指定(IDかもしくは名前)※
MONSTER_PRIORITY = { ANY_ID },

以下に例を。複数指定可能です。

-- モンスターの優先度指定(IDかもしくは名前)※
MONSTER_PRIORITY = { 1189 }, -- オークアーチャー

複数のIDを入れるときはコロン , で区切ります。
モンスターIDは、Blue Box - mobID名称一覧で調べることが出来ます。

ホムの攻撃範囲ですが、AIが動くのは主人から14セル以内、主人を中心とした29x29の範囲です。よって、ホムの近くに敵がいても、主人から14セル以遠になった場合は範囲スキルで攻撃するしかありません。(敵の近くに行くとAIが止まります)
posted by silica at 20:07| Comment(1) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2007年11月14日

工体研究所AI私的修正版。#20

工体研究所AI rev103+patch19

■更新
・mobdata.luaを更新(ベインズパッチ対応)
・ガンスリンガー・忍者のモーションIDを追加しました。
忍法(畳返し、火炎陣)、デスぺラード、フルバスター

Blue Box - ホムンクルス用ライブラリ配布所
にあるモンスターIDのうち「モンスターレース」「ギルド宝箱」が反映されていないのは残念。
それと海外限定のモンスターIDも出来れば入れてほしいものです。

新たに追加された空白部分はモスコビアとシュバルツバルドギルド、アルナベルツギルド、攻城戦SE2の敵(守護石など)が入っているようです。

次の更新は何事もなければ名無し島パッチの予定。
それ以外の更新はほぼ終了になります。
posted by silica at 20:35| Comment(8) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2007年08月31日

工体研究所AI私的修正版。#19

工体研究所AI rev103+patch19

■更新
doc/link.batを削除

これだけなので、アップデートする必要性はかなり薄いです。
posted by silica at 23:34| Comment(1) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2007年07月21日

工体研究所AI私的修正版。#18

工体研究所AI rev103+patch18

■更新

・モーションキャンセル対応
・ゼロ移動キャンセル対応
・mobdata.luaに独自追加(X_ランドグリスを追加)
続きを読む
posted by silica at 13:00| Comment(5) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2007年03月04日

工体研究所AI私的修正版。#16

工体研究所AI rev103+patch16

■工体AIとの違い
・追加ライブラリの内容をすぐ使える(config.luaで変更可能)
・プレイヤー・モンスターデータは最新
・各種修正をパッチの形で適用(多重攻撃、オートSBRなど)
今回の変更点
posted by silica at 15:48| Comment(1) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2007年02月19日

ロード時間を軽く確認。

日記/2007-02-19 - Singing and Thinking.より:

工体AI私的修正版が一番重いのですか(ノ∀`)r

ロード時間が長くなる主要ファイル
・revolver.lua
・mobdata.lua

この2つをロードするのをやめると、だいぶ軽くなります。
それでも0.3秒前後止まりますが…。

mobdata.luaは外せばいいだけなので簡単なのですが、
revolver.luaは設定を変えないとダメですね…。

時間が出来たらpatch16でロード時間簡易対策を行う予定です。
根本的な対策は、AIの仕組みそのものを見直さないとダメな気がするので
多分しないと思います。
posted by silica at 22:44| Comment(2) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2007年02月06日

工体研究所AI私的修正版。#15

工体研究所AI rev103+patch15

■更新履歴
2007/02/06 rev103+patch15
・doc/link.bat: シンプルにしました。
・mobdata.lua: 更新
・config.lua: くるくる設定のデフォルトをOFFに変更


くるくる回る設定は最初OFFになるように変更しました。
これにより、デフォルトは元の工体AIと全く同じように動くようになります。

元の工体AIと違う点:
・追加ライブラリの内容をすぐ使える(config.luaで変更可能)
・プレイヤー・モンスターデータは最新
posted by silica at 21:49| Comment(0) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2006年12月09日

工体研究所AI私的修正版。#14

工体研究所AI rev103+patch14

■更新履歴
2006/12/08 rev103+patch14
・doc/faq.txt: 新たな質問と回答を追加
・doc/compile.txt: 最適化方法の説明ファイルを追加
・doc/compile.bat: 最適化実行バッチファイル
・doc/link.bat: 最適化実行バッチファイル(1ファイル版)


コンパイル用バッチファイルと鳥飼いの質問をFAQに追加しました。
コンパイル用バッチファイルは、どうぞご自由にお使いください。
他AIと一緒に配布しても構いません。
posted by silica at 00:13| Comment(5) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2006年11月27日

工体研究所AI私的修正版。#13

工体研究所AI rev103+patch13

■更新履歴
2006/11/27 rev103+patch13
・mobdata.lua: 更新(フィーゲルパッチ対応)


今回の更新は、mobdata.luaを最新版にしただけです。
S.B.R.44に関してはまだ反映できていません(汗
posted by silica at 23:16| Comment(5) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2006年10月30日

工体研究所AI私的修正版。#12

工体研究所AI rev103+patch12

■更新履歴
2006/10/30 rev103+patch12
・mobdata.lua: 更新
・events.lua: S.B.R.44対応(念mobのみ、ムーンライト使用)
・config.lua: S.B.R.44設定追加(デフォルトはOFF)
※S.B.R.44: 某教授の館パッチ適用

注)S.B.R.44は設計上の検証しかしていません。バグ修正は難しいですが、出来る限り対応します。

■Special Thanks
某教授の館 as 某教授様
http://www.yoroduya.org/blog/

posted by silica at 20:36| Comment(7) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2006年10月19日

patch11-SBR44対応。

工体AI私的修正版patch12は、フィーゲルパッチ対応のものにする予定です。
(主にmobdata.lua, playerdata.luaの2ファイルが対象)
また、オートSBR用の修正が上手く行った場合はマージします。

工体研究所AI rev103+patch11-SBR44対応版
追加設定項目:
-----------------------------
-- オートSBR
-----------------------------

-- S.B.R.44使用許可 true / false
USE_SBR = true,
-- S.B.R.44ディレイ(ms): 標準は1ms
SBR_SKILL_DELAY = 1, -- 100〜200程度にしたが良いかも
-- S.B.R.44使用レベル
SELF_SKILL_SBR44_LEVEL = 3, -- 最大Lv.3

某教授の館パッチ適用:
event.lua:
function UseAttackSkill( enemy )
if Settings.USE_MOBDATA and Settings.SELF_SKILL then

if Settings.USE_MOBDATA then

これは、223行: if Settings.SELF_SKILL then -- オートスキル
の後に UseAttackSkill() を呼び出しているため、"and Settings.SELF_SKILL"は不要になります。
その他、構造を見直しました。

posted by silica at 19:43| Comment(0) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2006年10月04日

工体研究所AI私的修正版。#11

工体研究所AI rev103+patch11

■更新履歴
2006/10/04 rev103+patch11
・ailib.lua: SKILL_DEFENCE誤字訂正(patch4由来のタイプミスです)
・同上: ホムスキル最大レベル追加(タナトスパッチ追加分)


これにより、patch4からのバグ「アミストルスキルディフェンスの不具合」が解消されたと思います。
言うまでもありませんが、以前のパッチは動作検証や比較用に残しているだけであり使用を推奨しません。

■機能一覧
工体研究所:機能紹介

例えば、ムーンライトLv1を状態変化のスイッチに出来ることがわかります。
savechatコマンドからのログ読み込みに対応すればもっとたくさんの状態変化が出来そうです。

■工体研究所AI私的修正版とは?

以下のサイトにある修正例やライブラリをまとめて、すぐ使えるパッケージにしたものです。

ホムンクルス用ライブラリを配布するサイトLv.1
ホムンクルスAIについての雑談スレ その3 from LiveRO板@MMOBBS

これに誤字訂正、タナトスパッチ対応(進化スキルリストなど)を付け加えています。
工体研究所の中の人がAI更新再開するときにすぐ取り込めるように
情報をまとめる意味合いも兼ねています。
実際、ROPlusは修正を全て取り込んでくれました。
くるくる設定を無効(false)に設定すれば、オリジナルそのものと変わりありません。

■留意点

個人的な事情で未進化ばにるみー(Vanilmirth)でのみ、動作をチェックしています。
進化フィーリル(Filir)などは他の方々の協力がないとテストできません;
posted by silica at 19:49| Comment(0) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2006年10月01日

patch10エラー追跡。

工体AIrev103patch10のエラー情報をまとめてみます。
ailib.lua:345:bad argument #3 to 'SkillObject' (number expected, got nil)
ailib.lua:345行目:'SkillObject'への第三引数が悪いです(数字を見込んでいたのに、nilを得ました)

工体AI私的修正版
patch8 ○
patch9 ×
patch10 ×(何も変更していない状態でも)
・使用ホム:アミストル
・mobdata.luaはfalse, 削除してもエラー発生
・主人は何もせず、ホムはスキルを使わず敵を攻撃している状態
・攻撃対象:ミノタウロスでも発生

■今回気づいた点

エラーを良く見てみると、引数の#3(三番目)です。
ailib.lua:345行目: SkillObject( MyID, lv, skill, id )
つまり、ここのskillに数字ではなく"nil"が代入されてることがわかります。

これはSetSkillInterval関数中にあるので他を探していきます。
ホムがアミストルとのことなのでこれが気になりました。

events.lua:348行目
SetSkillInterval( AMISTR, Settings.SELF_BUFF_MIN_SP,
Settings.SELF_BUFF_DEFENCE_DELAY,
Settings.SELF_BUFF_DEFENCE_LEVEL, SKILL_DEFENCE ) -- ディフェンス

function SetSkillInterval( family, minsp, delay, lv, skill, target )
から推測するにSettings.SELF_BUFF_DEFENCE_LEVELが原因のようにも見えます。
config.luaには以下のようになっているので、
SELF_BUFF_DEFENCE_LEVEL = 5,
ディフェンス取得レベルが5に届いてないとかそのあたりの可能性はないでしょうか?

追記。
patch8のconfig.luaだけをpatch10に上書きして動かしてみた場合はどうなりますか?
それも確認をお願いしたいです。
(設定が違うことから来るエラーの可能性もあります)
posted by silica at 15:47| Comment(7) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

コメントをまとめてレスと報告。

コメントをまとめてレスと報告。

報告をまとめてみると、patch10で出てきた不具合はpatch8から9の間で行った
変更が原因っぽいですね。
それでこの間の更新ファイルを見たところ、ailib.luamobdata.luaだけでした。
mobdata.luaは無効にしても発生するので、ailib.luaが原因になります。
そこで差分を取ったところ…
MOTION_SOUL = 23 -- ソウルリンカー、魂使用
これだけしか違わないです。
まさかと思いますが、patch8のailib.luaをpatch9かpatch10のほうに上書きして
みて、同じようにエラーがでるでしょうか?

追記:
patch10は、ばにるみーでは何もエラーは出ないことを確認しました。
フィーリルだけ問題が発生してるのでしょうか?
報告のあった方以外にも報告があればさらに詳しく調べます。

patch11では、ailib.luaに新実装の進化ホムスキルの最大レベルを入れます。
MAXLV_MENTAL_CHANGE = 3
MAXLV_BLOOD_LUST = 3
MAXLV_SKILL_SBR44 = 3
MAXLV_BIO_EXPLOSION = 3

もう一つ、オートSBRの別の実装方法として某教授の館の変更点を見てると、オートムーンライトとオートSBR(オート奥義)を同時併用することに視点を置いてるようです。
ムーンライトをSBRに置き換えるだけならここまでしなくていいですから。
併用する理由は、念属性にSBRが当たらないからでしょうか?
結果的に、こっこAIと同じような機能が工体AIのほうにも欲しいというわけですね。
posted by silica at 12:23| Comment(2) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

2006年09月27日

工体研究所AI私的修正版。#10

工体研究所AI rev103+patch10

■更新履歴
・AI.lua: 進化後ASPD対策 MULTI_ATTACK を追加
・config.lua: MULTI_ATTACK 設定追加
・faq.txt: MULTI_ATTACK説明追加
・ailib.lua: 治癒の手助け→治癒の手

進化後ASPD対策は、最初使わない設定になっています。
使えるようにするには以下のように変更する必要があります。
config.lua
MULTI_ATTACK = 1,

MULTI_ATTACK = 3,
posted by silica at 18:56| Comment(3) | TrackBack(0) | 工体AI | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。