クリスマス、23日目___.
こんばんは。Hopeです。
この記事はPokémon Past Generation Advent Calendar 2023の47日目の記事となります。
今回の記事では、メイユールさんが制作したポケモンXDの初期Seed厳選自動化プログラムであるXDSeedSorterの使い方を解説していきます。
ゲームキューブ作品の乱数調整をするにあたり切っても切れない関係である初期Seed厳選ですが、ポケモンXDはこの問題を本ツールによる自動化で解決できます。とくべつなわざを覚えていたり、独自の仕様により一風変わったポケモンが手に入るこのゲームの乱数調整をより快適に、より簡単に体験できるようになるこのツール、使わない手はありませんね。
という事で解説に入ります。よろしくお願いします。
0. ツールのダウンロード
当分直す予定はないとの事ですので、メイユールさんから許可を頂き僕の方から再配布をします。
こちらからお願いします。
1. 必要なもの
動作にはWHALE(みずようかんさん制作)が書き込んであるマイコン(Arduinoやラズパイ)が必要です。Jiangtun(メイユールさん制作)では動作しませんので注意してください。
機材の工作などについては詳しく説明しません。他の記事をあたってください。
2. ツールの設定
config.jsonファイルとsequence.jsonファイルを編集します。メモ帳などで開いてください。
まずはconfig.jsonファイルの各項目について説明します。
portName
マイコンがつないであるポートを指定します。数字を書き換えて使用してください。
captureIndex
カメラ番号を指定します。数字を書き換えて使用してください。
token
LINEのトークンを入力すると通知を送信してくれます。通知が必要ない場合は入力しなくても大丈夫です。
tsv
表ID xor 裏IDを行った入力してください。空欄でも動きますが、低確率で事故るそうなので特に理由が無ければ入れておきましょう。
targets
目標Seedです。10進数で入力してください。
waitTime
待機時間の指定です。maximumで最大値を、minimumで待機の切り上げ時間を指定してください。
基本的には編集する必要はありませんが、消費を通り越してしまう場合は切り上げ時間を増やしてあげてください。
advancesPerSecond
いますぐバトルで1秒あたりに発生する消費数です。編集する必要はありません。
allowLoad
ロード後の消費をするかの選択です。レポートを書いてある場所が乱数消費を起こすような場所(トゲピー、オオスバメ、ヨマワルなど)であればfalseを、そうでなければtrueを入力してください。
なお、falseに設定した場合は振動設定の変更によるレポートを複数回書いてSeedをビタで合わせるのですが、目標Seedによってはこの回数が数百回、下手すると千回を超えてしまう事もあります。目標Seedを動かして対応するのが賢明だと思います。
メイユールさんの記事などを見て、自分で良い感じの目標Seedに調整してください。
advancesByLoading
ロード時の消費数です。マップごとに違いますので適切な値を入力してください。
advancesByOpeningItems
もちものを開いた時の消費数です。マップごとに違いますので適切な値を入力してください。
config.jsonの設定は以上です。
続いてsequence.jsonについてですが、このファイルではGCに送信する操作を設定しています。基本的に設定する必要のある項目は1つだけです。操作にゲームが追い付いていない場合や操作にゆとりがありすぎると感じた場合は、各入力についているintervalを微調整してみてください。
finalize
sequence.jsonファイルの最後の項目です。ここではメニュー画面でSeed調整を完全に終えた後の操作を設定できます。トゲピーであればA連打で受け取り、オオスバメであれば上入力>A連打でアルドスと戦闘に入るなど、用途に合わせてカスタマイズしてください。
デフォルトで書いてあるものはトゲピー用です。他の乱数調整をする際はこの中身を削除して使ってください。
これで設定は全て終わりです。
3. 使ってみよう
と言っても、マイコンとGCを接続してXDSeedSorter.exeを起動すれば、勝手にツールがSeed厳選をしてくれるので特に書く事はありません。
強いて言えば、コマンドプロンプト上で起動した方がログが残って良いと思います。見ないならダブルクリックで起動してしまって大丈夫です。
4. targets(目標Seed)の設定について
この欄には強制消費を見越したSeedを入力する必要があり、目標個体の生成Seedから少し巻き戻したSeedを入力する必要があります。
しかし既存のXD乱数調整ツールではSeedを戻す機能が搭載されておらず計算が少し面倒なので、僕の方でツールを作りました。使いたい方はこちらからどうぞ。使い方は見れば分かると思います。
なお、開発に当たり夜綱さんのライブラリを使用させて頂きました。本当にありがとうございます。
5. トゲピーの乱数調整の完全自動化について
XDSeedSorterでは、トゲピーの乱数調整を完全に自動化する事が出来るのでそちらの設定についても書きます。なお、この方法に関してはSeedの1点狙いが前提となりますのでご注意ください。
フォルダ内にあるstats.jsonファイルに目標個体の実数値を入力&保存し、sequence.json内のfinalizeにA連打>B連打(会話から抜ける用。ちょっと過剰くらいで良いと思います。)>手持ちからトゲピーの数値を開く。までの操作を入力してからSample.ps1ファイルを起動するだけです。これでツールがトゲピーのステータスを読み取り、一致していなければリセット>Seed厳選へ戻る。を繰り返します。
なお、配布したファイルにはデフォルトで上記操作が記録してありますので、もしトゲピーに挑戦する方がいましたら、この操作をベースに環境に合わせて調整するなどしてください。
注意点として、街外れのスタンド内では1Fにつきおよそ1~6ほどの乱数消費が発生しています。ですのでLINEに送られてくるトゲピーの画像から引いた強制消費を特定し、±1Fズレを引いていたらtargetsに設定しているSeedを1つずらした方が良さそうです。ただallowLoadをfalseにする関係上振動設定の変更回数も出来るだけ少ない所を引きたいので、気合でどうにかしましょう。
6. 終わりに
近頃面白い話題が続いているポケモンXDの乱数調整ですが、話題を共有できるプレイヤーが少なく悲しい思いをしている人もいます。僕です。
これを機に、皆さんもポケモンXDを自動化し快適なニケルダークライフを送ってみてはどうでしょうか。デスゴルドも待ってます。