日記/2024-09-21
雑記:ホムAI:Glenelg ver0.80aリリースメモ†
表記、リリースしました。
リリース先はいつもの『ホムンクルスAIページ』をご確認ください。
今回はバグフィックスリリースです。
バグといってもAI本体ではなく設定アプリのGlenelgWatch単体のバグで、AIの持つ設定値の一部が適切に設定できないようになっていました。
そのため、今までGlenelgを使っていても「特に問題がない」と思われていた方にはほぼ影響がないと思います。
ちなみに変更内容は、リクエストからご指摘いただいた内容3点と、友瀬自身がヘルプ文書を見直していて気づいた娯楽モード設定、以上の4点です。
ともあれ・・・リリースしてから数年経ってから見つかるバグとしては恥ずかしいなぁ(笑)
友瀬が使っているものではあるのですが、論理的には必要だから設定したけど友瀬があんまり気にしていなかった項目、とも言えます。
バグとしてはリクエストやGlenelg変更履歴に書いてあるとおりなんですが、確認・修正して自分でも笑ってしまったので、ちょっと細かく説明します。
おおざっぱにいうと「ご指摘いただいた3つのバグが、全部違う段階でのバグ」だったので。
どういうことかというと・・・GlenelgWatch での各種設定の動作は、当たり前ですが、基本的に次のような順で動作しています。
- 動作1:ホムAI用のiniファイルをLoad して、その値を現在値として表示
- 動作2:利用者の変更操作によって、GlenelgWatch上で新しい設定値として保持
- 動作3:利用者の Save操作を受けて、GlenelgWatch上の現在の設定値をiniファイルに保存
これを前提に、以下説明しますと。
サブスキルで指定したデフォルトレベルについて†
この「サブスキル」については、この動作1部分が動いてませんでした。
そのためAI側の設定を読み取らず「常にGlenelgWatchでのデフォルト値Lv5 が初期値」という動きになっていました。
動作2、動作3は正しく動作しているので。
Watch上で例えばレベル3に設定するとiniファイル自体はレベル3になるので、その時点では意図した動作になります。
しかし改めてiniファイルを読み込むと「デフォルトのLv5」になってしまうという問題。
SP限界の強化スキル禁止SP残値について†
これについては、動作3部分が適切に動作していませんでした。
具体的には、保存処理の際に本来「強化スキル用の設定値」を保存するべきところ、誤って「攻撃スキル用の設定値」を保存してました。
そのためWatch上でどういじっていたとしても、AIは利用者の意図通りの動作はしていませんでした。
強化スキルの設定範囲(ペインキラーが設定できない)について†
これは動作2部分の問題です。
GlenelgWatch上にある「設定できる強化スキルのリスト」は13項目(スキル13種)があるのですが。
強化スキル3については、そのリスト上上から10個だけが設定可能になってました。
そのため11〜13項目にあるスキル(ペインキラーは13個目)は、内部的に設定できない不正値として扱われてました。
・・・言い訳にしかならんのですが。
以上の3項目を含めて、AIの設定には同じ形式の設定が多数あるため、GlenelgWatchに機能追加する際には多々ソースコードをコピペしてパラメータをいじったりするわけですが。
その修正に微妙に漏れがあって、おかしなことになってました。
ともあれ、改めてご報告ありがとうございました。
娯楽モードの設定について†
娯楽モードについては、過去にもいろいろ書いていますが。
今回のバグは日記/2017-05-01に書いた簡単な説明に思いっきり反しているのがマヌケでした。
娯楽モードへの移行方法の1つが「GlenelgWatchで指定した一定時間の間ボスケミが移動しなければ」というのがありまして。
その時間設定部分のバグ、というか設定があきらかにおかしいかった:
上記ページでも『設定するなら少なくとも3分(==180000msec)以上に設定することを推奨』とか書いているのに、最大値が2万(==20秒)になってました orz
そもそも理屈から言ってそんなmsec単位で設定すること自体おかしい項目なんですよね。
なんで今回 sec 単位に変更して、また定義域も設定なしにしました。
とまあそんな感じ。
ご意見などがあれば。

