このブログ内を検索可能

2022年10月31日月曜日

ドラクエ10 さいほう最適化自動化ツール

 アニマロッタの再現もしたし、ビッグクリアフィギュアも400個くらい集まっておでかけもひと段落(とはいえ、120万枚のメダル更新のために東京に行く必要はあるし、直近にカービィカフェが開いていたのでそこに行ったりなどはするが)し、当時は作成しようとしてできなかった「ドラクエ10職人(さいほう)最適化ツール」を作ることにした。

これができれば、毎回自動でだいたい最適な手を打ってくれて職人練習場で素材の消費なくレベルをどんどん挙げられるという寸法である。

ドラクエ10は6年前からまったくプレイしなくなったが、これをやるために舞い戻ってきた。あのころは金策やレベル上げなどに普通に勤しんでいたが、それで稼げる量は知れているし、貴重な時間を割くことになってしまう。特に気にすることなく毎日ドラクエ10で純粋に遊んでいた時代が懐かしく、非常に楽しかったと記憶しているがあの頃に戻りたいかというとそれは非常に難しい問題である。

さて、我が行おうとする行為はいわゆるBOTというもので、あまり認められたものではないが、これはBOTを購入したものではなく、自ら作り出したものである。我が目指している現実的な将来像にも関わってくる話なので、遊びとしてこういったことに慣れておくことは知的にも面白く、かつ将来にも役だつためとてもいいことではないかと個人的に考えた。運営にとっては良くないことだとは思うが、ゲームバランスは崩壊しないと思われる(これを行う人が1人しかいない上、それをまねようと思ってもたぶん厳しいことが予想されるため。事実我も何百時間ものソフトウェアの修練そして何十時間もの試行錯誤を経てたどり着いたものなので。あと配布予定もないため。)

BANされた場合はそういう運命だった、あるいはドラクエ10で我々の能力は所詮求められていなかったのだとあきらめることにする。

巷ではさいほうアドバイザーなど、さいほう関係を楽にしてくれるツールがたくさんあり、次の手でどれくらい削れるかを示してくれたり、基準値を打ち込んだり、数値表が記載されていたり、アドバイザーでは次の最善の1手を表現してくれたりなどの機能がある。

しかしそれを使ったところで、やはり自分のリソースを割いてしまっているし、新しい世界を切り開くことは難しい。よって我は数値を自動で認識して、そこから最適解を計算しそれを自動で入力してくれるという前代未聞のツール作成を夢見ているのである。

これには我が前大学時代で自然に培われたmathematicaおよび、アニマロッタ解析でそのコツをつかんだUWSCをもって挑戦しようと思う。

原理として、UWSCでよく使われるchkimgXをもって数値を読み取り(このとき黒色部分を認識する)このデータをメモ帳を介しmathematicaに移動。そこで最適解をランダムな探索により、その全パターンのうち誤差が最小となるようなマスと技能の組み合わせを見つけ、これを再びUWSCに戻す。そしてその入力を受けてボタン、キーボード入力を行う。

これを繰り返し、できのよい品物を作っていくという寸法である。なお一つの品物だけでなく、複数の品物に対してその都度「最適解」を計算し入力できるようにする。


それでとりあえず完成はして、連続で最適なものを作れるようにはなったがその精度が足りず、実用化には至っていない。しかし星2程度なら普通に作れる感じか。