calendar_viewer 日記/2006-12

お名前:

new<< 2006-12; >>old
[日記]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2006/12/31 (日)

ついでがあった方には、BBSとか拍手とかで挨拶してきましたが、そうでない方にはそういう書き込みはただの荒らしと変わらんので・・・
RO関係の方には、挨拶はこちらでまとめさせていただきます。
ご了承ください。

というわけで。
今年は特にホムAI関係でいろいろありましたが、 さまざま全部ひっくるめて、大変お世話になりました。
2007年も、よろしくお願いします。

以上。
さて、お年玉を包まなければ(おっさんの仕事。

2006/12/30 (土)

他のAI作者の掲示板を見て思ったこと。

友瀬はAIを公開しています。
これはあくまで「友瀬が自分のために作った物を、ついでに公開している」ということはご理解くださっていると思います。
そしてこれは、他の多くのAI作者の方も同じだと思います。
本来公開する必要のないものを公開しているわけで、その時点で(自分でいうのもアレですが)基本的にはお人よしと言うか親切心でやっているものなのです。

#まあ多少は「HIT数増えればいいな」なんて欲もあるのは事実ですが(^^;

ともあれ。
「自分のために」とは言っても、友瀬は「俺が要らないから実装しない!」と言っているようなものでも、要望には基本的に前向きに対処しているつもりです:まあポリシー的にNGとか、物理的に時間を取れず進展が遅いことは否定しませんが。
とにかく、この「ポリシーの範囲内で前向きの気持ち」というのも、多くのAI作者で共通の話だと思います。

その「ポリシー」ってのが曲者ではあって、友瀬は人間の心なんてのを全て文字にして伝えられる、なんて夢を見る気はありません。だから
「こんな機能がほしいんだけど。」
「ごめん、それは俺のポリシーに反するからNGなんだ。」
こんな会話は自然に起きるものだと思いますし、やっちゃいけないなんて絶対にいいません。
少なくとも友瀬は要望を積極的にあげてくださること自体は、基本的に悪いとは思っていませんし、それどころか気が付かなかったことを指摘してもらってありがたい、と思うことも多いです。
そして繰り返しますが、多くのAI作者の方も多分同じだと思います。

・・・ただね。
ポリシーを明確に示している点については、言われても困るだけです。
ポリシーを明確に示している人に対して、なんでポリシーを捻じ曲げることを要求するんでしょうかね。

現状で長い間AIを公開している人は、間違いなく、ホムAIでやっていいこと悪いことについてその人なりに真剣に考えた結果、今のポリシーに至っています。
そりゃあそうですよね。もし「ガンホーがNGと判断」するようなAIを公開していたら、自分のアカウントがBANされたっておかしくないわけで。
しかしそこまで考えたとしても、その判断が正しいのかどうかを明確に指摘できるのは、唯一ガンホーだけであり、一介のプレイヤーではありません。
ガンホーが「NGと明示」している部分を言うのはかまわないですが、残念ながらホムAIについては現時点ではそういう情報はありません。

その掲示板の書き込み主の方の主張の根底には、「ただしくあるべき」という思想があるようで、これ自体は賛同に値します。
ですが、そこで言われている「正しい」の視点はその方のポリシーでしかなく、それを他の人に強要している点においては、認める気がおきません。
一介のプレイヤーにできることは、自分の行動を律することだけです。
もちろん、他の人の行為をして「それは不正でないか」と指摘することは健全ですばらしいことですが、それを受けて相手がどう動くかを強制する権利は、少なくとも一介のプレイヤーにはありません。
そのAIが危険・不正なものと判断したのなら、そのAIを使わないことを選択するしかないと思います。

文句を言うなら、自分でAIを作って、自分の責任で公開して欲しいものです。


昨日の氷割り関連のことを詳しく考えていて、ふと「あれ?」と思ったこと。

もしかして単純に
「戦闘中で、今まで明らかにこちらと戦闘していた敵がSTAND状態になったら」、それは無条件に攻撃していいんじゃないか?

上記の状況になりうる敵は、以下のパターンしかないはず。

  • 氷結やスタンなどで、行動不能になっている敵
  • キーピングスキル(トレインなどで引っ張りすぎると追従をあきらめる)

どちらのケースも、本質的には「(本意/不本意は別にして)敵が勝手に戦闘を中断した」ケースであり、こちらが攻撃を止めなくてもよい。
むしろ、上記状態で放置→自然解除されるとおそらくは新たにターゲットを探し始めるアクションのはずで、タゲに混乱を呼ぶので、積極的に叩くべきケースが多い。

そういう意味で、実は「SG氷割りモード」とは、「STANDの敵優先&強制共闘モード」という動きに他ならないように見えた。

・・・まあ、Glenelgで積むかというと、ちょっと後回し、かな。
というのは、上記で言った「積極的に叩くべき」というのに例外があるため:SGには2つのケースがあるはず。
「氷割りに代表されるとどめの攻撃用]というものと、
「激沸きなどで、体制建て直ししたいための時間稼ぎ用」というもの。
後者のときに氷割りなんてしてしまったら、厳しくないかい?ということ。
まあこのあたりは、友瀬がここ長いことパーティなんてやってないから、よく判らないところに該当すると思いますが。

2006/12/29 (金)

一応、下記判定方法で予測されるリスクを記述。
ホムは「Wizがどんな呪文を唱えたのか」を知ることができないので、同じ手順に見える「詠唱→敵ダメージ→敵STANDに」となる呪文が、誤検知の可能性につながる。

  • SGではない凍結呪文。
    ありていに言って、フロストダイバー&フロストノバ。
    これらは「凍結」することに意味があり、それを割ることはあまり意味がない。というかむしろ割っちゃダメ。
    まあ現実問題として、前者はパーティ戦闘ではあまり使わないし、後者は取得しているWiz自体が例外と言っていいので、無視してもいいかもしれない。
  • 凍結以外での停止呪文。
    ありていに言って、ストーンカース。
    これも基本的にフロストダイバーと同じ意味合いのもので本来は割ってはいけないもの。
    ただこれも対MOB戦闘ではあまり使う代物ではないので、無視してもよさそう。
  • メテオによるスタン。
    スタンした敵を氷結と誤判断して「割り」に行こうとするはず。
    別にスタン状態の敵を攻撃してもそれが解除されるわけではないので、その点ではOK。
    問題になりそうなのはその攻撃を「いつ止めるか」。 STANDでなくなるまで、とかやっちゃうと、おかしなことにならないかな?ダメージモーションがでるはずだから、それでよしとするのか?

可能な限りAIで、SG氷割り機能を実験している様子。
ポイントは「凍っている」ということを「敵がダメージ→停止している」ことを条件にして判定しているところ。
ホムでは「凍っている」ということは取得できない情報のひとつなのは間違いない。
だから友瀬は、正直に言って、思考停止していて考えもしなかった方法。

確かに、SGでダメージを受けた敵は(生きているならば)その後はWiz/パーティメンバーへの移動・攻撃をしようとするはずで、それを行わない(STAND状態になる)のは凍結、と考えるのは間違っていないような気がする。
数少ない例外は「草などの自ら移動・攻撃をしない」ものだが、それこそ数少ないので判定外にしてしまえばいいはず。
もちろん、多少強引な判定であることは否定できないが、それによる誤解の余地も少なそう。

やっぱり年を取ると、頭が固いねぇ。

2006/12/25 (月)

ふと気づく。
ここにあるのは、ちょこちょこ買って現在未使用の1dayチケットx5枚。
裏返すと「有効期限2006年12月末日」。

・・・しまった、使い切れん(笑)

(追記)
「課金済みアカウントに投入すれば、単純にそのアカウントの日数を増やせる」というようなつっこみあり。
なるほど、そうなのか・・・
幸い?2アカあるし、それぞれに入れておこうと思います。
もうどうせダメ元のレベルだし(^^;

2006/12/24 (日)

掲示板で指摘された「ケミの足元でホムがうろうろ」現象。
現地検証を小一時間してきました。

正直、そんなに起きる現象ではないのですが・・・確かにマップの複雑さ、アクティブ索敵範囲の広さといった条件あたりから(地図情報を使わないでいると)ひっかかりやすいのは確か。
やっぱり本質は、Glenelgに仕込んであるスタック対策が、複雑な地形ゆえに過敏に反応しているように見えます。
そのあたりの判定にリミットを増やしますかね・・・
繰り返しますが、イベント終了まで、もうちょっとお待ちください(^^;;

余談:その検証のわずか1時間で、かの珍品、パイレーツスケルcを拾いました・・・

2006/12/21 (木)

友瀬は自動PPを『バグ利用だから』サポートしていないわけではありません。
ただ単に、『ホムAIが、ホム以外のものを操作する』のが不適切だと思うので、友瀬なりの美学に従って、やっていないだけです。

『禁止されていないし標準でできるのだから、やってもよい』というのもひとつの真理だと思います。
それがそのAI作者の美学であるだけでしょう。

ただその意味では。
いわゆる公開AIを使うのなら、その使う人なりの美学をもってAI種類/使用機能を選択をするべきでしょうね。
時間とお金を費やすゲームで、どんなことをしたらそれを無為に失うリスクになるのか、最終的な判断するのはAI作者ではなく、AI利用者です。


他プレイヤーのアルケミさんと友瀬のFCASセージとで、2人パーティを組んで、時計地下4に行きました。

少し狩りをしていたら、突然激しい沸きに襲われ、我がセージのHPが一気に真っ赤に!
あわてず急がずファンクションキーを叩くと、それに反応してアルケミさんがPPをしてくれました。

なんとか乗り越えました・・・疲れたので定点での狩りに切り替えてしばらくしたら、アルケミさんが反応しなくなってしまいました。
どうやらアルケミさん、寝落ちしてしまったようです。
起きるまで仕方ないと思い、PPをしてもらいつつ狩をしていたのですが、まったく起きる気配がありません。
友瀬もそろそろ眠いしなぁ・・・仕方ないので友瀬がファンクションキーを叩くと、アルケミさんのクライアントが終了して、結果アルケミさんもログアウトしました。
それを見て、友瀬も安心してROを終了しました。

・・・こんなことができる人間はいないですよね。
だから、友瀬はホムAIでもそれはやらないのです。

2006/12/19 (火)

本業と年末のイベント向けとで、まったくROはできていないのですが(^^;;
いかんせん今週末までがイベント対応の追い込みなので、他にヘビーな事をやってる余裕はあまりないのです。

とりあえず、いろいろ考えた結果、掲示板で指摘の「優先度ゼロvsボスケミとの同時攻撃」は、提案の形で対応しようと思います。
ただ、最初に書いた通り友瀬自身が今時点で対応とテストをする暇がないので・・・年内はちょっと苦しそう。
少し待っていただけると助かります

あと・・・これを含めた優先度関連が結構スパゲッティな状態になっているので、できればそれの整理をひっくるめて対処としたい。
そういうのをひっくるめて、『冬休みの宿題』かな(^^;;

とりあえず、メモ的に。

2006/12/15 (金)

ちょっと反響があったので、正直蛇足だとは思いますが・・・多少の補足を。

昨日の日記は、あることを裏のテーマにしており、そのあることを友瀬は好んでいません。正直否定したい気分です。なにしろ、その系列につながるモノは、すでに(公式ともども)全面的に否定しているのですから。

ホムは賢くなるべきです。
ですが、知恵と感情は別物です。
残念ながら、その道の第一人者ですら「鉄腕アトム」を作れない現在、RO上でそんなにすごいものができるわけもなく。
そして、ROはその両方を必要とする世界です。
友瀬的には、片方しかもたないそれをアシスタントとして採用することはできても、代理人として全てを預けることは、正気じゃないと思ってます。

・・・昨日の日記と総合して、ここまで書いてあれば、友瀬が暗に何を言っているのか理解してもらえると思います。
つーか、友瀬のページはわりと全編この調子ですから、読み続けてくださっている方はすでにおおむね理解してくださっている、と信じています。

2006/12/14 (木)

あ〜。確かにここは喫煙可の食堂だ。
あなたはきちんと料理を注文している客で、
そしてそのタバコもあなたが正当に買ったものだ。
タバコを吸うこと自体は、文句を言われる筋合いはないだろうし、
火のついたタバコを灰皿においたまま、トイレに行ったって問題ない。

すぐ隣で、他のお客が煙たそうにしてるけどね。

嫌なら他の席・他の店にいけ?
店員ならともかく、お客のあなたがそれを言っちゃいかんでしょう。
店員は何もいわないから、認められている?
言われなきゃ何やってもいい、ってもんじゃないと思うけど。
おまえに言われる筋合いはない?
いや、だから最初からそれはわかってるから、そう前置きしたじゃない。

・・・なんの話でしょうね。


AI関連でしばしば再燃するのが、横殴り防止機能。
簡単に「横殴り対策」と言われるモノですが、これ、友瀬は、実は非常に深い意味・課題を持つものだと思っています。
どういうことかというと・・・そもそもホムAI以前に、横殴りという言葉自体が非常にあいまいで、かなり広い範囲を(暗黙的に)期待されている、はずなのです。

ちょっと考えてみましょう。
とりあえずホムのことを忘れて・・・ケミソロで狩りをしている状況を想像してください。
以下にあげたものは、横殴りになるでしょうか?

  1. 同じ画面内に他PCがいないとき、3セルはなれたところにいるポリン。
    このポリンを攻撃することは横殴りですか?
  2. あなたから3セル離れたところに、第三者の騎士がいる。
    そしてあなたと騎士の2人から8セルくらい向こうにソルジャースケルトンがわいて、こちらに接近開始。
    この時点でそのソルジャースケルトンを攻撃することは横殴りですか?
  3. あなたがテレポ狩り中。
    テレポアウトしたところ、あなたから8セル離れたところで騎士1人がパピヨンと戦闘中。
    その騎士から3セルはなれたところに、非戦闘中のチャッキー。
    あなたから見るとそのチャッキーは6セルくらい離れています。
    このチャッキーを攻撃することは横殴りですか?

これ、厳密に言うと、どのパターンも「どちらともいえない」というのが答えになると思います。

1つ目のポリンのケース。
あなたから15セル離れた(つまりお互いに見えない)位置に弓使いがいたら?
あなたと彼とが同時にポリンをクリックしたら何が起きるか、考えてみればいいでしょう。
おそらくどちらも意図せずに「相手と同じ敵を攻撃」することになるはずです。

2つ目。ソルスケが騎士とあなた、どちらに向かって歩いているのかはわかりません。
そしてソルスケはタゲうつりしやすいので、もしそれが騎士に向かって歩いていたとしても、あなたが近づくことで「あなたにタゲが移る」ことはよくあります。

3つ目。とりあえず「遠距離弓」の例外を抜きにして考えたとして。
このケースでは確かに「チャッキーはフリー」ですが、騎士の人の性格によっては「パピヨンを倒せば、次はそのチャッキーだったのに」と判断されます。

これらを「横殴り」というのは神経質すぎるって?
ええ、友瀬もそう思います。
ですが、「横殴りだと思う」人は確実にいます。
というか、このあたり、友瀬が今までに実際に似たような状況で文句を言われたことがあるケースですから。
はっきり言って変人の言いがかりレベルのものもあると思いますが、それでもそれは真実です。

ともあれ。
多くのROのプレイヤーは、実はこのあたりのことは経験的に理解していて、それを意識した操作・行動をしているはずです。
例えば「弓でも射程ぎりぎりの攻撃はしない」
「基本的に第三者とは離れ気味に立つ」
「戦っている人の近くの敵は、フリーでもあきらめて無視」など。
つまり、「他の人が攻撃している対象を攻撃する」という行為だけでなく、 「あやしいときは遠慮する」ようなことが、あたりまえのように行われているわけです。

で、AIを意識して、これを別の言葉で言い換えると。
実は「横殴り対策」というのには
「本当に他の人が戦っている敵を攻撃しない」という直接的なモノだけでなく、
「他の人とのトラブルを起こさない程度に気を使う」という概念的・間接的なモノまで、気にするべき、ということです。

ここにあげたのは、ほんの一例だと思っています。
もっとさまざまな「怪しい」ケースを、人間は適時臨機応変にこなしているはずです。

残念ながら、Glenelgを含めて多くのAIでは、これらのことを完璧にこなせる状態にはなっていないと思います。
直接的な「横殴りしない」ことについては、ほぼすべてのAIで問題なく行えていますし、 自分の近くの敵のみOK、第三者の近くの敵はNG、といった処理をしているAIも少なくはありません。
ですが、人間が「臨機応変に」行っていることを完全にできるかというと、ホムに「知覚できない」要素がある時点で不可能なケースがあるわけで。

いずれにせよ、そういう「気遣い」ができない人が側にいるとどんなことになるかは、これもまたROプレイヤーの多くは「ホムが実装される以前から」知っているわけで。

難しいものです。

2006/12/13 (水)

いわゆる「フィーリル奥義狩り」ができないように修整がなされたようで。
個人的には適切な変更だと思っています;別途開発メモにも書きましたが、ちょっと理不尽な内容だと思っていましたので。

ただまあ、特に告知もない変更ですので、もしかしたらあっさり元に戻るかもしれませんし。
あわてずに様子を見ることが肝要かと思います。
「現状の連打できないモノが仕様」という意味合いの公式告知もあったようです。
友瀬的には、自分の判断が間違っていなかったと自信がもてました。
さまざまな立場の方がいるかと思いますが、ともあれ、かかわった方はご苦労様でした。

いずれにせよ・・・そんなに簡単に修整できるもんならさ。
オーバードスピードやカオシックみたいな「未実装スキル」をさっさと直して欲しいところなんですが。
解説テキストに「できる」と明記されているものがいつまでもそのままで、解説テキストに特に明記されていないものが先に直されるってのは、 それはそれで理不尽ですよね。

2006/12/10 (日)

とりあえず思うことは、だ。

「今から調査をする」とかいう発言コメントを出している暇があるんだったら、その時間で調査してください。

他にも思うところはいろいろあるけど、とりあえず2週間は様子を見ます。
新しい施策がある程度の結果を見せるには、それなりに時間がかかるだろうし。

2006/12/9 (土)

要は友瀬が言いたいことは、
『大多数の人にとっては意味が無く、
 逆にそれが意味を持つ相手にとっては削除対象になってしまう、
 つまりほとんど実際に機能することが無いようなプログラムを作るために、友瀬の貴重な時間リソースを突っ込む気はない』
ということです。


いちおー仕事で、ソフトウェアのセキュリティ関連方面の知識も持っているわけですが。

ホムAIは、しょせんベタテキストのもの。
いくらでも内容を見ることができ、いくらでも自由に編集できます。
それにどんなに不正対策を書き込もうが、強度面ではまったく意味がない代物です。
その不正対策自体を「簡単に不正に削除」できてしまうのですから。

もちろんLUAソースの読み方を知らない人には、そう簡単ではないかもしれません。
ですが、相手はWeb上から不正ツールとその関連情報をかき集めてくる人々です。
その道のプロが操るnProですら骨抜きにされる今、ホムAIで入れる対策にどれほどの価値があるでしょうかね。

事前コンパイルして、ソースを直接見せない形式でAI配布することも可能ではあるようです・・・そこまですれば意味があるかもしれませんが、これもそれこそ「Webから不正ツールをかき集める」人たち。
そのAIに固執する必要がどれだけあるかというと疑問です。

「不正ツールは認めない」
「自分のAIを、悪意ある行為に利用されたくない」
・・・こういう気持ち自体は非常に理解できますし、いろいろ考える熱意と発想には正直感心します。
ですが、残念ながら少々無理があるようです。ホムAIの環境では。

つーか、ね。
自己診断ならともかく、他のプログラムにまでちょっかいだすような代物の、どこが「ホムのAI」なんでしょうね。


AIスレで話題になっていた技術的話。
Glenelgが名指しで話題になっていた件なので、こちらに要約。
将来、開発メモに移すかも。

指摘された課題

多くのAIでは、設定などを iniファイルにテキスト形式で記録し、起動時に読み込んでいる。
これは遅いから、lua ソースにしたほうがいいんじゃないか?
特にGlenelgでは、地図関連情報で大量のiniファイルがあるが、 luaの配列として書いてしまったほうがいいんじゃないか?

Glenelgでの現状と理由

同じデータをrequireで取り込むのと、FileI/Oで取り込むのでは、もちろんrequireのほうが速いです。
それはあきらかで、議論の余地はありません。
にもかかわらずGlenelgでiniファイルを採用しているのは、それなりの理由があるからです。

  1. 設定をユーザーが直接編集することを想定して。
    luaソースでは、編集ミスをするとAIそのものが起動できなくなる。
    iniファイルなら、エラー処理を読取時に行えるので、起動しないことはない。
  2. 自動生成の手軽さ。
    AIがデータを出力する際。
    luaソースにするには、出力されるデータごとにさまざまな記載を行わなければならず、汎用的でない。
    iniでは、1つのデータ取り込み方式を作ってしまえば同じ処理でだいたいできる。

言い換えると、上記に引っかからないもの:つまりは基本的に固定値である情報については、Glenelgでもluaソース化する価値はあると思います。

mapinfoでのもう1つのやっかいな話

Glenelgでmapifo関連で現状の形式を採用したのには、もう1つ別の理由があります。
問題はデータ量。
友瀬が地図関連を設計した際の考えでは、地図情報をプログラムに組み込むということは、全世界のマップ情報をソースに書かなければならないと思いました。実際、カプラさんなど一部のNPCについては、全マップにある情報がluaソース化されています。
しかし多くの場合、1回のAI起動時に参照するデータは「ホムが現在いるマップに該当する情報」だけです。
具体的な数量をいうと、ROに存在するマップは200近く。1回のAI起動では、そのうちの1つしか使わないのです。
つまり、もし高速のlua形式にしたとしても、その分読むこむデータ量が200倍に膨れ上がるというリスクがあったわけです。
「必要最低限のデータだけをFileI/Oで取り込む」のと「不要なものも含めた全データをrequireで取り込む」のでは、きちんと測定しないと、どちらが速いかわからないですよね?
正直そこまで労力をかける気はなかったですし、また今後も地図が増えていくことを考えると、 どちらにしても「不要とわかっている」データをわざわざ読み込むのは愚劣と思いました。

それが現状の「1マップごとに別ファイルで情報保存」の理由です。

そして友瀬の間抜けな点:あるいは、LUA知識の弱さ。

ともあれ。
どんな状況であれ、わざわざAIスレで性能を指摘している以上、なんらかのバックグランドとなる知識を持っている人の可能性が高いと判断。
こちらの都合をぶつけてみる価値はあると判断しました。
上記の「大サイズデータ+luaソース」vs「小サイズデータ+FileI/O」、比較検討できるネタ、ない?と。

で、かえってきた答え。
「1マップ単位でluaファイルにして、必要になった時点でrequireすれば?」
要は「小サイズデータ+luaソースにすればいいんじゃね?」ってこと。

Σ('-'つ)つ
・・・Cとかと違って、プログラム実行中に動的にプログラム実体を追加できるんだよね、LUAって。
だから、「全世界のデータを1つのソースに」する必要はまったくなくて、iniファイルと同様に「そのマップの分」だけを 切り出したソースを作れば、初期起動時は必要分だけで起動し、状況がわかってから必要なソースを選んで取り込めると。

よくよく考えれば、CなどでもDLLやプラグインなど、似たようなことをやっているものはあるわけですし。
そういう流儀のない、組み込み屋ゆえの思い込みってところでしょうか(^^;;;

というわけで、このあたり、気が向いたら手をいれます(^^;;

2006/12/7 (木)

なんか日記つーか論壇連射状態ですが(^^;;

ホム配布AIは、結局「フリーソフトの1つ」です。
何がいいたいかというと、本質的には「配布者を信用してもらう」ことが大前提。

確かにホムAIからDOS窓相当の操作をすることは可能なので、その気になれば「利用者のPC環境をずたずたに」することは難しいことではないです。
でも、それを心配して配布AIを使わない、というのはお門違い。
もちろん多少の警戒心は必要ですが・・・無条件に信用しないのでは、AIどころか、世の中のフリーソフトすら全て使えません。
なにしろ普通のフリーソフトは、ホムAIよりも遙かに自由度が高く、遙かに権限が強く、しかも(普通は)ソースリストを見ることもできません。
つまり、「より危険な行為が可能で、しかも自分で内容チェックもできない」のが普通のフリーソフト。
だからといって、フリーソフトをまるっきり使わない人というのは少数派ではないでしょうか。

ホムAIだって同じこと。
警戒する意識は必要ですが、そういう理屈をもって採用してくれればいいだけです。
とりあえず、12/8時点でAI機能比較表で紹介されているバージョンまでの各配布AIは、それなりに長い間公開・使用されてきているものです:十分信用に足るものだと思います・・・もちろん、これを信用するか否かもあなた次第。
あなたにとって、友瀬や他のAI作者の方々が、信用に足る人物であればいいのですが。

2006/12/6 (水)

あ〜。自分で書いてて矛盾しているようにも読めたので、補足。

友瀬は、アイテム課金自体は本質的には否定していません。
企画側が、アイテムに相応の課金を設定して売るのは悪い話ではない。
ただ友瀬は、今回のアイテム群のうち、スキルスクロール系には矛盾を感じています:そこに強く文句を言ったのが、以前&今日の日記。

常時使えるようにすると、本来そのスキルを使えるキャラの特質をつぶしてしまう:だからそういう意味で否定したのが数日前の日記。
だけどだからといって、常時使えないような値段を設定すれば、そもそも商売として成り立たないはず:そういう意味で否定をしたのが今日の日記。
つまり(繰り返しになりますが)スキルスクロールは、商品として本質的 に矛盾している「あってはならないもの」と感じているわけで、それに対するコメントもどうしても矛盾して読めてしまう、というわけです。


昨日の日記で書いた「パーティ登録関連」で、いくつか意見をいただいたので・・・反応コメント。

Q1. 「2回操作して、その両方で同じ位置にいる(移動していない)人だけ」とあるけど、「両方で判定範囲内にいる」では駄目なんですか?

A1. 総合的に見て、微妙と判断しています。
もちろんご指摘の通り、範囲だけで判断するのは可能です。
が、本質的な問題は、「判定範囲が、ROクライアント上で一発で理解できるようにはできない」というところにあります。
そのため、特に「友達登録するよ」宣言せずに登録をしようとした場合、他プレイヤーがケミの近くに自然に立っている距離を判定範囲に収めなければなりません。

で、実際にパーティを組んでみたときに調べれば判りますが、プレイヤー達は具体的に指示をしなければ、案外離れて立っています。
移動・戦闘中では、5〜10セルくらい離れるのはそんなに珍しくない。
10セルというのは、結構広いです:少なくとも街中・臨公広場で使うには、広すぎます。
つまり、現実的な問題として、登録する際には少なくとも「登録するから、あんまり離れないでね」発言はしないと、無理があると思うのです。
だとすれば、「動かないでね」発言して個別登録するのとそんなに変わらないのではないかと。

まあ、「案ずるより〜」の域かもしれないですが。

Q2. 誤登録の自動削除方法として「一定時間の間、ずっと視界内にいない人を登録削除」ってのはどうでしょう?

A2. これは可能性は十分ありです。・・・が、管理テーブル作るのがめんどいかも(^^;;

時間チェック自体は、現状でも「特友」や「ホム友」用に「10秒見失ったら削除」処理をしています。 ただ、上述のタイプは相手が非常に限られていたので、管理用の専用リスト・情報はいいかげんにしか作っていません。
範囲登録対象全てを、となると、そのあたりをきちんと拡張しないとならないので、それが作業量として結構大きいですね。

Q3. 友達登録を範囲でやるのなら、友達削除も範囲でできるようにすればいいんじゃない?~

A3. 要は、2回操作して、2回ともにいた人は友達、そうでない人は削除。
こうしておけば、「誤登録したらもう一度操作」で、よけいな人は消えるのでは・・・ということですね。

これは考えていませんでした。確かにそれは可能ですね。
Q2に関連して、専用リストを作れば「古い友達を消しちゃう」リスクも回避できますし。

ただ、この場合についてはそもそもの問題として、登録結果のフィードバックがうまくできないという点が大きくなりそうです。
要は「誤登録した」ということに気づくこと自体が難しいのです。
・・・その操作で登録した人数を表示すればいいのかなぁ・・・

・・・という感じで。

ご指摘いただいたあたりの内容を対処すれば、範囲登録もうまくできるとは思ってます。
ただ、友瀬的な「費用(投入労力)対効果」があんまりおいしくないから、現状の友達登録でもできる範囲じゃないですか?という感じです。


公式に課金アイテムが発表されました。こちら。

「もっとゲームが面白くなる」とのことですが、友瀬的にはまったく面白くなさそうなので、利用しないことで決定。
詳しい理由は、以前の日記に書いたとおり。
唯一利用するかもしれない可能性があった「デスペナ回避」も、上記日記で宣言していた「こういうパターンだったら使わない」としていた内容どおりだったので、スルー。

とりあえず全般をいうと、
「あんた、ゲームをどれくらいプレイする計算で値段つけた?」ってところか。特に大量に消費することが前提の消耗品。
確かに1個当たりの値段は、一見それなりにリーズナブル。スクロール類なんて5〜7円ですし。
でも持続時間まで冷静に考えれば、どれを使うにしても1時間維持するには100円くらいはかかる。
それを1日1時間を常時つかう計算となると、月3000円くらい。
そのアイテムを、一体何種類並べてるんですか。
どんなブルジョアを客層にしてるんですか。

・・・プリの「加速・ブレスを切れないようにかけつづける」って行為は、時給って200円ってことか。+アスムのハイプリで400円くらいなんだ。へ〜。
・・・つーか、転生キャラのスキルを誰でも使えちゃあかんでしょ。

まあそういう意味では、いよいよこれはGv向け品なんだろうね。
毎週1セットくらい買って、Gvの間だけ投入とか。

・・・「人と怪物とが争う世界」だったはずなのになぁ。
・・・やっぱり戦争が技術を発展させる、ってものなのかなぁ。


こういうことがあるから、Webもまだまだ捨てたものじゃないと思う。
というか、こういうことをしてくれる人間が、健全なんだろう。

なんのことかは、思い当たる人だけがわかってくれれば十分です。

2006/12/5 (火)

AI板で「範囲友達登録」の話題がでています。
Glenelg向けにも似たような話をもうだいぶ前・・・8月くらいから預かって、しかし対応がなされていないもの。
検討したのに、現状なぜ対応していないのか、という話を。

最初に考えたこと。

掲示板にも回答した内容ですが、最初は「一定時間、同じ敵を殴った第三者がいたら、それを友達に」という案がありました。
でも、それは以下の理由でイマイチかな、と思いました。

  1. 登録できるのが、主にいわゆる前列に限定されてしまう。
    少なくとも、敵単体を積極的に触らないタイプのキャラ:支援プリや範囲攻撃Wizなどは登録しづらい。
  2. 横殴り判定の都合上、登録したい場合は「味方が殴っている敵を、ユーザーが明示的に攻撃対象指定」しないとならない。
    こういう操作が必要なら、初めから友達単体を明示指定したっていいのでは?

次に考えたこと。

個々に指定するのではなく、一定範囲内にいるキャラを一気に登録する、っていう方法は?

これ、発想としては単純かつ効果的です。
登録範囲を自分から3,4セル以内に絞ることで、遠くから走ってきたキャラを誤登録することはまずありませんし。

ただ、逆に万が一起きてしまった誤登録をどうリカバリーするかが、非常に問題になってしまいます。
ありていに言って心配なのは、登録しようとした瞬間に範囲内にテレポインしてきた人がいたら?ってところ。
他人の中にテレポインした人は、普通即テレポアウトしていくはずです:つまりその人を削除するタイミングが難しい。
また、個人ごとに登録していたケースと異なり、フィードバック表示も厄介ですね。どの人がどのIDかわからないですから。

課題が多そうだったので、一時保留としました。

範囲判定に再挑戦

しばらく保留後、再度範囲判定を見直し。
「2回操作して、その両方で同じ位置にいる(移動していない)人だけ」を登録、っていうやり方ならいけるかも、という考えに至りました。
これなら、万一テレポ者や高速かっとび者が通りかかっても、まず問題になりません。

ただこの場合、登録しているシーンを想像して、あまりやる気がなくなってしまいました。
このやり方、実際にプレイ状況を考えると、こんな感じになるはずです。

「友達登録するから、ちょっと動かないでね〜」
みんなが停止したのを確認してから、あなたは登録操作実施。
「・・・はい、登録終了。協力どうもです(^^」

・・・登録操作が「範囲登録操作2タッチ」だろうが、「パーティメンバーを個々に数タッチ」だろうが、そんなに時間差はないのでは?

最新のアイディア

一定時間の間、ずっと視界内にいる人を登録、という作戦。
この「一定時間」は、少なくとも数分単位のもの。

これ、結構よさげに思ったのですが・・・問題はパーティ戦闘でも多少は離れてしまうことってある点。
また、これは逆にいうと
「パーティ戦闘が始まっても、その判定完了するまでは共闘してくれない」という、始動の遅さでもあります。
それなら初めから手動登録させてもらったほうが何かといいのでは?

また、街でだべっているときにこの機能を止め忘れたりした場合もまずいですよね。
登録する気もないのに、露店さんとかを登録してしまう危険があります。

やっぱり自動登録系は、本質的に誤登録の対処に困ってしまいます。
これもフィードバックの弱さが根本にある問題。

というかんじで・・・

あんまりいい着地点を見つけられなくて、放置状態になっている、って感じです。

2006/12/4 (月)

ともあれ。確かにGlenelgについては、更新はのんびりになってます。
ここ数日の日記にあるように、いくつかネタは持ってますが、急いで対応検討するほど緊急度の高い内容ではないですし。
自分が満足したら、あんまり更新しないのは、ある意味仕方ないですよね。

まあ、バグにしても機能提案にしても、遠慮なくどうぞ。
バグは極力速く対処します。
機能については・・・ありていに言って「難易度」と「友瀬が必要性を納得するか否か」というハードルはありますが、まあ考えますし。


あ〜。それは友瀬のことをいっているのかな?

正直、「すごい」なんて言葉を自分のAIに使ったつもりは一度もないので、ちがう可能性もあるが・・・最後に使ってる表現は、友瀬もよくいう言い回しなんだよな。
Glenelgは独特の仕様が多いみたいだし、他AIとの動作比較・その理由説明もよくするし。

あ〜〜・・・まあ、文章は難しいから。
友瀬がいわんとしていることが、正しく伝わっていない、ということなんでしょう。
自分の文章の悪さを反省することにするよ。

2006/12/3 (日)

掲示板での指摘を見て、ふとやったほうがいいような機能を思いついたので、少し考えて見ます。
まあ今はイベント対応が優先なので、すぐにはやらないと思いますが。

根本的な問題

ROクライアント上でのカーソル優先度。
ホムとドロップ品とでは、ドロップ品のほうにカーソル優先度があるため、ホムがドロップ品の上にいると、ホムに対するPPが非常にやりにくい。

アイテムを先に拾ってしまえばいいといえばいいのだが、上記状況ではホムの周囲にはまだ敵がいるはずで、下手なクリックをするとケミ本体が敵を殴ってしまう。非戦闘タイプのケミには致命的。
(実はSHIFT+クリックで、アイテムを狙い撃ち拾いも可能ではありますが)

ちなみに現状、友瀬がゲーム中上記のような状況になったら・・・

  1. 手動でホムを歩かせる。
  2. SHIFTクリックでアイテムを取ってしまう。

・・・というような対処をしています。
たしかにちょっと面倒な操作の部類です。

人間のパーティではいろんな意味でありえない、ホムらしい問題点だと思います。
人間ならカーソル優先度の問題はないし、もしあったとしても「その人がアイテムを拾えば」いいだけですし。

対応案

この場合の判断ポイントは、以下の項目。

  1. ホムがPPを必要とするほど、ホムのHPが減っている。
    (HPが減っていなければ、わざわざ考える必要はない)
  2. まだ敵が残っている。
    (戦闘が終了しているのなら、素直にアイテムを拾えばいい)
  3. ホムがドロップアイテムの上に立っている。

上記の条件が揃っている場合に、いずれかの方向に数歩歩くというのは、よさげな動作。
問題になるのは、ホムには「ドロップアイテムの存在」を知る方法がないこと。

そこで・・・ドロップアイテムについてはあきらめて、戦闘中、多少多めにライフが減っているようなら、敵が残っている状況でも数歩ステップ移動する・・・というようなことがよさそう。

これにより副次的な効果として、重力座標の回避が期待できる。
ショートステップはホム移動なので、その時点でホム側の座標ズレ改善の余地が発生。
そしてホム移動に対して敵がホムに追従移動する結果、敵側の座標ズレの回線の余地が生まれる、ということ。

課題

  1. ショートステップする条件の詳細。
    単純に「ライフが減っているとき」とすると、ステップしっぱなしになってしまう。
    ステップは1回したら、またしばらく戦闘するのが適切な動作。
    敵を2、3体倒してまだ敵がいるならステップ、そののち更に2,3体倒してもまだいるなら・・・って感じがいいのかな。
    加えて、その戦闘でどれだけライフが減ったか、ってのも面白い視点かも。
  2. ショートステップの方向。
    単純に通常の「逃亡ルール」に従ってもいいんだけど。

2006/12/2 (土)

ちんたら考えていること。
まあらくがきに近いレベルなので、実装はいつになるかわかりません。

SG・ME対策を考えたいね。
アクティブ狩りしているときによくある話に、「SG/MEを唱えている第三者の側で、そこにいる(その時点ではAIからフリーに見えてしまう)SG/ME使いが狙っている敵」を横殴りしてしまう、って話。
現状Glenelgでは、これを自動的に避けるには「第三者が視界内にいたら非アクティブ」にするカスタマイズくらいしか手がない。
でもこれは「呪文使いが詠唱中」という条件に絞ることだってできそう。
火壁・SG対策を考えたいね。
上記にも近いんですが。
特に火壁絡みでは、魔法使いも敵も、AIからみるとどちらも「タゲ」を取っていないので、確実に横殴り判定に引っかからない。
高速で特定範囲を往復している(火壁でノックバックしている)ような敵を判定外にするっていうのが理想。
Glenelgでは敵の動作状況を管理する仕組みがあるので、そこに「今までどう動いた」という履歴を残すことはできる・・・が、単純にすれ違い移動などをした場合の誤検知類が心配かな。
友人のレベルの更なる強化
「より守ってあげないとダメな味方(後列キャラ)」「放っておいても大丈夫な味方(前列キャラ)」というような話。
単純な職業だけでは決められないのがポイント。
殴りプリ⇔支援プリ、FCASセージ⇔純魔法セージ、戦闘BS⇔製造寄りBSなど、枚挙にいとまなし。
現状は「特友」で1人だけは「絶対守るべき」指定ができますが・・・

ホムAI開発者としての、よく考えること。

「AIでどこまで処理を行うべきか」というのは、人によってさまざまです。
また、それがどこまでゲーム性を変えていいのか、というのも悩みごと。
AIをどんどん賢くしていけば、ROクライアントゆえの(フィードバック不足などの)限界を考慮しても、結構頭のいいAIは作れると思います。
でも、ROは「ゲーム」です。
ゲームは遊ぶものであって、作業をするものではないと思っています。

ホムAIは、人間が普通にできる・やっていることをできるようにするのが、美しい姿だと思います。
Glenelgでももちろんその考え方があるので、そういうのを意識して機能を積んでいます。例えば・・・

  • 周囲に敵が多かったら、スキルを積極的に使う。そうでないときはそれなりに。
    攻撃スキルや強化系スキルですね。
  • 敵も、「たくさん敵を抱えている(==よりピンチな)味方への敵」「より危険な敵」というような優先度を持って狙う。
  • 横殴りはしないように。どんな状況でも、横殴りっぽいと気が付いたら即止める。 ・・・などなど。

そういう意味で、Glenelgで実装する際に一番「実装してよいか否か」で悩んだものは「詠唱反応動作」です。
これはゲーム性を大きく変更してしまいます:通常人間の操作では追いつかずに不可能に近い「敵への呪文詠唱妨害」を、かなりの率で成功させてしまいます。
正直ちょっとやりすぎかな、と思っています。

逆に、こういう考え方もあって採用を避けている、というのがmobdata関連。
mobdataを導入した場合、「敵と実際に戦うことなく、対処方法を決めてしまう」というようなものになりやすいってところが、友瀬的によろしくないんじゃないかな、という感じです。どういうことかというと・・・

気に入らない例(これはゲームじゃなくて作業じゃない?)
「MDEFが高いという”データがあるから”カプリスを使わない」
「レベルの”数値データが”極端に離れた敵だから、攻撃を仕掛けない」
友瀬的には・・・(ゲームってこうじゃない?)
「”実際にカプリスを撃ってみたら”、ぜんぜん割に合わなかったから、それにはカプリスを使わないようにしよう」
「殴ってみたらかなわなかったから、触らぬ神に祟り無しとしよう」

更に別の例では・・・これも友瀬が冷たい態度を取っているのが「放置狩」や「寝落ち検知」。
「自分では他のコトをするほど楽しめていないのに、なんでレベル上げなんてするの?」とか「眠ってしまうほどゲームを楽しめてないのに、なんでPCの前にいるの?」とか・・・これを「作業」と呼ばずになんというんですかね。

まあ最初に言ったとおり、このあたりは人さまざまです。
その人なりの理由・正義があると思います。
ただ、友瀬&Glenelgではこういうスタンスで考えて・作られている、ってところです。


▼過去ログ
お名前: