きほんはまる?

DQRTAについていろいろ書いていきます。こっちでは最低限のアウトプットには書かれない細かい話がメインです。

PS版DQ4 ネネ転売の仕様

PS版DQ4のネネ転売のアルゴリズムについて、調査してみた結果多分分かってきたのでメモも兼ねてアウトプット。
今まで通説で「2種類以上のアイテムを売ることはない」と言われていて、1種類のアイテムを複数売却するのがセオリーだったけど、カロメさんの調査結果により、どうもそうなるとは限らないみたいなので調べてみた。ch.nicovideo.jp



1. ネネに売却に出す際に、内部で売却アイテムの種類と各個数が保存される。
  このデータ(以降在庫データ)は売却に出した順番に保存されるが、同じ種類のアイテムはまとめられ、個数が加算される。

 ※具体例
  i. 正義のそろばん, 正義のそろばん, ホーリーランス の順で売却に出した場合
     在庫データ: 正義のそろばんx2, ホーリーランスx1
  ii. 正義のそろばん, ホーリーランス, 正義のそろばん の順で売却に出した場合
     在庫データ: 正義のそろばんx2, ホーリーランスx1
  iii. iiの後、正義のそろばん2個が売却され、その後正義のそろばんを3個売却に出した場合
     在庫データ: ホーリーランスx1, 正義のそろばんx3
  iv. iiの後、正義のそろばん1個が売却され、その後正義のそろばんを2個売却に出した場合
     在庫データ: 正義のそろばんx3, ホーリーランスx1
 ※この在庫データの格納の順番が重要なので注意


2. 日が変わり、最初にネネに話しかけて売却しようとするとき、売却判定が行われる。
  (「品物を仕入れてきてくれた?」のメッセージ後「はい」選択肢)

 2.1. 1種類目のアイテムの売却判定
  2.1.1. [0,3]の一様整数乱数を引き、0以外の場合は売却される
  2.1.2. 2.1.1で売却が決まった場合、[買値*1.5, 買値*2]の一様整数乱数を引き、その結果が売値として売却される。
2.1.3. アイテムが売却された場合は、在庫データから個数を1個減らす
  2.1.3. 現在売却判定を行っているアイテムの個数文だけ2.1.1~2.1.2を繰り返す。
  2.1.4. その種類のアイテムが全て売却された場合は、在庫データからそのアイテムの種類を削除し、以降の在庫データの場所をあいた分だけ前にずらす。
 2.2. 2種類目以降のアイテム売却判定
  2.2.1. この時点での在庫アイテム種類数が1以下の場合、売却判定を終了する。
  2.2.2. この時点での在庫アイテム種類数が2以上の場合、次の種類のアイテムの売却判定を2.1と同様の手順で行う。


以上の重要な点をまとめると、こんな感じになるだろうか。

  • 在庫アイテムが1種類のみの場合は、最後まで売却判定を行う。
  • 在庫アイテムが2種類以上の場合は、在庫アイテムが1種類になるまで売却判定を行う。
  • アイテム1個の売却率は3/4。
  • 売値は買値の1.5倍~2倍。


これを踏まえてRTAのネネ転売でどう立ち回るべきかを簡単に考えてみた。

おそらく複数種類のアイテムを売りたくなるのは、転売の序盤だろう。
所持金に対して算盤購入時の端数の割合が多くなるので、出来ればその端数も転売して早く所持金を増やすのが直感的に効率はいいと思う。
ただこの場合そろばんの所持数は少ないはずなので、在庫に出した分全部売却してくれる可能性は高い。
例えば算盤2ランス1を売却に出したとして、算盤2を売却してしまうとランスは売却判定してくれないのである。
この場合は最後にお弁当を挟むことで算盤2ランス1全て売却してくれる可能性が出てくるが、次の売却で在庫の一番最初にお弁当が来てしまうので困ったことになる。難しい。

終盤の所持金が大量にある場合は、端数のお金も相対的に影響が少なくなるはずなので従来通り算盤大量購入でよいだろうか。算盤の個数が多くなる分、全て売却することはないと見て他のアイテムを売却に出してもよいが、万が一全部売れちゃった場合はこれまた困る。やっぱり難しい。

SFC版DQ3 ゾーマ戦吹雪2連後の行動

某枠での議論。
僕はコメントだったこともあり、書ききれなかった点も含めてアウトプットしておく。

1. 前提

  • ゾーマ戦において、全員非防御状態から吹雪2連を食らい、賢者の石が後攻したあとの状況。
キャラ 魔戦 純戦 勇者 賢者
最大HP 300 300 210 200
現在HP 200 200 180 130

この場合の行動として

キャラ 魔戦 純戦 勇者 賢者
現在HP 200 200→290 180 130
行動 防御 ? 杖→純

と勇者以外の行動はほとんど一意に決まると思うが、「勇者はどの行動を取るべきか」という話。
ルカニバイキルが入っていないなら「勇者防御を選択したい」というのが僕の意見。


2. 本題

この次のターンの行動別に、状況がどう変わるかを考えてみる。

2.1. 波動+何か(45.09%)

波動が1回でも来た場合は、基本的に次のターンの先行賢者の杖で3人以上のキャラがHPMAX付近まで回復することが出来る。
勇者の防御によって状況が変わるパターンはほとんどない。

2.1.1. 波動+打撃(20.09%)

打撃が賢者に刺さる(1.96%)以外は死者が出ることはない。
これを変えるための勇者の行動はホイミ→賢者が先行くらいである。(勇者のゾーマに対する先行率は約11%)
打撃が前3人に刺さった場合は、次ターンの賢者の杖で全員のHPがMAX付近まで回復できる。

2,1.2. 波動+吹雪(14.29%)
キャラ 魔戦 純戦 勇者 賢者
最大HP 300 300 210 200
現在HP 250 290 210 140

この場合、次ターンの賢者杖→賢者or防御がほぼ確定し、魔戦以外のHPがMAX付近まで回復される。

2.1.3. 波動+マヒャド(7.14%)
キャラ 魔戦 純戦 勇者 賢者
最大HP 300 300 210 200
現在HP 230 300 210 200

この場合は次ターンの賢者杖→魔戦でHP状況が立ち直る。

2.1.4. 波動2連(3.57%)

ありがとうございます。

2.2. 吹雪+打撃(20.09%)

ゾーマの行動組み合わせの中で最も高い確率である組み合わせのうちの1つ。
これが来た場合は次ターンで立て直すことが出来ない。

2.2.1. 吹雪+打撃→魔戦(8.16%)
キャラ 魔戦 純戦 勇者 賢者
最大HP 300 300 210 200
現在HP 170 290 210 140

吹雪+打撃の中で一番ありがたい状況

2.2.2. 吹雪+打撃→純戦(6.04%)
キャラ 魔戦 純戦 勇者 賢者
最大HP 300 300 210 200
防御 250 140 210 140
攻撃 250 140 210 140
ホイミ→賢 250 140 210 170

杖を純戦に振っても、打撃+全体攻撃で純戦が落ちかねない状況。
この場合は勇者予約葉や蘇生時のHP確保のために防御を取る必要が出てくる。
吹雪2連後の行動にホイミ→賢者をしておくと、この場合は強いだろうか。

2.2.3. 吹雪+打撃→勇者(3.92%)
キャラ 魔戦 純戦 勇者 賢者
最大HP 300 300 210 200
防御 250 290 170 140
攻撃 250 290 0 140
ホイミ→賢 250 290 0 140or170

勇者防御を取れば勇者が生き残るが、それ以外の場合は低乱数を引かない限り勇者が落ちる(下位30%くらいがライン)
ホイミは勇者がゾーマに先行すれば活きるが、そうでない場合はただの無駄行動になる。
ちなみに勇者が落ちた場合、この後魔戦で勇者を蘇生する必要が出てくるが、次ターン賢者は自身のHPをケアするために杖or防御を取る必要が出てくるので、魔戦は防御でHPが万全になるまで蘇生を待つか、デレ行動期待でHP250付近で葉を使用する必要が出てくる。
勇者防御が活きる行動その1。

2.2.4. 吹雪+打撃→賢者(1.96%)

もれなく賢者が落ちる。
この場合は勇者がHP200付近までHPが回復しているため、勇者の葉で賢者蘇生をすることになるであろう。
ホイミ→賢が先行しても結果はほとんど変わらない。(賢者の打撃+吹雪被ダメ最低乱数は172、厳しい)

2.3. マヒャド+打撃(10.04%)

勇者防御によって、打撃が勇者に刺さった場合(1.96%)がケアできる
それ以外の場合は勇者の選択肢によってほとんど変わらないだろうか。

2.4. 打撃2連(14.06%)

打撃を食らわなかったキャラはHPMAX付近まで回復される。
全部書くのはさすがにあれなので、特記すべきものだけ。

2.4.1. 打撃→どこか+打撃→賢者(2.62%)

ホイミ→賢が先行すると、賢者が生存できる。
勇者の先攻率は約11%、行動率と合わせると約0.288%となる。

2.4.2. 打撃→勇者+打撃→賢者(0.536%)

防御しない場合、勇者のHPが削られるため、蘇生を魔戦で行うことが確定になる。
防御した場合は勇者で蘇生することができる。
蘇生をどちらで行うかが変わるくらい。

2.4.3. 打撃→純戦+打撃→勇者(1.65%)

吹雪2連後に勇者が攻撃した場合は次ターン防御、防御した場合は次ターン攻撃となるので、結果として攻撃回数に変化が無くなる。

2.4.4. 打撃→勇者2連(0.536%)

防御していると勇者が耐え、していないと落ちる。
でもそんなのいつだって同じ。

2.5. 吹雪+マヒャド(7.14%)

キャラ 魔戦 純戦 勇者 賢者
最大HP 300 300 210 200
防御 220 220 210 110
攻撃 220 220 170 110
ホイミ→賢 220 220 170 140

勇者が防御するとHPMAX付近まで回復するが、そうでないと後列のHP状況が少し悪化する状態。
純戦のHPは立て直るが、次ターン吹雪マヒャドでも賢者が落ちる可能性が出てくるため、吹雪2連後に攻撃していると勇者は蘇生に備えて防御したり、予約葉を振っておいたりする必要が出てくる。
防御していた場合は勇者が動きやすくなる。賢者に予約葉やこのターンにホイミ→賢をする可能性も考えられるか。
ホイミ→賢の場合は吹雪マヒャドのラインに引っ掛からなくなるあたり優秀だろうか。このターンの勇者防御とも相性が良い。

2.6. 吹雪2連(3.57%)

キャラ 魔戦 純戦 勇者 賢者
最大HP 300 300 210 200
防御 200 200 210 0
攻撃 200 200 150 0
ホイミ→賢 200 200 150 0or90

ホイミ→賢が先行し、吹雪が低乱数でない限りもれなく賢者が落ちる。
勇者が防御した場合は勇者のHPがMAX付近まで回復するため、次の蘇生を比較的安全に行うことが出来るが、そうでない場合は蘇生しようにも魔戦でも勇者でも蘇生しにくい状況になってしまう。
勇者防御が活きる行動その2。

3. まとめ

2章の記述から、勇者の行動による違いをまとめてみる。

  • 勇者防御
    • 吹雪orマヒャド+打撃→勇(計5.88%)による勇者落ちをカバーできる
    • 吹雪2連後や打撃が後列2人に刺さった後の賢者蘇生を安全に行うことが出来る。
  • 勇者攻撃
    • 上記の全体+打撃→勇による勇者落ちをカバーできない。
    • 吹雪+打撃→勇だった場合は、次ターン安全に勇者の蘇生を行うことができない。
  • 勇者ホイミ→賢
    • 吹雪+打撃→純や吹雪+マヒャドの場合は、賢者のHPを多少リカバリー出来る。
    • それ以外は先行しない限り次ターンへの影響はほとんどない。

4. 僕の意見

僕が勇者防御を取りたい理由大まかには下の通り

  • 打撃が来た場合魔戦以外に刺さると立て直せない場合が多いため、受け皿を広げて勇者に来ても立て直るようにしたい。
  • 死者が出た場合に勇者で安全に蘇生を行いたい。

つまり状況が辛い中、勇者に打撃が来ることをデレ行動に含めてあげつつ、万が一の場合の勇者で蘇生がやりやすい状況を作りたいのが大体の理由。
葉っぱ2枚しっかり整っている中、一気に崩れるのはどうしても避けたい。
吹雪2連後でない状況の後に勇者が落ちても、魔戦で蘇生して終わり、だから吹雪2連後かそうでないかで異なるのはこのあたり。
葉が2枚あるなら先に使いたいのは勇者の葉だし、この辺にも理にかなっているのも大きい。勇者のみ葉持ち状態だと攻めれないしつらい。

この万が一誰か落ちたとき、次ターン蘇生して終わりで済むかどうかはかなり大きい問題で、僕が普段やってる中では他には以下のような状況もある。

キャラ 魔戦 純戦 勇者 賢者
現在HP 300 140 210 200

これでルカニバイキルが入っている状態。吹雪+打撃→純戦が入るとよくある。
この場合は純戦が全体攻撃含みで落ちる可能性があって、石の回復を得られないととってもピンチになる。かと言ってルカニバイキルがある中勇者は殴りたくなる。ということで、この場合はつい殴りたくなる魔戦で防御しておいて、万が一落ちた場合に蘇生に備えて少しでもHP状況を良くするっていうことはやってる。
純戦以外への打撃+吹雪や打撃2連によって落ちる場合は、基本的に次ターン安全に蘇生出来るから、葉は使わされようとも一気に崩れることが少ない。


それから吹雪2連後はHP状況を立て直すために波動を期待するわけだけど、ゾーマに約89%後攻する勇者が波動を期待しておきながら殴る意味があまり感じられない。バイキル解けることを期待しているわけだからね。

同様な考えが波動後全員HPMAX付近における行動選択にもあって、この時ルカニバイキルトを入れるということは、そのターン波動が来ないことを期待するわけだから、攻撃行動が2回来ることを受け入れていることになる。
僕はこの状況だったらよっぽどHPが良くない限りスクルトバイキルトを打って、猛攻が来た場合にも備えつつ、波動+全体or打撃→魔が来つつ魔戦のバイキルトが後攻した場合は、次ターン魔戦で防御入れつつルカニ入れる、みたいなことをやってる。
ルカニバイキルト打撃が入るために波動されたくないターン数はどちらも1ターンで変わらないから、ゾーマの行動によって柔軟に攻めれたり守れたり出来る優秀な行動選択だと思っている。


吹雪2連自体は3.57%で1戦闘に1回くらいある計算で、多く見積もって2回、それも波動が来ない場合は更にピンチが多くなるような状況で殴って勝率がどれくらい変わるかというと、僕はあまりそうは思えない。行動に一貫性もないと思うし。


これが僕が言いたかった勇者防御を取りたい理由。
ゾーマ戦に関しては最適行動決定に対する絶対的な指標が今までないから、あまりアウトプットもしてこなかったんだけど、せっかくの機会なので少しまとめておきました。
何かあったらコメントとかください。

PS版DQ4 3章前掛け転売についてちょっと本気出して考えてみた

きっかけはこれharapan.exblog.jp

1年以上前、DQ3のReTAの調べものだかなんだかしてた時に偶然見つけた記事。
僕がPS4RTA始めたときには、前掛け転売のボーダーは1750Gみたいなのが通説になっていたけど、
この記事を見て「あ、実はボーダー下げて仕入れ増やしちゃってもいい感じなの?」と思ったのを覚えているが、それ以来しばらく詳しい調査はしていなかった。

1. じじいのあたまのめかにずむ

3章のボンモールにいる防具じじいの買い取り金額決定は以下のようになっている。

  1. [0,16)の一様整数乱数を引く。
  2. 乱数=0だったらボケ処理、それ以外だったら通常の処理になる。(つまりボケる確率は1/16)
  3. ボケ処理の場合はSR$0x80117e7c(買値*1.5, 買値*2)がcallされ、[買値*1.5, 買値*2]のほぼ一様な整数乱数が返ってくる。
  4. 通常処理の場合はSR$0x80117e7c(買値*0.75 買値*1.25)がcallされ、[買値*0.75, 買値*1.25]のほぼ一様な整数乱数が返ってくる。
  5. 返ってきた乱数を売却額とする。

2. しみゅれ~とけっか

仕組みが分かればシミュレータが組める。
早速実装して、試行回数5万回で調査

ボーダーを1500G~1800Gの50G刻み、必要収入金額(最初の前掛け9個売却スタートの時点の金額から稼がなければいけない金額)を15000G~17500Gの500G刻みでシミュレートし、最初の前掛け9個売却スタートから必要金額稼ぐまでにかかった平均時間を取った。
各パラメータはパンダさんの記事通り、以下のようにしている。

  • 売却キャンセル1回分の時間: 3.2s
  • 仕入れ1回分の時間: 49s

結果は以下の通りであった。

f:id:Maru0137:20150525211041p:plain

ボーダー[G]\必要収入[G] 15000 15500 16000 16500 17000 17500
1500 63.726652s 83.671864s 102.999864s 126.046892s 144.760364s 163.968864s
1550 63.516972s 80.639696s 99.095764s 122.060024s 142.025012s 160.519688s
1600 70.8178s 78.45748s 98.012348s 118.291296s 142.37878s 160.922388s
1650 83.6912s 84.438796s 100.29976s 115.452392s 143.56992s 165.102504s
1700 102.133312s 102.133312s 106.7654s 119.600952s 142.54478s 168.9146s
1750 131.272768s 131.272768s 131.284732s 139.797064s 150.668804s 174.821684s
1800 183.177472s 183.177472s 183.177472s 183.837488s 186.639508s 197.06948s

各必要収入額における平均時間の最小値を赤字にしてある。

3. まとめ

3章の前掛け転売では、必要収入が15000G,17000G,17500G付近のときはボーダー1550Gで、15500G,16000G付近の時はボーダー1600Gで、16500G付近のときはボーダー1650Gで売却するのが最適である。
めでたしめでたし。


そんなわけはない。

4. ばいきゃくじかんのぶんぷ

平均時間だけ見ていたのでは、平均こそ速いかもしれないがその実売却時間はブレブレで安定しないみたいなものが分からない。
また、3章は運要素の強い2章終了直後の章であるため、対戦などではタイム差などに応じて取るべき選択肢が変わってくる。
平均時間の最小だけを見てボーダーを選んだものの実はタイムがブレブレだったりする場合には、せっかく2章終了時でリードしていても「じじいツン引いたから遅れて後ろに追いつかれたじゃねえかよクソが」とか言って、挙句の果てにはコントローラーが投げつけれらたりROMが責任を押し付けられたりしてしまう。おおかわいそうに、コントローラーやROMはわるくないのだ・・・

ということで売却図の分布を見てみよう。
全ての分布図を全て載せるわけにもいかないので、抜粋してみてみることにする。

まずは必要金額17500G時の売却時間の確率密度と累積分布。
上の図が確率密度、下の図が累積分布になる。
f:id:Maru0137:20150525213648p:plain
f:id:Maru0137:20150525213652p:plain

確率密度を見ると「ある売却時間で終わる確率は何%か」が、累積分布をみると「ある売却時間以下で終わる確率は上位何%か」がわかる。

また、平均だけでなく標準偏差も出してみよう。
標準偏差の値が高いほど、売却時間がぶれやすいことを表す。

ボーダー[G] 標準偏差
1500 56.15782287
1550 55.21510188
1600 59.86279681
1650 70.60325696
1700 82.75208663
1750 88.75131105
1800 79.92613876

なんと必要収入17500Gの場合は、通説となっているボーダー1750Gが一番標準偏差が高く、売却時間がぶれやすいという驚きの結果が得られた。
実際確率密度の図を見てみると、分布がブレブレなのが良くわかる。
一番平均時間が小さいボーダー1550Gは標準偏差も最小となっている。
つまり仕入れを1回増やす覚悟でボーダー下げてどんどん売った方が速くなるということが分かったと思う。
ボーダー1600Gも売却時間150s以内の速い時間が出やすいうえ、極端に遅れることはなさそうなので選択肢に入れられそうだ。


続いて、必要金額16000Gの場合も見てみる。
鋼鎧がボケたりするとこの辺になってくるだろうか。

f:id:Maru0137:20150525215129p:plain
f:id:Maru0137:20150525215136p:plain

標準偏差は以下の通り。

ボーダー[G] 標準偏差
1500 54.23222707
1550 55.13257586
1600 54.12659886
1650 50.08340547
1700 39.0092605
1750 38.53368925
1800 56.27160925

平均時間が最小なのはボーダー1600Gであるが、ボーダー1500G~1650Gあたりではボーダー1700G以上に比べて標準偏差が高い。
これは分布図を見ればわかると思うが、仕入れが必要な可能性が増えるために、その場合のタイムロスが足を引っ張っているためだと思う。
ボーダーが1700Gでは平均時間がボーダー1600Gに比べて8sほど上がるが、標準偏差が一気に下がりタイムの安定性が期待できる。
また通説となっているボーダー1750Gは、標準偏差こそ最小値だが平均売却時間が非常に大きくなり、実際はボーダー1700Gに対してほぼ劣っていることが分かる。鋼鎧がボケたらまずボーダーは下げていいだろう。


載せられなかったデータは以下のURLにアップロードしておく。
PSDQ4_resale.xlsx(PSDQ4_resale.xlsx) ダウンロード | DQRTA | uploader.jp


5. はがねのよろいぼけのかそくど

もう一つ、2節の平均売却時間からわかることがある。
最小平均時間周辺のボーダー周辺においては、必要な収入金額が500G下がるごとに平均売却時間が約20sほど下がることが分かる。

3章の序盤に化けキツネからもらった鋼の鎧を転売するのだが、これがボケるかボケないかで約1725Gの収入差が出てくる。(実際にはボケない場合は金額を吟味しているのでもう少し下がるが)
そうすると、鋼の鎧が運よくスムーズにボケると(なんだこの表現)約1分ほどの加速になることがわかる。

またこれも平均値だけでの話になるが、鋼の鎧がボケるまでにかかる時間は約51.2sであるため、鋼の鎧はボケ待ちした方が期待値としてはタイムが速くなる可能性もある。
これについても詳しく調査したいが今回は面倒なのでしない。


6. こんくる~じょん

各必要金額に応じて売却時間の分布と標準偏差を求めた。
欲しいタイムに応じて、各プレイヤーが柔軟にボーダーラインを選択してあげるとよい。
また、鋼の鎧がボケると約1分の加速になることも分かった。



終わりたい。


7. にんげんはかしこい

今回の調査では売却金額に関わらずボーダーラインはずっと一定のままという条件で行っているが、
実際の場合には前半の売却金額を見て以降のボーダーラインを変動させられるはずである。
その場合、「仕入れ挟むつもりだったけど予想外にボケたからボーダー上げて仕入れせずに終わらそう」とか、「予想外にボケたからボーダー下げて早く終わらそう」とかいう知恵が活用できそうなことが予想される。人間は賢い。

さて、このような場合の最適な売り方を求めたいときにはどうするべきだろうか。

詳細はめんどくさいので省略するが、平均売却時間の最小化という観点で見れば、おそらくこれはDPで解けると思われる。というわけで求めてみたいが、やっぱりめんどくさいのと、そもそも求められたとして実際のRTAプレイ中に残りの必要金額と前掛け数に応じてボーダーを変えられそうかというと疑問な点ではある。人間は賢いのか賢くないのかよくわからない。


ということで、モチベーションがあったらやってみるかも。

PS2版DQ5 エンカウント判定周りメモ

ついにPS2にまで手を出してしまった...
取り急ぎ、メモみたいな形で。

 歩数が増えるごとに以下の式が評価され、結果が真であればエンカウントが発生する
   (乱数 mod A) < 閾値
 
   ※ A = 256 - (歩数 - エンカウント最低歩数) * [1,4]
     エンカウント最低歩数 = 10 - 閾値
    • 途中計算及び計算結果はIEEE754単精度浮動小数点演算に基づく
    • 歩数は戦闘終了時や一部のフロア切り替え時(詳細は後述)に0にリセットされる
    • 乱数の詳細な分布は未調査
  • 備考
    • フィールドではエンカウントテーブルごとに係数が異なる。現状分かっている範囲では
      • 妖精界北部: 1.5倍
      • 古代の洞窟周辺(幼年期): 1.25倍
      • ルラフェン西部: 1.5倍
    • ダンジョンでもエンカウントテーブルごとに閾値が変わる。大体1~4辺り
    • フロア切り替え時にエンカウントテーブルが変わる際に歩数リセットが行われる
      • エンカウントテーブルが変わらないフロア切り替えでは、歩数はリセットされない
      • フィールドでエンカウントテーブルが切り替わっても歩数はリセットされない
    • エンカウント判定無しのフロアに入った際にも歩数リセットが行われる
      • フィールドの出入りや、古代の洞窟の小部屋、迷いの森の小屋など


DQエンカウント判定は、大きく分けて

とあるが、PS2DQ5エンカウント判定は後者の確率エンカウント方式に該当する。
確率エンカウント方式では、直前のエンカ位置によって歩く場所を変えるなどの工夫が必要になるため、最適化が若干難しい。

とりあえずできることとしてはエンカリセ地点の把握と、エンカリセ入れの最適化か。
またフィールド内でのエンカ係数が異なる地域が確認されているので、境界付近では最適な歩き方が発見される可能性有り。

下みたいな表が完成して、乱数の分布が分かったらまた体系化してブロマガにまとめる予定。


f:id:Maru0137:20150216010948p:plain

ST大学祭観戦記&PS版DQ4呪文習得判定

こんばんは、研究の逃避気分転換として記事を書いてるMaruです。
今回の内容は以下の2点。


1つ目、ST大のむつめ祭に行ってきました。
目的はもちろんRTA研究会。
自分は2日目の実演会と、3日目のDQ7ReTAの最後の問題だけ観戦しました。
前回はDQ3でナナカさんと並走しましたが、今回はただの観客でした。

2日目は朝一で行って、FF5FF6ルイージマンションからずーっと見てました。
午後からはムウさんのPS2DQ5をまーくさんと一緒に煽ってました見てました。
夢幻斎さんの生DQ2も見れて満足です。やっぱり再現は大変ですね...

3日目は祝日にもかかわらず講義が入っていたので、元々行くつもりはなかったのですが、
その講義が4半期制で最初の回だったので、終わってから急遽駆けつけました。
着いたのが最後の4精霊問題が始まって少し経ったところで、最後だけ見てました。
ラスカルさんが全問クリア、かつ6問中5問で1位と凄まじい結果でした。どれくらい準備したんだろう...

実演中やその後の食事などでも色々な方と交流できてとても楽しかったです。
特にたーひゅさん、ありのさんなどのFF勢の方との交流は新鮮でした。
話を聞いて、エンカ内容とか歩数とかの仕組みとかどうなってるんだろうとか、
歩数調整もう少し簡単に調べられたらいいなーとか勝手に考えてました。


2つ目、PS版DQ4の呪文習得判定に関してブロマガに記事を書きました。

賢さの閾値が呪文ごとに設定されているとばっかり思っていましたが、定数だったのが驚きでした。
ラリホーはたまたまこの賢さ16に引っ掛かってただけだったんですね。
呪文の習得タイプもDQ3とほぼ同じで3種類あると食ってかかっていたんですが、実は2種類しかなかったです。

実はこのルーチンを調べていたのはメタルはぐれの乱数調整のためでした。
撃破後のレベルアップでもステータス成長値と呪文習得判定で乱数を消費するわけですが、呪文習得の方に関しては"50%で覚える"に行きつくまでの条件が分からないと乱数消費するかどうかが分からなかったので、今回これを調べていました。
後は成長値決定の仕組みと成長値の計算方法が分かれば、各キャラのレベル(経験値)と賢さの値と習得状況を入力にすれば、乱数特定を挟まずに連続でメタルはぐれを出現させることができます。

ということで、次は成長値計算について見ていこうと思っています。

ブログ開設&雑感&DQ3ステータス調査の紹介

どうもはじめまして、主にニコニコ生放送DQシリーズのRTAをしているMaruと申します。
既にニコニコのブロマガの方であれこれ書いてはいたんですが、色々思うところがあってこっちにもブログを作りました。
ブロマガの方には記録レポートや調査・解析についてのまとめ的な多くの人に分かりやすい記事を、こっちの方には調査・解析の詳細な話や、戦術戦略などのアイデア、雑感、その他マニアックな情報のアウトプットとして分離したいと思っています。

早速本題。
といってもほとんど雑感です。

1.今の状況について
大会などが落ち着いたり、卒論で研究が忙しかったりなどで最近放送はしていませんが、RTAについて思っていることは、各作品以下のような感じ。

SFCDQ1:鋼剣竪琴有り17竜王、岩山カット竪琴有り18竜王で記録更新したいな
SFCDQ2:やる気なし
     (タイム向上のビジョンが見えない
      練習積み重ねて敵対処が速く正確になって、少しずつ伸びていくんだろうなとは思ってる)
SFCDQ3:実は王者カット少し練習してたり
・ PS版DQ4:各種解析と乱数調整ありでの記録狙いしたいな
PS2DQ5:4が落ち着いたら解析含めてまた再度取り組んでみたいな
SFCDQ6:時間を取るのが厳しいのもあって、あまりやる気なし
・ PS版DQ7:新規作品として取り組んでみたかったり、時間的に厳しかったり

モチベがあるのは1と4。
特に4はいろいろやりたいこともあってかなり高いです。詳細は後述
1は岩山カット銅剣竪琴でLv18竜王でどこまでいけるか面白そう。
他にも取り組んでる人はいるので(最近はあまりやってないかな?)、楽しみですね。


2.PS版DQ4について
メタルスライムはぐれメタルの乱数調整についてはこちら

今のところ出来るのは以下のような感じ。
・種使って乱数特定する
・不思議な木の実を特定回数空使用して、乱数を進める
メタルスライム(はぐれメタル)を出現させる
 敵の行動・HPまで計算済み、よって確実に逃げない
・呪文習得判定と乱数消費の関係については未調査
・ある程度のLvUP時の消費乱数は分かるので、ホイミの回復乱数で再度特定
・2匹目以降を同様の手順で出す

2章エンドールメタルはセーブ・リセットからメタル出現まで、NPCがいるエリアを挟まないといけないので、今のところ1匹目は種7個くらい使って乱数特定。
2匹目はホイミ1回で乱数特定してるけど、精度の問題だったり、HPの伸び具合だったりあらかじめある程度のダメージもらってないといけなかったりで割と問題有り
あと解析範囲を広げれば、闘技場も乱数調整出来たりするかも?
やる気があればやる(やるとは言っていない)

5章ガーデンはぐれは夜ブランカNPCによる乱数消費がないので、乱数特定が非常に楽。
LvUPも多いし、ホイミ2回程度で2匹目以降も割と問題なく簡単に出せる。
こっちについては、むしろ問題はチャートの方。
安全だから装備も要らないし(諸刃、身かわし(ガーデン購入)+エンドールカット辺りかな)、
2章メンツ加入直後に狩りに行ってもいい。海鳴りとか事故率落ちる。
ただ間引きの問題がある。

あとははぐれの後も含めたチャートについて。
簡単に狩れるんだから3匹に留まらずそれ以上狩ってもいい訳だけど、どうするのがいいんでしょうかね。
マーニャ最初から間引いて、6匹~8匹くらい狩って、主アクブでレオバル行くのがいいのかなーとか思ってはいます。砂もなくなるだろうし、撃破時間も短縮するだろうし。
ここら辺については、王家の調整が出来るようになるかどうかもあるとは思うけど。
何か案あったらください。

後はツールを公開するとして、どんな感じのインターフェースが使いやすいのかなーとか。
自分のスキル的にJavaのSwingあたりに落ち着くのかなとか思ってたり。
Web系のスキルが欲しい(切実)。

最後にこれはかなり夢のような話になるけど、PSDQ4の場合人間が乱数を追いきれないのは現状NPCの移動くらいだから、最初から最後まで殆ど乱数調整出来るようになったりするんじゃないかという期待もあります。
ただ途方もない解析量が必要でしょうが...
戦闘中の乱数操作も調べていないので、どうなってるんでしょうね(作戦・入れ替えあたり)


3.DQ3ステータスについて
ネットを彷徨っていたらこんなものを発見しました。
RPubs - どらくえ
DQ3の戦士のステータスシミュレートをしてみたという記事。
僕のブロマガを参考にしていただいたみたいで、嬉しいとともに僕のあんな雑な記事でごめんなさいという感じです。
(続きを投稿していないことにも釘をさされていたり...ホントにゴメンナサイ)

実はその続きの記事が10万サンプルシミュレートで分布出した上で僕個人の採用基準やら育成法を簡単に示して終わろうかと思っていたんですが、面倒くさかったり他の事に手出してたりでやっていませんでした。
とか思っていたところに(実は忘れてたとかないよ?)他の方がシミュレートして下さっていてとても嬉しいです。
ぬりかべさん(でいいのかな?)、ありがとうございます。

【追記】
3のステータス回りについて、プレイ面で言いたかったのは
・んん、戦士はタフガイ以外ありえませんぞwwww
・魔法使いは素早さの最終ステはそんなに気にならないから出来れば鉄人、タフガイがいいね
 その場合はボストロ撃破後ヘビメタ外し
・盗賊は基本命知らずでいい
 ただ魔法使いが頑張りやで盗賊タフガイ引けたら、タフガイ進行でもいいかも?
 その場合はスー、エジンベアラダトームの素早さの種は絶対回収しておこう
くらいです。