Log

いろいろ

ポケモンDX

やっと『ポケットモンスター スカーレット』をクリアしました。

どうやらスカーレットを選ぶ人間は少ないらしく、周りから「早くコライドンを捕まえてよこせ」と脅されていました。スター団よりよっぽど悪い奴らです。

ロケット団からのLINE

クリアしたらポケモンバトルがしたくなってきました。大好きなウインディを使ってエンジョイ勢として楽しみたいです。厳選はしたくないなと思っていたら、今のポケモンは育成がとても簡単になっているんですね。私はブラック・ホワイト以来のポケモンシリーズになるため、いろいろと衝撃でした。個体値も性格も変更できるとは。ポケモン愛護団体に訴えられろ。*1

とにかく何でも金で解決できるようでした。そういうことであればウインディを強くしてあげたいです。楽して金を儲ける方法を調べてみたところ「連射コントローラー」なるものを購入して、自動的に無限バトルをおこなう方法が主流でした。このコントローラーは3,000円くらいで購入できそうです。時間を金で買うことには大賛成と言えど、リアルマネーを使うのは何だか嫌ですね。

会社のポケモンをやっている同僚にこの話をしてみると「Switch自動化できるよ」と言われました。その手があったか。俺はエンジニア。欲しいのものは自分で作るのだ。テクノロジーで豊かなポケモンライフを実現。たぶんデジタルトランスフォーメーションってやつですね。ポケモンDX*2

【解説記事】ポケモンの自動化の歴史と動向【#Switch自動化 】 - ますたーの忘備録

まずは勉強からです。愚者は経験に学び、賢者は歴史に学ぶのだ。とてもボリュームがあり、すべて読むのに30分くらいかかりました。

Arduino Leonardo

あたりまえだけどハードウェアが必要だったのでマイコンを買いました。4,000円くらいです。いきなり連射コントローラーの値段を超えた出費ですが、ハードウェア・ソフトウェアの購入は経費で落ちるので問題ないです。心の経費です。勉強代だから…他にも使えるから…

このArduinoの製品はハードウェア設計がオープンソースとして提供されているという点が興味深かったです。そうか、ハードウェアにもオープンソースはあるのか。そういう訳で2,000円ほどで購入可能な互換機も売られていましたが、今回は純正を購入しています。私は純正が好きだし、このよく分からん分野でリスクも取れないので当然の決断です。

さて、ハードウェアが手に入ったので次はソフトウェア。Switch自動化をおこなうためのライブラリはいくつか種類があります。私は「NintendoSwitchControlLibrary」を選びました。コミット履歴が一番新しかったから。それだけの理由です。導入手順に従うだけですんなりと環境構築が完了しました。

GitHub - lefmarna/NintendoSwitchControlLibrary: A library for microcontrollers that uses Arduino to automate Nintendo Switch games.

マイコンを導入して、ポケモン剣盾を自動化しよう!【Mac・Windows】|ポケモニット

あとはスクリプトを書くだけです。とりあえず主流の金策を自分で実装してみます。といってもA連打のループをおこなうだけですけどね。Cっぽいシンタックスで処理を記述します。こんな感じ。

void loop(){
    pushButton(Button::A, 500);
}

これで無事に連射コントローラーの完成です。歴史の勉強から本ブログの執筆まで含めて2時間以内で終えることができました。というわけで私の2時間の人件費がかかります。Amazonで3,000円の連射コントローラーを買った方が安いのでそちらの方がよいと思います。

それと、金策をおこなう学内最強大会というイベントですが、私はまだ解禁されていませんでした。ジムをすべて再戦しないといけないんだってさ。めんどくさい。誰か代わりにやってくれませんか?3,000円払います。

最後に成果物としてB連打のgifを添えて終わります。

スクワットするコライドン

*1:これも当時に使い古されたセリフなんですかね。

*2:結局デジタルトランスフォーメーションってなんですか?