calendar_viewer 日記/2007-11

お名前:

new<< 2007-11; >>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

2007/11/29 (木)

父ちゃん情けなくって涙が出てくらぁ。

つーか、自分に対してですが。
なんでこんな基本的なところの設計ミスをしているかなぁ。
自戒の意味も含めて、公開メモ。

  • 報告概要:スキル使用率を最大値にした際に、スキルを使用してくれない。
    • Glenelgではスキルの使用率を「敵タイプごと」に指定できる。
      仕様上、その際の値域は「一切使用しない0〜最大10」となっている。ヘルプ記載もこのとおり。
    • 実際に操作して「スキル使用率を10」にしようとすると、情報ウィンドウには正しく10が設定された旨表示される。
    • ところがこうすると、スキルを一切使ってくれない。
  • 調査結果:設定値保存アルゴリズムの設計ミスによるバグ。
    • 単純に言ってしまうと。
      保存アルゴが「0〜9の値」でしか正しく動いていません。
    • もう少し細かく。
      Glenelgでは設定値の保存の際に、データ文字数削減のために複数の設定値を1つの数値に加工して保存しています。
      具体的には「1桁目はスキルの使用率。2桁目はスキルの使用レベル・・・」というように。
    • ・・・もうお解りですね?
      スキル使用率の記録領域は数値1桁分しか確保していないので、「2桁になる10」は正しく記録できないのです。

・・・情けなくって涙でてくるぜ(笑)
値域の確認なんて、設計の基本中の基本なのに。

・・・ともあれ、どーしたもんか。
直すのは記憶領域のフォーマットをいじれば簡単なんだが、それをやっちゃうと旧設定値との互換性がとれなくなる==ユーザーさんがまた敵ごとの設定をはじめからやり直し、なんだよな。
それはいくらなんでもあんまりだし。
・・・以前に作ったluaフォーマット版を利用するか・・・


実際の使用率について

Glenelgでホムがスキルを使う実際確率は、以下のような式で計算されています。

使用確率 = 残SP率 * RATE値 * 敵ごとの使用率 + 周囲の敵の数 * 3

RATE値はデフォルトで5。
敵ごとの使用率は、まさにユーザーが画面操作で設定する「スキル使用率」の0〜10の値。
つまりスキル使用率10に設定した場合、「53% * SP残量による率」が百分率での使用確率となります。
50%やっとという値は「意外と使わない」ように思えますが、このチェックはAIサイクルごとに実施されますというのが1つのポイント。
もしあるAIサイクルでスキルを使用しなかったとしても、次のAIサイクルにはまたチェックされるのですから、5割を超えているこの設定値では「3AIサイクル」挑戦すれば確率的には使用しておかしくない:あるAIサイクルで使用しなかったとしても、次の2AIサイクルでは使われてもおかしくない。
1AIサイクルは平均すれば150msecくらいですから、「ディレイ明け約0.3秒遅れ以内に使用」というのがおおむねの期待値になります。
まあ実際にはSP値が下がっていることを考慮、6割掛けして「4AIサイクル==0.5秒遅れ以内に使用」というのが実力くらいではないでしょうか。

使用率9にすると5%率が下がって48%基本。
SPが満タンでも2AIサイクルではスキル使用しない確率が増えてきます。

あくまで確率論なので、50%のスキル率だからといって3AIサイクルで確実に使われるというものではありません:50+25+12.5で9割近くはなりますが、それもあくまで確率。
ともあれだからといって、「使用率10」にどれだけ意味があるかはまた微妙ではあります(^^;;


参考:最適化論

よく言われる話で。
「なんでスキル使用を確率にするの?
 SPがあってスキル使用許可している相手になら、100%使ってもいいじゃない?」
・・・というものがあります。

確かにそういう考え方もアリだと思います。
実際、どうせスキルを使うのだったら「敵の体力が少しでも残っている==オーバーキル率が低い」タイミングで使ったほうが、効率がいいはずだし、早くも倒せるはず。
Glenelgでそういう設定をしたければ、ai_option_xx.ini を手で編集してみてください。

ATTACK_AUTOSKILL_RATE = 100

とすれば、「1AIサイクル内での標準スキル使用率が100%」になるので、まず最速タイミングでスキルを使用してくれます。
これで敵ごとのスキル使用率を4以上にすれば、完璧です。
SPが残り1/4になってもスキル率は実質100%以上ですから。

ただまあ、この場合、逆に撃ち過ぎになるように思います。
極端な話、「カプリス2発+殴り」で倒すくらいが適切な相手に対して、3発目を撃ってしまう可能性がそれなりに高い。
そういう意味では「敵ごとに最大n発まで」とかできるのがいいんだけど、それをやると今度はカプリスのランダム性がネックになる。
属性が合わないと、カプリスを何発撃ってもろくに効かないってことが往々にしてあるわけで。
・・・と。どれくらい当たってるかがAIから見えない以上、そこにこだわるまでもないかな・・・ということで、現状がお勧め実装になっているだけです。

AIが勝手に撃つのは少なめにしておいて、 本当にたくさん撃ちたいときは人間が手でフォローしてあげればいい。
AIが撃ちすぎるのを止めるI/Fを作るよりは、こっちのほうがいいかな、って思っています。

2007/11/26 (月)

言葉足らずはお互いさまで。

昨日の「これも正義。それも正義。」ですが。

彼の立場のうまいたとえがでてこないのも誤解を生んでいる点だとは思いますが・・・彼の思想そのものは、友瀬は理解はしているつもりです。
ただ、それが友瀬の正義にマッチしないから、
「理解はできるけれども賛同はできない」
としているだけです。
思想を切り離してしまうと、スキル使用の視点で、実際に生み出されているもののやっていることがおなじに見えるから
「思想を理解せずに道具を使われる」
ということを懸念しているだけです。
まさに技術そのものにはベクトルがない、という世界ですね。

ああ、この件については彼自身というよりは、横殴り全開で放置している側にいいたいところですが。
彼は横殴りについては否定をしているわけで、ことこの件については共通の見解は持てているのですし。


それでも例えたつもりだった。

ちなみに友瀬的には、自殺幇助サイトは別に悪いことだと思っていませんよ。
自殺をしたいと思うこと・自殺することには、なんの許可もいりません。
そういう方法を探して助けてくれと言っている人がいるとき、それを助けることに何の遠慮がいりますか?
もともと殺人がタブーとされるのは、「死にたくない」「大切な人を失いたくない」という思いから生まれたもののはず。
本人が死にたい、しかもその周囲に彼を必要とする人がいないとなれば、これを問題視するほうがどうかと思います。 死にたいという意思を否定することは間違っていると思います。
安楽死問題にも通じますが。
もちろんそれでも、法上は、殺人は殺人。
相応の覚悟はいることですから、とても友瀬にはできません。
でもそれと、行為の正当性とは別に論じるべきです。

・・・ともあれ問題は、そういう手助け行為が問題になるほど「死にたい」と思う人が多い、社会のほうにあるんじゃないですかね。

・・・におわせただけだとまた誤解を生むかな。書いちゃおう。
・・・問題は、AIからのスキル使用についての手助け行為が問題になるほど、「無人運転をしたい」と思う人が多い、社会のほうにあるんじゃないですかね。
実際にどれだけそういう人がいるかはわからないですが、これもROの歴史の問題で、みんな過敏すぎるぐらいに嫌悪する相手になっているわけで。

これも繰り返しですが、無人でなければ誰も文句を言わんと思うのよ。
人間が使ってるかAIが使ってるかなんてのは、外部からはまずわからんのだから。
友瀬がAIからのスキル使用を認めていないのは「ホム用AIからケミスキルを使うのが間違っている」から自分では作らない、というものであって、それをよしとする人たちがどうこうすることを禁止したいわけじゃない。
ただ、そういう機能を求められるのがめんどくさいので、先に自分の意見を言っているだけです。


一覧表の件。

これも昨日の日記がらみ。
勘違いしてほしくないのは、これも昨日の日記の最後で一応書いてありますが、誰が誰になるのかはまったくわからないということです。

例えば、かの大戦がもしヒトラーがヨーロッパを制圧して終わったのならば。
その未来ではヒトラーは大英雄であり、アーリア人以外は下等市民として扱われるような世界になっていてもおかしくない。
例えば、某宗教が腐敗せずに力を持ち続けることがあったなら。
ガリレオの偉大な説は永遠に日の目をみることなかったのかもしれない。

われわれの世界では科学が進歩した結果、ガリレオは正しくヒトラーは間違っているとなっていますが、それだって更なる問題は生まれてくるわけで:それこそC2問題とかね。

某一覧表は、主催者もリストに載ったのもたまたま「旧AIスレ」住人関係者がが多かったから、そこでの正義が強かっただけ。
でも「本体スキルがAIから使えるのが正しい」「傭兵がきたら、ケミ以外だって使えるのが適切」という思想が標準になるかもしれない。
そうなったら、「異端」は友瀬の側になります。

正義というのは、多くの場合、それだけ相対的で絶対のものではないということです。


ともあれ。

とにかく究極的な問題は、
中身がいると想定されるべき状態で、中身がいない形で運用がなされることで。
その結果、中身がいないと行えないことが多々発生していることにあるわけで。

AIにできるのは、力仕事だけです。
仕事を適切に実施するには、頭脳となるモノがいるわけで。
人工知能とは言っているんですが、あの頭は飾りなのです。
あそこに座り込んでいる人たちには、それがわからんのです。

・・・ああいう風に座り込むのが常識の世界になってしまうのは、やだなぁ。
ゲームって自分で遊ぶもんだと思ったんだけどなぁ。
自分以外のものを働かせるのが楽しいのかなぁ。

2007/11/25 (日)

これも正義。それも正義。

某可能の方とは、彼も書かれているようにいろいろやり取りをしていますが。
おそらくこれも彼と共通の見解になっている部分が、
「『AIからのケミスキル』の件については、たぶん今後も平行線だろうな」
という思いです。

友瀬の正義的には、これも繰り返すまでもないと思いますが、この件はNGで。
でも、彼の正義的にはこの点については特にお咎めなしで。
そしてどちらにしても、社会正義を司るところがそれを行使してこない以上、どの正義が適切なのかは言えないわけで。
現実世界ですら「自殺幇助サイト」や「薬物サイト」などを運営していることに対する問題性は話題になるわけで、それと同じ世界なのですから、賛否が分かれるのは当然なのです。

真実を言っていても認められなかったガリレオ。
正当なものを作ったのにもかかわらず、対抗する発明家につぶされたニコラ・テスラ。
最後は虚言をからかわれ続けた丹波哲郎。
妄言だけで力をつけて一度は世界を席巻したヒトラー。
誰がどの人の轍を踏むのかはわかりませんが、自分の道を持っている人にとってそれを否定することはできない。


勘違いして欲しくないことは。

そのこと自体に対する賛否はありますが、ガンホーはいわゆる「ノーマナー行為」は禁止しています。
そしてそれの解決については、ユーザー同士の話し合いでといいつつも、報告フォームに駆け込み枠をも準備しています。

横殴りして、それを悪びれもせずにいるような相手は。
そういう報告をしていいのです。
「横殴りしないでください」
・・・返事がない。
「すみません、横殴りやめてください。」
・・・返事がない。
こんな相手は報告されても文句は言えません。
こっちの話しかけに応じる気がないのでしょうから。
中身がいるかいないか、ツールを使っているかいないか、ホムAIからケミスキルを使っているかいないか。
そんなこととはまったく別次元の問題、関係ありません。

逆に言えば、これ以外の反撃方法は、あんまりほめられたことじゃないと思います。
少なくとも、運営側が対応策を出しているのですから。


正当にコミュニケーションしてみよう。

相手が横殴りしてくるからといってそれに横殴りを返すのは、健全とはいえません。
MMOなんですから、きちんとコミュニケーションしておきましょうね。

「すみません、弱いんで壁してもらっていいですか?」
・・・返事がない。
「壁してもらっちゃだめですか?」
・・・返事がない。
「・・・チャット苦手なんですね。嫌だったらなんかエモだしてください。それまで近くでやりますから。」
・・・エモも返事もない。

相手が認めてくれたようです。
共闘しまくりましょう。
らっきー(笑)

・・・ちなみに、Wisを全止めしているとオープンチャットも見えなくなるようですが、そもそもWis全止めするほうがおかしいと思っています。
まあ文句をいえないように、そばでいろいろエモをだして、会話の意思表示をする価値はあります。


あ〜。また頭悪い突っ込みきそうだから先手。

露店をだしてる人がいたので、割引してもらおうと思って声かけしたけど反応しない。
放置だから通報?
・・・ばかだろ、あんた(笑)
なにが問題なのか、よく考えろ。
その上で放置露店がどーしても問題だっていうなら、まあ報告してもいいと思うがね。

2007/11/20 (火)

結局、悪いのは。

いろいろ言ってますが、やっぱり本質的な問題は。
「横殴りやルート」と言った『盗む』行為をする人たちが悪い。

でも同時に。
それを禁じておきながら、それに対してあまりに甘いガンホーにも、罪はあると思うわけです。
特にその『盗み』の常習犯たる機械の人たちを何年も放置して、プレイヤーたちに以下のようなことを潜在的に染み付かせてしまったのは非常に罪深い。

  • 「少々盗みをしたって罰せられることはない」という、警備体制へのあきらめ
  • 「無人運転者==盗みの常習犯」という、潜在的な理解

匿名掲示板の放置ホム容認派の人たちの話を見ていると、きちんと迷惑がかからないように努力している人たちがいるのは事実。
でも実際には、放置をする人の中には「盗み行為だってだいじょぶさ、へへん」という人もいる。
放置に反対する人にも、お行儀よく動いているホムに対しても無条件に「無人運転⇒悪い奴」と思う人も多い。

もちろん機械の人たちがいなかったとしても、そういう思いが生まれるのは時間の問題ではあるだろう。
人間、楽なほうに流れるのが普通だし、モラルがない人っていうのも当然のように存在するわけで、それを見たモラル派が胸を痛める構図は同じ。
でもそれだって、本質的にまずい「盗み行為」がきちんと罰せられていれば、まったく問題にならないはずで。


開発側から見て。

ホム自体がROにあとから継ぎ足された関係で、ホムのスキル管理が怪しいのはずいぶん前から言われていること。
特にホムスキルについては、

  • ケミのショートカット上に置ける必要がある
    →内部的にはホムが該当スキルを持っているように実装
    →ケミスキルとホムスキルが内部的に区別しきれていない
    →ホムAIからケミスキルが使えてしまう

・・・ということが十分予想できます。
ROクライアント内部では、ショートカットなどからスキルを使っても、AIからスキルを使っても、同じ「スキル使用」関数が呼び出されているんだろうな、っていう感じ。

もちろん上記はあくまで予想ではありますが。
どっちにしたって AIからのコール==SkillObject()を、それ以外の呼び出しと別にすることは簡単そうです。
極端な話、AI用のSkillObject() にバイパスする関数を1つ作って、そのバイパスの中で使用キャラのIDをチェックして・・・とかやればいいだけです。

まあ、友瀬もメーカーで開発をしている身。
ガンホーの腰の重さも、ある程度は理解できます。
特にソフト開発の場合、バグ混入を避けるために、簡単に直せるものでも波及効果を証明してからでないと手をいれられないようなルールがあってもおかしくない。
でもそれにしても。
こんなに簡単なことをいつまでも直さないのは、開発側の怠慢だとか、暗に許可しているとか言われても文句は言えないと思います。

・・・結局、ガンホーの現状の担当者は、ROというゲームをあくまで道具としか思っていなくて、自分では遊んでいないわけですよ。
これもときどき言っている話ですが、誰だって自分が困っていないことに対しては、腰が重くなるはずです。
自分でホムを使ってみれば何が問題で何がおかしいのか、すぐにわかるはずで。
そして、それを禁じることではホムAIの主機能は残るのはわかるはずですから。

2007/11/15 (木)

やりすぎると。

一度こっちに書いたんだけど、ROだけの話じゃなくないと思ったので、本文内容はjunkyardのほうへ。
https://tomose.net/junk/index.php?%C6%FC%B5%AD%2F2007-11-15#nb177fa9

RO側での補足。

いや、もちろん、最初はアレやコレといった、さんざん友瀬が言ってることについての内容だったんですけどね。
実際ROだって、同じことがあってつぶされたものはたくさんあるし、今できることだってどうなるかわからんでしょ。

で、そういうことを省みたときに、
「できるからやる」とか「禁止されたらできなくなるから今かせげ」じゃなくてさ。
「できるけどやらない・やっても角が立たない範囲で」という、「建前」は持っておいたほうがいいよ、っていう話。
実際にはやってほしくはないけど、気持ちはわかるのよ。
ウハウハしたいのは誰だって・友瀬だって同じ、まったく否定する気はない。
だから、そこそこにやってる分には友瀬もなにも言わんわけよ。
「できるからやっているだけ」「禁止されてないことをやって何が悪い」「他のやつもやってるだろ」って言ってわがもの顔で暴れて、行儀よくやっている範囲の人の自由まで脅かすから文句もいいたくなるわけさ。


技術にベクトルはないが、行為にはベクトルはあると思う。

使いやすいバットを作った。
野球をやる人なら、誰でも感動できる、すばらしい技術による作品だ。

打ちやすい金槌と釘を作った。
日曜大工をやる人なら、誰でも感動できる、すばらしい技術による作品だ。

・・・このバットにこの釘を打ち込んで、いわゆる「釘バット」を作った。

・・・バットや釘への技術そのものはもちろん、釘はバットにも打てるという技術には、無論ベクトルはない。
・・・この「釘バット」を何に使おうが、それはその使う人の勝手。
だが、わざわざこう組み立てておくことに、ベクトルはないであろうか?
これをいわゆる暴の人が手に入れやすいようにしておくことに、どういうベクトルがあるだろうか?
自警団の人にこの釘バットを渡すことから、どういうベクトルが生まれるだろうか?
自分では組み立てず、「こうすれば釘バットが作れる」ということに罪はあるだろうか?
ある人がすでに同じようなものを持っていたとして、だからといってその相手に・・・暴の人か、自警団の人かはわからないが・・・わざわざ提供してあげることはどうなるのだろうか?
特定の人に渡さなくても、誰でも自由に使えるように置いておくことにどんなベクトルがあるだろうか?
そもそもたとえ釘バットにしなくても、バットや釘+金槌単体でもそういう世界はあるが、その場合はどうだろうか?

もちろん、考えもしなかった組み合わせ・使い方が、新しいすばらしい発明を生むという事実はある。
だから釘バットを含めて、ここに挙げたような物を作ること自体にはベクトルはない、と考えるべきだろう。
だが、何かが間違っていると、友瀬の感覚が訴えている。

・・・ああ、そうか。
メーカーの開発部門、研究部門の差の話かもしれん。


あ〜。わかってると思うけどさ。

友瀬は基本的に全編こんな感じなわけで。
それなりにここやjunkyardをリピートしてくださってる方は、多少の異論はあるにせよ、ある程度友瀬の言っていることはわかってくださってると思うのよ。
実際、いわゆるDQN系なつっこみは散発的にしかないし、たぶんそういう人はここへはリピートではこないでしょ。
正直、Web上では僻地もいいとこのサイトだし。

ただ、相手が来なくても友瀬がちょっと出歩くだけで、そういうモノに出会ってしまうわけで。
一応個人の勝手日記なこのサイト、気になった思いのたけをしまっておく気はあんまりないだけです。
物事にはいろんな視点があるわけで、友瀬の視点が果たして世界一般とどれだけ一致しているかはわからないですが。

2007/11/13 (火)

人間は感情の生き物です。

そうです。
わたしが常々主張しているのは、本質的に感情論です。
そりゃそうですよね。そもそもマナーってもの自体が
「同じ生活圏に住んでいる人同士が、お互いに気分よく」付き合っていくために生まれたもの。
「気持ちよく」という時点で、マナーを語ることはすでに感情が根底にあるのです。

自分がやられたくないことをされたら、腹が立つのは当然です。
そしてもう一歩踏み込んで、こちらのアプローチに対してなんらかのレスポンスがないというのも、同様に不快なものです。
別にいつもいつも声をかけろなんていいません。
友瀬だって、街中ですれ違う人全員に挨拶するような変人とは、付き合いたくありません。
声を掛け合うべきタイミングで何もしていかない、そういう相手をどうか、と思うだけです。

ともあれ。
自らゲーム内で感情を放棄している人には、何も言われたくないですがね。


BOTとツール

誤解を恐れずに言えば。
友瀬は、BOTは決して認めません。
が、ツールは本質的にはアリだと思っています。
(11/16追記:ここではBOT==完全な無人運動するもの、ツール==ユーザーが目の前で使うもの、というニュアンスです)

もちろん、規約上は「ツールは禁止」です。
悪法も法ですから、これ自体を否定する気はありません。
だからこそ「Glenelgの設定ツール」なんていう「規約上リスクを伴う」ものはやっていないわけで。

ただ、なぜツールが禁止されているのかという理由をきちんと考えた上で、それを飛び出さない範疇のツールは使ってもいいかな、というのが本質的な思い。
実際問題、これを認めなかったら、極端なことを言ってしまったら
「ガンホーが公式に認めたモデルのマウス・キーボード・PC・OS・常駐アプリなどなど」
がちがちの環境でしかゲームはできなくなりますよ。
そんなこと無理ですよね?

結局前述の話と同じで、マナーの問題なのですよ。
ゲームとしてのルール違反・マナー違反をしないっていう前提の元に、ルールを破ってしまうもの・・・例えばトリプルストレイファンとか、無限射程JTとかのツールは禁止されて当然です。
誤判定から横殴り・ルートしまくりなBOT、およびそれを生み出しているマクロツールが禁止されるのも、ある意味当然の流れ。

裏返せば。
友瀬は「他の人が感情的に不快に思わない」、マナーを守る範囲でならばツールは使ったっていいと思うわけです。
例えばマクロツールだって、 「エモのALT+4操作を1キーだけで出せるようなマクロ」は許されていいと思う。
製薬の「Fキー・↓・↓・Enter・Enter」の一連操作のマクロも、まったくかまわないと思う。
ただ、ではどこまでマクロ動作させていいのかを定義するのは難しい。
上記製薬マクロを100回繰り返したら、それは認められるか?
ダメだとしたら10回ならどうか?
・・・そういう話があるから、規約は「一律禁止」とせざるを得ないでしょう。

苦しいところですがね。

2007/11/11 (日)

引き続き敵火壁対応

まだ完全ではないんですが、 そろそろイベント対応に戻らないととってもまずい時期になったので、 ここで一時開発凍結。

一応状況を説明すると・・・

  • 実装自体は、テスト版レベルで済み。
  • 一次テスト--仮にその現象が起きたら、という状況を仮想的に作ることでそれらしく動くかどうか--実施済み。
  • 実戦テスト、簡単にだけ実施。

・・・という感じ。
まだ裏を取りきれていないのと、冗長すぎるソースなのとで、正式リリースは未実施。

・・・動きをまったく保障しないβ版でよければ公開してもかまいません:興味がある人がたくさんいるようなら考えます。

2007/11/10 (土)

敵火壁対応、実施中

回避運動用の処理:「あるセルに火壁があると仮定する」処理は、予想通りたいした問題ではなく、実装済み。

問題は「あるセルに火壁があると判断する」処理。
先日の方針通り、ノックバック起因で処理を変えるつもりだったのですが、そのノックバック判定に意外な苦戦をしています。

問題点:移動中のノックバックの判断が手間
どういうことかというと。
ホムからは「1セルのノックバック」にしか見えない。

例えばあるAIサイクル開始時、の位置関係が以下のような場合。話を簡単にするためにX座標にだけ注目。

座標01234
   ホ炎 敵

この状態では、ホムは自分の位置を「座標1」と検出。 上記状態から→へホムが移動しようとしてMove()実行し、このAIサイクル終了。
で、次のAIサイクル時点では、以下のようになる。

座標01234
  ホ 炎 敵

ホムは火壁にはじかれて、火壁から見て2セルの位置に移動。
つまりホムは自分が今「座標0」にいると判断、以前の位置からは1つ左にずれたと判断する。

「じゃあ1セル戻ってもノックバックでいいじゃない」という話をしようとすると、これはまた具合が悪い。
移動中に手動で移動方向を変えた場合に誤検知してしまうケースがある。
同様にX座標だけで例を書くと。

座標012345
    ホ  x

状況として、一度上記x地点:座標5に向かってのMove()命令が実施されていると思いねぇ。
この状態でAIサイクル開始、ユーザーが座標0への移動操作を行ったとする。
この時点ではホムは「自分は座標2にいて、目標が0になった」と記憶する。
ここで問題になるのは、この操作をしている最中にもサーバ側ではホムが右に動いているという事実。
その結果、次のAIサイクル開始時には、以下のような位置になっている可能性がある。

座標012345
  新  ホ 旧

この状態をホムから見ると。
「自分は座標0に向かっているつもりなのに、以前いたはずの座標2よりも右にいる」
・・・つまり、座標2からノックバックさせられたように見えるわけだ。

・・・ダメージ判定とか、過去座標も含めて「方向転換後の1手目の移動は無視」とかしないとだめかなぁ。いまいち面倒なんだけど(^^;;;
DanceMacableとの兼ね合いもあるので、「ダメージが入ってかつ1セル」ってのもまずそうな気もするので、かなりめんどくさい状況に。

ちなみに戦闘中:ホムが移動していないときについては、今のところ問題なさそうです。
しかもこの場合、普通敵が以下のような位置になります:

座標01234
  ホ 炎敵

これも昨日のルールどおり、火壁の周囲はすべて侵入不能セルにするので、結果、敵が進入不能セル内にいると判断、自分でChaseしにいきません。
結果、掲示板であった「迎え撃つ」動きが自然にできたりしました(笑)
これはまあ、もうけものかな。


中身がいないこと。

友瀬は「中身なしで狩をしているROキャラクター」は本質的に認めていません。

機械の人がダメな理由にはいろいろあります:以下、いろいろ言われているケースについての友瀬のコメント。

規約に書かれているからNG
一理あると思います。
ですが友瀬的には「なぜ規約でNGとされているのか」という本質を語られていないので、いまいちです。
そこに触れないでこれを主張するだけでは、ダメだと思います。 というか、これを認めるってことは「規約に書かれていないからOK」と言っているのと同じですよね。
それについては散々否定しているわけで。
マクロツール使用だからNG
上記に近い話で一理はありますが、まだ不足です。
例えばその人がツールを使っていようがいまいが、その人が横殴りだとかルートだとか、そういうことを友瀬にしてこなければ、友瀬にとっては実害はありません。
勝手にやってください、って感じです。
貴重品が量産されてゲームバランスが変わる
一理ありますが、友瀬的にはあまり大きな問題ではないと思います。
例えば24時間稼動している機械の人が1人いなくても、8時間プレイする廃人が3人いれば総量は変わりません。
ゲーム寿命全体としてみたらどうかわかりませんが、1個人レベルで文句をいうのはあんまり意味がないと思います。
1プレイヤーの収入が増え、Gvへの影響が大きい
一理ありますが、友瀬的にはあまり関係のない話です。
確かにGvプレイヤーとしては決定的に大きな問題でしょう:前述の例でいえば、毎週の投入額に3倍の差が生まれるわけで。
でも、Gvをやらない友瀬には関係がありません。
横殴りするのがNG
友瀬的に、嫌な項目。
横殴り自体は、人間だってします。きちんと設定している機械の人は、確かに人間よりも「実際に横殴り」することは少ないと思います。
問題は、実際に横殴りした場合になんの謝罪もないこと。
経験値が減るとかルート権を奪われるとかいう実害もそうですが、それよりはそれが「今後も改善されずに繰り返し実施される」という心理的な影響も大きい。
ルートするのがNG
友瀬的には、これが一番納得がいかない項目です。
前者の横殴りと同様の「繰り返し」という点もありますが、それよりも得られるものが貴重というのが問題です。
経験値は単に倒せば確実に手に入りますが、ドロップ品、特にレア度の高いものはなんぼ倒しても手に入らないことはあるわけで。
人間がやらないような挙動
あんまりこれを言う人はいないと思いますが。
これ、前提としてはここまでに書いた「嫌な行為」を連想させる効果があるのがよくないです。
例えばテレポしまくりの人なんてのは、実際にはなんの悪影響も無いはずです。
が、それが「横殴りやルート」をしてくる相手だと思ったら、いつそれらに襲われるのか気にならない人はいないでしょう。
似たような話で、人間ではやらないような横殴り阻止方法:隣接する前歩いてきてからテレポなんてのも、乱戦中にやられたらルートの心配があるわけで。

人間、正論でいうことは簡単です。
だけど本質はやっぱり「自分がやられて気分が悪い」というのが根底にあるわけで。
それが社会一般のルールと合致している以上、文句を言いたくなるのは当たり前です。

2007/11/8 (木)

昨日の日記の補足。

最後のセクション(ソフトの怖いところ)が理解できなかった人がいるようなので、ちょっと補足。

例えば友瀬がGlenelgで放置狩をして欲しくなくて、「一定時間ケミが移動しなければ、ホムの活動を一切停止する」というAIを組んだとする。
それを公開した場合、何がおきるか。

  • 放置しない人には、まずなにも関係がない。
  • 放置して、かつ自分でAIを読めるレベルの人は、「移動しなければ」チェックをはずしてしまう。
  • 放置して、自分でAIを触れないような人は、「別の公開AI」もしくは「古いバージョン」を使うだけ。
    • もしかしたら、「直せる」人が修正版を再アップor修正箇所指摘とかするかもしれない。

・・・という感じなわけです。
友瀬だって「移動しなければ云々」のプログラムを作るのに多少の時間はかかりますし、それは「放置をしない友瀬」にとってはなんの意味も無い。
さらに、このコードに影響を受ける人は「それを削除」してしまう。
つまり、時間をかけて作っても、それは機能しない・削除される運命にあるわけです。
・・・そういう書くだけ無駄というような、労力を使いたくないのです。

まあ、Glenelgはつくりが難しいとか、設定ツールがないとか、動きが独特すぎとかいろんな理由で、放置はもちろん全体需要も低いようですが(笑)


火壁対策検討中

ひさびさにAIの話。
こんな機能を検討中。
まあ、イベント対応があるので実装するのはいつになるかわかりませんが。

  • 課題:敵が使ってくる火壁。
    よくあるケースとして、GD3のマリオネット。
    現状ホムは敵の火壁の存在に気づくことができないため、火壁を使われるとそれを無視して「敵マリオネットに突撃→ノックバック→また突撃・・・」ループに入ってしまう。
  • 対応方針:
    常時ホムが自分の位置を監視して「ノックバックされた」と判断したら火壁があるとみなして、そこを一時的に進入不能セルとして扱う。
    • Glenelgにはすでに「障害物迂回」の仕組み自体があるので、火壁セルを侵入不能として扱えば、火壁を迂回して敵に近づくことができる。
    • 実際には火壁は3セルの幅を持っている:上記判定では火壁の向きまではわからないことが予想されるため、少し広めに「予想セルを中心に3x3の9セル」を火壁とみなす。
    • この「一時的な進入不能セル」には、タイマーでリセットする仕組みを持たせる。
  • 課題
    1. 火壁以外のノックバックとの兼ね合い。
      ありていに言って、デビルチのJTやボンゴンのバッシュなど。
      ノックバック距離を使って判断するつもり;敵種類を見ると、敵追加になったとき手間がかかるので。
      • 関連して、ここでもPv/Gv対応は考えない。
        こういう条件を含めると、SGなどが微妙になる。
    2. DanceMacable(移動キャンセル)との兼ね合い。
      自分で常に1セル動くわけで。
      火壁のノックバック距離が2であることを利用して、それで判断するしかないか?
      つまり、1セルノックバックは判定対象外。
    3. ノックバック後の動作。
      戦闘中なら、その敵へのChase処理へ。新規Chase動作なので、自動的にルート再検索になる。OK。
      Chaseを含めた移動中の場合、新規処理が必要:今は1つのChase中にルート再検索する仕組みが無い。

2007/11/7 (水)

昨日への反省と訂正。

すまん、昨日はちとカッとなって書き違えた。反省。
訂正というか修正というか。

誤)ただ、その人たちが友瀬を馬鹿にするのと同じように、こちらもその人たちを哀れんでみるだけです。

正)ただ、その人たちが友瀬を馬鹿にするのならば同じように、こちらもその人たちを哀れんで見るだけです。

社会政府==Gung-hoが公式見解を出していない以上、どれが社会正義なのかは言っちゃいけないのです。
上記誤りは、それがきちんと整理できていませんでした:友瀬の正義を社会正義においてしまっている。これはこの手の議論をする際にはしちゃいけない。
で、正したほうは、その裏返しですね:もし相手が「相手の正義を主張して押し付けてくるならば」ということ。

互いの正義に多少の食い違いがあっても、相手の正義を理解して互いに目をつぶることができるケースもある。こと昨日の話題については、たぶん互いにそういう域だと思う。


PT戦闘vsホムAI

horoさんの11/7付けブログにあった内容からみで。

PT対応は、Glenelgでも一応は検討・実装してあります。
共闘とか、友達登録とか、タゲとりルールとか。
でも、本質的に、これ以上は無理。
理由は簡単、友瀬がGlenelgでPV対応・GV対応をしていないのと同じ。
友瀬は基本ソロプレイヤーだし、PTをやってもガチガチ・ぎりぎりの動きを追求する気はない。
特化でない「前列キャラの基本」としてのおおざっぱな動きならわかるから、前述のような多少の作りこみはしたけど、それ以上はわからない。
「やる気がない」から「調べる・作る気もない」、作ってほしいと言われても「知らない」から「作れない」、そういう領域なのです。

一応数少ない経験の引き出しをあけると。
ホムまわりについては、ホムシステム的にPTプレイには向いていない要素がいくつかあるので、そのあたりをなにかうまくフォローできる仕組みがあるといいかもしれませんね。

  • 問題点1:ホムの体力表示問題
    ホムの残り体力は「ボスケミの画面」でしか確認できない。
    言い換えると、味方メンバーから見るとホムは「死にそうなのか元気なのかわからない前列」。
    つまり「いつ決壊するかが見えない、頼りきれない壁」に見えてしまう。
    • 体力が減ったら逃げ回るAIはたくさんあるけど、逃げ回られても困る。
    • 体力が小さくなったら即逃げるのではなく、なんらかの形で「死にそう」をアピールできると面白いかもしれない。
      • 例えば「普段は縦方向で Dancemacable(移動キャンセル)」「少しHPが減ったらDance方向を横に変更して戦闘続行」「死にそうなレベルなら、逃亡」という感じとか。
  • 問題点2:Job経験値ロスト問題。
    解説は不要ですよね?
    • 基本的には「共闘」と「タゲ取り」以外に手をださないようにしてJob消失を抑えるくらいしか手はないか。
      PT人数と敵予測HP・自攻撃力から、「経験値が減らない範囲で攻撃」なんて手もありそう。

Will ソロプレイヤー become 放置者?

ひきつづき、horoさん11/7日記からみ。

いや〜、それはそれこそ使い手の信条・正義の世界でしょう。
ソロプレイヤーだって放置なんかせずに狩りをする人はいるはずで。
つーか、その理屈だと「ほぼソロしかしない」友瀬は放置してなきゃならないじゃないですか(笑)

放置で得られるのはほとんどBaseレベルだけです:強くなったデータを見てニヤニヤできるナルシストな人以外は、「強くなったデータを使って何かをする」という本質的な目的があるはず。
そこにはソロ・PT・Gverといった差はあんまりないように思います。

Gvプレイヤーは「少しでも人より強く」が求められるのですから、転生の促進・転生後の強化のために、「寝ている間にも狩りを」という考え方だって成り立つ。
PT専門プレイヤーだって、「身内の先行メンバーと公平PTを組むために」「よりおいしい狩場の臨公に参加するために」Baseを求める可能性も考えられる。

まあ、友軍と共闘できないようなAIでは、確かにPTプレイなんざできないですからソロになっちゃうってのもわかりますが、それだって手動でやればなんでもできるし、他のAIを探す選択肢だってあるわけですし。


放置に向かないホムAI?

・・・ともあれ。
とにかく相手の当面の目的は「レベルをあげたい」という普遍的なものと思われ。
当然それは、ソロだろうがPTだろうが関係なく求められる要素。
放置させたくないからそれに影響しそうな機能を弱く、ってのは自縛モノのように思う。
残念ながら。

やっぱり本質的に、「ケミプレイヤーが一切手を触れなくても狩りになる」現状のホムシステムでは放置はなくならないと思うよ。
ことこの点について言えば、「AIからケミスキルが使える」というのもそんなに影響力はない。
APPが1つの問題ではあるんだけど、APPができなかったとしても狩場のランクが少し下がるだけで、やっぱりどこかで座ってるホムケミがでてくると思う。

難しいもんだ。


ソフトの怖いところ。

コードが見えない・いじれない状態で実装されているものは、どーがんばったって削除できない。
コードが見える・いじれる状態で実装されているものは、どーがんばったって削除される。

前者は、ホムAIからのケミスキル使用。
後者は、ホムAIでなんらかの(放置狩り)妨害コード。

さすがに友瀬も貴重なリソースを、「除去される」のが目に見えているところへ投入・開発する気にはなれません。

2007/11/6 (火)

ROページの配色変更。
以前から気にしていた点:以前の配色はJunkyardとまったく同じでした。
そのため、サイト間移動したときに勘違いしやすかったので、改善ということで。

うちのギルドシンボルの配色を意識して、茶色系統。
多少見づらい感じもしないではないので、また微調整はするかも。
意見があれば、ぜひ。


これも何度かめの発言ですが。

友瀬は、これが「ホムAI」だから、ホムというキャラクターが本来行えていいであろう、と友瀬が判断した範囲を逸脱した行為を実装していないだけです。
ホムAIからボスケミの持つスキルが使えるかどうか、というのはまったく関係のない、あるべき論的な話。

実装されていることは事実ですが、それがすべて正しいなんて話はどこにもなくて。
なにしろ「正しいあるべき仕様が明記されているにもかかわらず、そう動作していない」ホムスキルはいくつもあるわけで。
逆のパターンがないなんて保証はどこにもない。

これも繰り返しになりますが。
「それができるからやっていい」というのもまったく理屈にならない。
ルールになくてできるから、もしくはルールがあっても見つからなければいいから、そう言って欲望に従って私腹を肥やすためだけにいろいろやってきた人たちが、いろいろと問題を起こしている現状。
友瀬は現実世界で、そういう人間を心底くだらない人間だと思っていて。
たとえやり方を知っていたとしても、その「くだらない人間」にはなりたくないから、手を出さない。
・・・それが、ゲーム内であっても、同じこと。そういうことをやりたくないだけです。

自己満足と思ってくれて結構。
そもそも「あるべき論」の時点で、友瀬の主観は多分に含まれているわけで、100%同意が得られるなんて思っていない。

これもいつもの繰り返しですが。
これはあくまで友瀬の思いであって、この価値観を共有できない人にとっては、たわごとでしかない。
現実問題として、そういうAIの話題は尽きないし、そういう実装で狩をしている人はいる。
ただ、その人たちが友瀬を馬鹿にするのと同じように、こちらもその人たちを哀れんでみるだけです。
それぞれの持っている「正義」が違うだけ。
価値観の差ってのは、そういうもの。

2007/11/5 (月)

ちょっと書いたら、ROだけの話じゃなくなったんで、Junkyardのほうへ。

https://tomose.net/junk/index.php?%C6%FC%B5%AD%2F2007-11-05

2007/11/1 (木)

というわけで、Glenelg 0.50dリリース。
先攻移動モード改め、前列移動モードの挙動変更しました。

ちょっとしたメモ類。

  • ai_option.ini 内 FOLLOW_RULE を1にすると、前列移動モード。
    従来の動作に、以下の変化があります。
  • 基本的な移動アルゴは昨日の日記のまま。
    ボスケミの「4歩先」を狙って歩くようになります。
  • 従来の追従動作については、前列移動をOnにすると以下のような差異があります。
    • ボスケミ⇔ホムの距離や、ホムのSP残量に関係なく、ボスケミが移動すればそれに反応して「ケミの前方」に移動しようとします。
    • 戦闘終了時点で、ホムがボスケミからDISTANCE_OWNER_REST以上離れていれば、ボスケミの足元に戻ってきます。
    • 「4歩先」を狙う都合上、上記DISTANCEの設定値は5以上推奨。デフォルトは5。
      それ以下だと、前に進んだあとまた後ずさりしたり、その後の再前進での前進が追いつきづらくなります。
  • アルゴの都合上、「壁に向かって移動」すると、微妙に怪しい動きをします。

使い方のコツとしては・・・
ボスケミをまず一歩前進
→ホムが前に来るのを待つ
→ボスケミでホムを押すような感覚で前進
・・・とすると、かなり前をきちんと歩いてくれます。

何も考えずに歩くと、「前列」というよりは「同列」になってしまいますね。
まあそれでも十分以前の追従以上にはケミの近くをうろうろするので、 今回の目的:前方の敵により早く(できればボスケミより先に)ホムを発見させるという点においては改善されていると思います。

4歩先ってのは、調整した結果の「最近距離」です。
これも昨日の日記にあるように、ホムは「ケミが1歩踏み出した」ところから移動開始するので、そのタイムラグ分で「2歩差」は確実に詰まってしまうのです。
なので前を歩かせるための最短値は3歩先。
でもそれだとちょっと斜めに歩いたりするとあっという間にNGになってしまうので、余裕を持って4歩。
そんな感じ。
現状固定値ですが・・・可変にするまでもないですよね?・・・要望があれば対処します。


▼過去ログ
お名前: