12/11: いくつか追記しました。
「かえんだま」が入手しづらいらしい。11月15日発売のNintendo Switchのゲーム「ポケットモンスター ソード・シールド(剣盾)」での話です。僕も買って、プレイ時間はもう300時間弱になりました。
かえんだまは持たせると「やけど」状態になるアイテムで、状態異常時に攻撃力が1.5倍になる特性「こんじょう」のポケモンにこれを持たせるコンボが前々からあったわけです。このかえんだまを今作で入手するには、クリア後にシュートスタジアムでトーナメントを開催して優勝すると、ボールガイという、自分をモンスターボールと思っている男から低確率でもらえます。要するにこのために3人とポケモン対戦をして勝つ必要があります。1周でかかる時間はだいたい10分くらいで、300周(50時間?)以上しても出ないらしい。
かえんだまトナメ300週終了しました
レア枠
ウルトラボール×1
レベルボール×1
ヘビーボール×1
ムーンボール×1
いのちのたま×3
くろいてっきゅう×5
どくどくだま×1
ですここまでかえんだま出ないとゲーフリに呪われてるんじゃないかと思っちゃいますねぇ!
— にゃん仔/Kou (@nyanko_4tn) 2019年12月7日
このヤバさが伝わってきたでしょうか。今回は、マイコンを使ってキー入力を代行させることでこのトーナメント周回を自動化し、楽に作業していこうと思います。
—
(追記 12/11 02:27)Pythonスクリプト公開しました。
https://github.com/cheenanet/pokemon-swsh-scripts
—
もともと、同様の試みはスプラトゥーン2などにおいてプロフィール画のドット打ちを自動化する shinyquagsire23/Switch-Fightstick などがあり、これのフォーク元になっているのが progmem/Switch-Fightstick です。これはポッ拳コントローラーのようにふるまうもので、さらにこれにシリアル通信経由で命令を出せる ebith/Switch-Fightstick もあります。こうすることで、ソースコードの内容を変更するたびにマイコンに焼く必要がなくなり、コードのテストなどの作業が楽になります。先人に感謝。
用意したもの
- マイクロコンピュータ
CPUにatmega16u2かatmega32u4を搭載したもの。有名なものではArduino Pro Microなど。スイッチサイエンスでは2500円程度ですが、互換機(パチモン)でも可。私は秋葉原で購入した600円のパチモンで動かしています。 - USBシリアル変換アダプタ
なんでもいい。 - スルーホール用テストワイヤ
はんだ付けとかしたくなかったので。 - USB Type-Aメス Type-Cオスのアダプタ
Anker USB-C & USB-A 3.0 変換ケーブル【最大5Gbpsの転送スピード】MacBook/MacBook Air (2018)、Galaxy S9 / S9+、Xperia XZ1 他対応など。マイコンのmicroUSBに差したType-Aオスのケーブルをさらに変換する用。Nintendo Switchのドックなどがある場合は不要。 - microUSBケーブル オス ←→ オス
Amazonベーシック USBケーブル 0.9m (タイプC – マイクロ2.0タイプB) ブラックとかで、microUSBからType-Cに接続してもいいかも。
—
マイコンにコントローラーのコードを焼くのはこんな感じでやりました。(環境はDebian 10なので注意。macOSなどは引用元参照)
sudo apt install avrdude gcc-avr
git clone --recursive https://github.com/ebith/Switch-Fightstick.git
cd Switch-Fightstick
make
# Pro MicroをDFUモードにする必要がある。自分のパチモンの場合は基板のRSTとGNDをテストワイヤでつなげ、数秒以内に実行
sudo avrdude -p m32u4 -c avr109 -D -P $(ls /dev/ttyUSB*) -b 57600 -U flash:w:Joystick.hex
そうしたらあとは Switch-Fightstick/example を参考に、トーナメント周回やタマゴ孵化のPythonコードを書いていきます。単純にA連打では不可(対戦前にコートに入場するなどの動作が必要)なので、実際にトーナメントに挑戦しながら、ボタンを押すタイミングをメモしていきました。最終的に、一試合の平均時間の3分までA連打し、その後↑を3秒間押すのを3回ループするといった感じにしました。
—
周回役ポケモン
トーナメント周回役のポケモンは特に悩みました。ムゲンダイナのダイマックスほうではフェアリータイプで詰み、それならウオノラゴンのエラがみでツッパらせておけばいいだろうと思っていたら、マリィの使ってくるドクロッグの特性が「かんそうはだ」なので水タイプ無効で詰み。最終的にこうなりました。
シンボラー

Lv.100
特性:いろめがね
持ち物:こだわりメガネ
技:エアスラッシュ
性格:ひかえめなど特攻アップの性格推奨
努力値:H236/C252/S20(Sはホップのザシアン抜き)
シンボラーの特性が隠し特性の「いろめがね」であることが重要です。いろめがねは効果がいまひとつのダメージが1/2だと等倍に、1/4は1/2になる特性です。ダメージが1/2になるタイプは電気/岩/鋼で、このうち両方のタイプをもつポケモンはジバコイル(電気/鋼)、ダイノーズ(鋼/岩)、トゲデマル(電気/鋼)くらいで、前2匹は剣盾環境にはいないため問題なく、ほぼすべての場合で等倍以上の技が撃てることになります。同じ特性を持っているバタフリーについては、火力も低く4倍弱点の岩に対して弱すぎたためリストラしました。
(追記 12/09 14:16)一発で倒せない相手のためにスペシャルアップを最初に使うのもありかも。
成果
剣盾トーナメント周回の自動化の進捗です
試行錯誤した結果、一試合の平均時間2〜3分までA連打することにした
ムゲンダイナで突っ張っているのでフェアリーが出てくると詰む
ウオノラゴンでもちょすいやかんそうはだのポケモンで詰む
ザシアンがほしい… pic.twitter.com/bPgTzH9ohy— Cheena(ちーな) (@cheenanet) 2019年12月7日
ア!!!!!!!!!!!!!!!!!!!!!!!!!! pic.twitter.com/4Jd0xc9hkC
— Cheena(ちーな) (@cheenanet) 2019年12月8日
まだかえんだま持ってないのお前だけ
— Cheena(ちーな) (@cheenanet) 2019年12月8日
無事かえんだまを入手できましたが、実際のところ50周もしていないと思います。
タマゴについて:セキタンザン+タマゴ5個でグルグル回りながらBボタン連打で自動孵化してくれるが、5個生まれるたびに再度タマゴを1セット用意しなければいけない。自動ボックス送りはさすがに無理がある。
5chのポケモン板のスレではワット回収自動化のコードも配布されています。興味ある人はそちらを覗いてもいいかもしれません。
問題点
- 負けないとは限らない
エアスラッシュ外す(5%)、耐えたポケモン複数匹に反撃される…など。メロンに勝てない時がある?→検証中
キョダイラプラスをエアスラッシュ1回で落とせず、キョダイセンリツで特防が上がり2回目も耐えて倒された(倒せることもある)- マリィのいたずらごごろレパルダスに優先度+1でいちゃもんをされると、わるあがきしか打てなくなり詰む
- その他モブキャラののろわれボディ持ちポケモンでかなしばり状態になると同様に詰む
- Type-Cのハブで充電しながらやりたい。Amazonベーシックのものでは非対応だった。
注意事項
・機器やPythonのソースコードの販売等は行いませんので連絡しないでください。
剣盾ワット製造機のメルカリとかでの販売、コントローラーをリバースエンジニアリングしたコードが含まれてるし販売は違法じゃないかなと思う
— Cheena(ちーな) (@cheenanet) 2019年12月11日
投稿をシェア
記事の内容が面白いと思ったら、SNSでシェアしていただけると記事を投稿するモチベーションにつながります。