皆さん、こんにちは。ぽけ太です。
今回は、ポケモン剣盾で使える固定シンボル色違い厳選用プログラムを自作したのでご紹介したいと思います。
効率は、1エンカウントあたり約40秒、1日2,200エンカウント弱であり、運が良いと寝て起きたら一匹色違いが出ている、なんてこともあります(光るお守りあり)。
光るお守りなしでも、大体10日間稼働させ続ければ99%越えの確率で色違いが出ます。
ひし形エフェクトの色違い、色証を自分のアカウントで厳選してみたいという方はぜひ最後までご覧ください。
※プログラムには画像処理による条件分岐が使用されています。キャプチャボードが必要なためお持ちでない方はご用意ください。
始めに
本記事は、”Poke-Controller (Modified)“導入済みの方に向けたものとなっています。
導入がお済でない方は、ネット情報を参考にPoke-controllerを導入を行いましょう。
以下の外部リンクは著者のオススメのものになります。
【Poke-Controller】画像認識自動化の導入おぼえがき【中級者向け】(ますたーの忘備録様)
Poke-Controllerとは
※以下、そもそもPoke-Controllerとは何なのか?という方向けの内容です。
Poke-Controllerとは、有志の方々が作成したNitendoSwitchの自動化支援ソフトウェアです。
簡単な仕組みとしては、マイクロコントローラーを利用することでプログラミング言語(Python)によるSwitchの操作を行う、といったものになります。
NintendoSwithの自動化(特にポケモン界隈)に関しては、Arduino(ATmega328Pチップ、あるいはATmega32U4チップ搭載)というマイコンを用いる方法が広く採用されています。
Poke-Controllerもそのうちの1つであり、(個人的な見解を多く含みますが)数ある自動化方法の中でも、
- パソコンからのSwitchの操作が可能である
- プログラムの切り替えが容易である
- 簡単な画像認識を含んだプログラミングができる(キャプチャボード使用時)
という点で優れたものとなっています。
Poke-Controllerを含めSwitch自動化の導入記事は世の中に色々あるため、本ブログでは触れるつもりはありませんが、導入にあたって注意した方がいいなと感じた点はいずれまとめようと考えています。
今回の記事はあくまでPoke-Controllerをある程度使える方に向けた内容となっているため、引き続き読んでいただける方はご理解の方お願いします。
作成したプログラムの概要と使い方
以下、作成したプログラムの概要と使い方について解説します。
プログラムの概要に関して
今回作成したプログラムは、日付変更バグによるリッポプ(いわゆる固定沸き)を利用しています。
プログラム実行時の流れとしては、
- ソフトの起動
- オープニングのスキップ
- 任意のポケモンのリポップから戦闘への移行
- ”野生の◯◯が現れた”を画像処理で認識
- ”ゆけ!(いってこい!)エルレイド”を画像処理で認識(先頭はエルレイド固定)
- (色違いのカットインにより)⑤を認識できなかった場合は色違いと判断し処理を終了
- それ以外はソフトリセットを行い①から処理を繰り返す
となっています。
また、ポケモン剣盾では天候により固定シンボルのポケモンが変わりますが、日付変更の1時間前(23時)になったらSwitchのホーム画面で0時に戻すプログラムを組んでいます。
そのため、任意のポケモンの色違いが中々でない場合でもポケモンが変わるのを気にせず一日以上放置して使えます。
すでにPoke-Controllerを使っている方は持っているかもしれませんが、本プログラムは画像処理を多用するためキャプチャボードが必要です。
まだお持ちでない方はご用意ください。
以下、著者が使用しているキャプチャボード。安価ではありますがPoke-ControllerやポケモンBDSPの乱数調整に使用する分には十分すぎる性能を持っています(価格:約2,200円)。
プログラムの使い方に関して
では、実際にプログラムを使用するまでの手順をご紹介します。
プログラムのダウンロード
- 画像フォルダ【image_SymboleEncount】
- pythonファイル【SymboleEncount_version1.py】
をダウンロードしましょう。
特に縛りなくダウンロードできる方法なのでGoogle drive採用しましたが、問題が多いようであれば別の方法を考えます。お気軽にコメントください。
Poke-Controllerにダウンロードしたファイルを組み込む
画像フォルダとpythonファイルがダウンロードできたら、それぞれをPoke-Controllerに組み込みます。
パソコンの(恐らく)Cドライブ上にある【PokeCon】フォルダの傘下に、ダウンロードしたものをそれぞれ以下の場所に貼り付けましょう。
- 画像フォルダ【image_SymboleEncount】:PokeCon>Poke-Controller-Modified>SerialController>Template、に張り付け
- pythonファイル【SymboleEncount_version1.py】:PokeCon>Poke-Controller-Modified>SerialController>Commands>PythonCommands、に張り付け
ポケモン剣盾でリポップの準備
キャンプを利用した日付変更バグを利用して、任意のポケモンがソフト起動時にリポップするように調整します。
やり方が分からない方は、参考に以下のYoutube動画(れい と れあ 。様)をオススメします。
経験として、一度固定シンボルを倒した後のキャンプでの日付変更を日単位にするとうまくいかないことがありました。
日付変更する際は、年単位で移動させることをおすすめします。
また、本プログラムはエルレイドが戦闘に出ることを前提にしています。
他のポケモンの場合、試行回数1回目で停止してしまうためご注意ください。
Poke-Controllerの起動
以上の準備が整ったら、Poke-Controllerを起動して、プログラムの中から【固定シンボル厳選_version1】を選択しReloadしましょう。
あとはStartを押すことで色違いがでるまで自動で厳選を始めます。
また、LINE Notifyを組み込んでいる方は、Pythonファイルの51行目先頭の#を消すことで色違い出現時にLINE通知が来るようにできます。
最後に
今回は、ポケモン剣盾で使える固定シンボルの色違い厳選用プログラムをご紹介しました。
本プログラム作成に当たり、Poke-Controllerの開発者様をはじめとして様々な方の制作物を参考にさせていただきました。
この場をお借りして心より感謝申し上げます。ありがとうございました。