miririi6のブログ

RTAのこととかその他のこととか適当に

サファイアRTA フウラン戦

あまりに不確定要素が多いため、すべての状況に対応することはできません。

日本晴れされたら即負けですし、光の壁を張られたらきついです。

前提

私の使っているRTAチャートを前提にしています。

手持ちは以下の通りです。

  • ラグラージLv38@しんぴのしずく 実数値133-111-78-82-76-64
  • キャモメ(確定ワンパン)
  • ケーシィ(確定ワンパン)
  • ポワルンLv25(ランダム個体貰ったまま)※必ず控えに置く

 

フウランのAIは以下の通りです。

  1. ランダムにターゲットを決める。
  2. 意味の無い行動をしないようにする。(晴れてるのに日本晴れ等)

  3. ソーラービーム以外に倒せる技があれば、それを選択する。

  4. ソーラービームで倒せるなら、ソーラービームを選択する。

  5. 最もダメージを与えられる技以外の攻撃技は使わないようにする。

  6. 残された技からランダムで選択する。

※倒せるかどうかは計算時に乱数生成して判断する。例えば「乱数12.5%で倒せる」とき、AIは12.5%の確率で「その行動で倒せる」と判断する。*1

 

参考資料

Tate & Liza AI (Sapphire) - Pastebin.com

 

乱数ごとのサイキネによる被ダメは以下の通り。

Dダウン時の被ダメは気が向いたら追加します。

ソラビの被ダメは以下の通り。

戦闘前準備

なるべくHPをルナトーンのサイキネ確定(54以下)にします。

できない場合もあります。

 

1T目

行動

スピーダー使用、ラグラージを回復。

HP40以下ならすごキズ。

HP41以上ならいいキズ。

キャモメが落ちた場合、ケーシィから先に出す。

意図

最優先事項は、ラグラージを落とさないことと日本晴れを打たせないこと。時点で光の壁や瞑想をされないこと。(光の壁と瞑想は等条件で等確率)

次ターンラグラージのHPが満タンだと、ソラビが乱数になるため日本晴れをされるリスクが生まれる。

両方にサイキネを打たれて落ちる確率も考えると、即負けに繋がる確率が最も低いのは上記のラインになった。(急所は考慮外)

 

2T目

行動

ラグラージ

ソルロックがソラビを溜めていなければ波乗り。

ソラビを溜めていればソルロックにダイビング。

となり

波乗りの場合

ソルロックのサイキネ圏内ならすごキズ。

ルナトーンのサイキネ圏内ならいいキズ。

どっちも圏外ならいいキズor適当に技選択。(キャモメなら水鉄砲。ポワルンなら雨ごい。)

 

ダイビングの場合

ソルロックのサイキネ圏内ならいいキズ。

ルナトーンのサイキネ圏内ならいいキズor適当に技選択。

どっちも圏外なら適当に技選択。

意図

波乗りを打つ場合は次のターンにソルロックを倒せるため、あまり気にせず回復していい。回復しておいた方がポワルンが行動しやすくなる。

ダイビングを選択したラグラージは次ターン確実にHPを保ったままになる。全回復はしない方が良い。

なお、このターンからポワルンが出る可能性があるが、ポワルンソルロックのサイキネを耐える確率が高いため、ソルロックにタゲられると日本晴れされる可能性が生じる。回避不能なので仕方ない。

 

3T目

行動

ラグラージ

(ダイビング中の場合、コマンド無し。)

となりがポワルン以外かつラグがルナトーンのサイキネ確定の場合、ダイビング。

それ以外の場合、なみのりソルロックを倒す。

となり

ダイビングする場合は回復しない。

すごキズor雨ごい。

意図

ルナトーンのHPゲージが以下(77~79)の時、シングル波乗りでほぼ倒せる。*2

ソルロックなみのり2回目を耐えられる確率は252/256。ほぼ無いと思っていい。

 

4T目以降

波乗りでルナトーンを倒しに行く。

*1:参考資料では「乱数の場合50%で判断する」(意訳)というように書いていますが、古い記事なので間違っている可能性が高いです。

*2:77は確定。78は93.75%。79は87.5%

みりいさんの配信環境

PC

3年半前にだいたい12万くらいで買った

 

CPU Intel Core i7-9700F 3.00GHz

RAM 16.0GB

GPU GeForce GTX 1660 SUPER

 

ディスプレイ

PCメイン BenQ GW2480 23.8インチ 1万5000円弱で買った

PCサブ ASUS VP248 24インチ 1万ちょいで買った

ゲーム用 Acer KG251QGbmiix 24.5インチ 1万5000円ちょいで買った

 

キャプチャボード

GC550 PLUS

GV-USB2/HQ(今は使ってない)

 

変換機など

OSSC(借り物)

Koryuu Transcorder

RetroTINK-5X Pro(借り物 買い取り予定)

RetroTINK-2X Pro(貸し出し中)

Wii2HDMI(適当なやつ)

Bitfunx製GCコンポーネントケーブル

コロンバスサークル製NewFC~GC用S+AV端子ケーブル

 

ゲーム機

AV仕様ファミリーコンピュータ

スーパーファミコン

NINTENDO64(故障)

ゲームキューブ(読み取り不良)+ゲームボーイプレーヤー

Wii(白)

WiiU

Switch

初期DS(偽トロ)

New3DSLL(偽トロ)

 

マイクなど

audio technica AT2020

Forcusrite Scarlett Solo (3rd Gen)

FC版DQ4 3章の鉄の前掛け売却価格について

06/12:ボケの確率1/32らしいと聞いたため大幅追記

06/14:大きなミスがあったため、ほぼ全て修正(平均の出し方が間違っていた)

 

初めに

初めはシャプナーさんの記事を参考に1687で売っていたが、計算方法が微妙に感じたので自分でも考えてみた。

手計算では無理そうなので、VBAで適当なシミュレータを作って回してみることにした。なお、ここでは往復回数は考えずに1秒当たりの利益を計算する。

サムネ用

前提

計算するには実際にかかる時間と価格の決定アルゴリズムが必要である。

 

時間については自分で計ってみた。あまり上手くはないが、もたついてると感じない程度には最適化したつもり。

・じじいに最後の1個売ってから補充して戻ってきて、7個全部一発で売った時のタイム:1分44.46秒 →7で割って1個当たり14.92秒

・1回のキャンセルによるタイムロス:3.68秒

 

売却価格の計算方法は以下のwikiに従い、ボケ率は1/32で計算する。

【ボンモール】 - ドラゴンクエスト大辞典を作ろうぜ!!第三版 Wiki*

ゲーム解析倶楽部 第01回 ドラゴンクエストⅣ ボンモールのじじい - ニコニコ動画

 

コード

赤文字を消すとボケ無しになる。

緑文字の数字が転売ボーダー

Sub maekake()
    Range("A1") = "価格"
    Range("B1") = "キャンセル回数"
    Range("C1") = "利益"
    Range("D1") = "時間"
    Range("E1") = "利益/時間"
    Range("F1") = "総利益"
    Range("G1") = "総時間"
    Range("H1") = "秒間平均利益"
    Const cansel_timeloss As Single = 3.68
    Const fastest_time As Single = 14.92
    Dim price As Integer
    Dim profit As Single
    Dim time As Single
    Dim bokechance As Integer
    Dim i As Long
    Dim k As Integer
    For i = 1 To 50000
        k = 0
        Do
            bokechance = WorksheetFunction.RandBetween(0, 31)
            If bokechance = 0 Then
                price = WorksheetFunction.RoundDown(1500 * WorksheetFunction.RandBetween(96, 128) / 64, 0)
                    Exit Do
            Else
                price = WorksheetFunction.RoundDown(1500 * WorksheetFunction.RandBetween(54, 80) / 64, 0)
                If price >= 1687 Then
                    Exit Do
                Else
                    k = k + 1
                End If
            End If
        Loop
        profit = price - 1507.14
        time = fastest_time + cansel_timeloss * k
        Cells(i + 1, 1) = price
        Cells(i + 1, 2) = k
        Cells(i + 1, 3) = profit
        Cells(i + 1, 4) = time
        Cells(i + 1, 5) = profit / time
    Next i
    Range("F2") = "=SUM(C2:C50001)"
    Range("G2") = "=SUM(D2:D50001)"
    Range("H2") = "=F2/G2"
End Sub

 

結果

各5万回行った平均

 

ボケありの場合

1664 15.96G/s

1687 16.10G/s

1710 16.01G/s

 

ボケ無しの場合

1640 12.30G/s

1664 12.37G/s

1687 12.30G/s

1710 12.03G/s

 

ということで、数値だけ見ると1664Gか1687Gが良いらしい。

結局、先駆者様たちの出してる数値がだいたい正しかったですね。お騒がせしました。

 

3往復でネネさんへの繋げ方を含めて考えると

最もオーソドックス(?)なモニスタ・760G・鉄槍回収で、ネネさん鉄槍スタートを目指すとすると、最初の前掛け1個を含めて前掛け21個or22個の転売で5924G稼げればいい計算になる。*1

以下、利益はキメつば代とボケを考慮しない値で書く。

 

1664G以上の平均利益は269.1Gで、21個で5651G、22個で5920Gとなる。22個なら足りる。

1687G以上の平均利益は280.8Gで、21個で5896G、22個で6177Gとなる。21個だとちょっと上振れが必要。

1710G以上の平均利益は292.5Gで、21個で6142G、22個で6435Gとなる。割と余裕あり。

 

ボケ込みなら1687Gが最適であることも踏まえると、1687G後手紙の21個転売にして、必要に応じて少しボーダーを上げ(場合によっては下げ)ながら、なるべく鉄槍を狙うのが良さそう。(個人的な好み。)

この場合、ボーダーより上で真ん中の1781Gを基準の0とし、そこからの差分で1687を-4、1875を+4とする。1回目前掛け購入開始で30360G、2回目で32000G、3回目33915Gくらいが標準的な値となる。これに対して最終的に合計+2してやれば鉄槍に届くという考え方ができそう。

端数ズレ怖いから3周目電卓の方がいいか。

 

前までのミス

前の計算方法では、「1個当たりの"時間当たり平均利益"の平均」を計算してしまっていたため、時間を分母とした平均値と大きな差異が生まれてしまっていました。

こんな中学数学レベルのミスをしてるとは思ってなかった。義務教育は偉大。

*1:木の帽子は全価格の平均、鉄盾と青銅は定価より高い値の平均で計算して計1654G、武器と拾った金で1977G、前掛けの購入費1500Gと女神像を合わせて30131G。ここからキメつば7個代175Gを引いて29956G。

日記6日目 2023/05/12

めっちゃサボった。多分明日も書かなそう。

期間空いてるので今日のことじゃないことも書きます。

 

1.アドコレエグゼ6の対戦を時々やってる

ファルザー版しかやってない。

現在ランクB。

 

2.マリみて5巻目読んでる

GWに実家帰ってる間読み進めてた。

もうちょっと早く本読めるようになりたい。

 

3.百合エロゲ『エヴァーメイデン』クリア

面白かった。

 

4.鏡Anyを復習中

15日にイベント出る。とりあえず裏で27は1回出した。

 

5.ルビサファのレジ系捕獲乱数調整作った

図鑑完成RTAで使うらしい。大体のことは調査済みだったので、僕はタイマーをどのくらいに調整したら上手くいくか確かめただけ。なお僕は絶対図鑑完成走らない。

youtu.be

 

6.サファイアちょっと走りたくなった

少し練習して、くそ運ゲーなの思い出して思いとどまった。

日記5日目 2023/04/13

ブログで毎回日付打つのだるい。自動で今日の日付入力したいな。そういうホットキー作れないかな。

→調べたら一瞬で出てきたからまるまるコピペで導入した。

https://tex2e.github.io/blog/keyboard/ahk-type-today-date

ちなみに他にもメインで使ってるGメールアドレスとかはahkで自動入力してる。

 

1.全然寝れなかった

なんとなくエナドリ飲んだのが良くなかったのかもしれない。結局朝9時に寝て昼1時に起きるっていう謎ムーブをした。いい感じにバランス取れて今夜は普通に寝れたらいいなあ。

 

2.『言語沼』読了

ゆる言語学ラジオという、youtubespotifyで配信されているラジオ番組がある。そのパーソナリティの2人が書いた本がこれ。

沼と題しているものの、内容は読みやすいライトなもの。

人に買うのをオススメするかと言われたら微妙な所だが、「ちょっとこれ読んでみて」って友達に貸して、「面白いと思ったらラジオもオススメだよ」ってなる感じの本だと思う。僕は貸す相手いないけど。

 

本家ラジオは追っかけ視聴中で、今は#130辺り。

 

3.PC操作でちょっとした知見を得た

URLの所クリックする時、ちょっと横にドラッグしたら全体選択しないで済む。

SRCでURL弄ってページ飛ぶことが多いから地味に便利。

日記4日目 2023/04/12

昨日ツイートしてなかったけど、ちゃんと書いてました。(日付変わって今日になってたけど)

 

1.スプレッドシートでデータを自動で表にする作業をした

サークル活動関連(ポケモンではない)で自動化してみたいことがあったので、スプレッドシートで色々弄ってた。ちょっと理解が進んだ。

タイムスタンプから日付だけを取り出して、その日付を1週間ごとに補正して、あっちの表に参照させて自動で出席表にして…… みたいなことしてる。

僕が抜けた後も保守できるかは不明。なるべく分かりやすいように仕組み書いとくし、トラブルあった時連絡もらえれば対応するけどね。

 

2.サークル行って、新1年生とちょっと話した

コミュ障なりにできるだけ話してた。お酒飲めない年齢って若いなあって思った。

 

3.メロンパン食べた

美味しい。幸せ。

日記3日目 2023/04/11

もう日付変わってるけど気にしない

 

1.朝時間なくて朝食食べれなかった

余裕を持って起きたい。ここ数年ずっと寝付けないのが辛い。

2限、3限と続いてたので学校で何か買うしかなく、仕方なくサラダのサンドイッチ(220円)を買った。満足感に対してちょっと高いからなるべく買いたくないんだけど

 

2.ポケモンサークルに顔を出した。

僕は去年から大学のポケモンサークルに入ってる。

ポケモンサークルでは主にポケカ、次いでゲームのポケモンスマブラ、他にも授業についての相談・雑談など、集まった人たちで自由に活動している。

 

僕はポケカしてないし、最近はSwitchのゲームも全く触ってないし、相談したいことも、相談に乗れることも無かった。ということで挨拶だけしてノパソ開いてweb小説読んでたらそのまま活動終了時刻に。

何してんだこいつ。

 

思えば僕は中高の昼休みとかもずっとこんな感じだった。

適当に周りの話聞きながら一人で昼ごはん食べたり本読んだりスマホ弄ったりしてる。誰とも話してないから、周りで気になる会話があれば全部そっちのけで聞き入ることもできる。これはぼっちの特権だと思う。

別に寂しいとかないけど、もっと人の話に入れるようになりたい気持ちはある。(気持ちがあるというだけで一切行動してない)

 

3.豚こま買った

僕が買う唯一の肉は100g98円セール中の豚こまだ。鶏むね肉とかはもっと安いが、調理が面倒な印象があるので滅多に買わない。

 

今日の夕飯は生姜焼き+豆腐。

豚こま約70g(70円)、100円のコールスロー1/3(30円)、ごはん1杯(20円)冷奴1個(30円)で合計150円程度だと思う。楽で安くて美味いの最高。