※本記事は、ポケモンSVにて固定したテラレイドのローカル通信のゲスト側のレイド周回によるアイテム・ポケモン入手を自動化するプログラムについて解説した記事です。
今回はPoke-Controllerを利用しつつ、前回公開したホスト側の自動化プログラム(SV×Arduino04(マイコン単体))と併用することを前提としています。
Poke-Controllerについては、以下のPoke-Controller Guideにて導入等詳しいことが解説されております。
[注] 本記事の内容は、ローカル通信で通信できるNintendo Switch本体とポケモンスカーレット/バイオレットを2台以上所持している方向けの内容となります。ローカル通信のホスト側の操作を自動化することで、アイテム稼ぎのために2台以上を同時操作しなければならない周回作業を自動化します。 本記事の内容はゲスト側の自動化の解説記事です。ホスト側との連携を前提としていますので、以下の記事も合わせてご覧ください。
また、ホスト側の画面を画像認識に用いるため、ホスト側のSwitch本体はTV出力のできるものである必要があります(Switch liteは不可)。ゲスト側は画像認識不要のためliteでも可能かと思います。
2023/04/09:Ver1.0を公開しました。レイドローカルゲスト側の自動化(Poke-Controller用)の記事は作成中です。一応、ゲスト側のPythonプログラムおよびTemplete画像を仮公開しますが、こちらは記事作成まで質問等は受け付けません。
本記事では、このプログラムでできることや原理を解説したうえで、Poke-Controller用プログラムを配布しています。とにかくスケッチが欲しいという方は下へと読み飛ばしてください。
きっかけ、動機
前回、Arduino04の記事にて、ローカルレイド周回のためのホストの操作を自動化しました。2台同時に操作する必要がなくなり、稼ぎのための周回操作が少し楽になりました。
しかし、レイドを操作し続ける労力を考えると、ゲストの操作も含めて完全に自動化したい。というわけで、今まで扱ってこなかった画像認識を利用するときが来ました。以前にPoke-Controller環境を1台だけ構築していましたが、画像認識を使用したプログラムの作成や利用をしていなかったため、初めてのPoke-Controllerの利用となります。
巷ではPoke-Controller環境を複数用意し、同時に起動することでテラレイドバトルを自動化している方もいますが、キャプチャーボードやシリアル変換を複数台買い足すのも面倒だったので、本来の使い方と異なる接続方法によって無理やりPoke-Con環境1台+マイコン単体1台の組み合わせでレイド周回を自動化してみました。
これで何ができるの?
前回公開したホスト側の自動化プログラム(SV×Arduino04(マイコン単体))と連携し、特定のレイドを固定したホスト側のソフトにてレイドの開催とソフトリセットを繰り返す操作に合わせて、もう1台のゲスト側ソフトにてレイド参加から撃破、報酬受け取りまでの周回操作を自動化します。
前回ホスト側に対応するように、①レイド開始直後一撃で倒す場合(メタモンレイドや弱い★3,4レイドを想定)と、②制限時間ぎりぎりまでパラボラチャージ等のドレイン系の技を連打する場合(積み技をもたない★6レイドを想定)の2通りを作成しました。前者はテラピース集め、後者はテラピースに加えて秘伝スパイスや特性パッチなども集められます。
ホスト、ゲスト双方の操作を自動化することで、完全放置で同じレイドに挑み続け、ゲスト側でアイテム(+ポケモン)を回収し続けることが可能になります。Poke-Controllerの環境1台とマイコン1台があれば実行可能なため、おそらく他所で公開されているレイド自動化よりも必要な機材が少ないかと思います。
以下、固定したレイドを開催してローカル通信で募集をかけ、戦闘後にリセットしてレイド開催を繰り返す1台目をホスト、ホストの開いたレイドに参加を繰り返す2台目をゲストと呼びます。