2022/03/21

【BDSP×Arduino04】BDSP序盤ストーリー自動進行(不思議な贈り物まで)

 ※本記事は、ポケモンBDSPのストーリー序盤(ふしぎなおくりものを使えるところまで)を自動化するプログラムについて解説した記事です。ポケモンBDSPの操作をArduino Leonardoで自動化しております。「Arduinoって何?」って方は剣盾の00回目の記事を、Arduinoの環境構築(ライブラリ含む)は01回目の記事をご覧ください。

 

2022/04/02追記:Ver1.03公開しました。201番道路、202番道路の一部の戦闘時間やループ回数を微調整しました。


本記事では、このプログラム(スケッチ)でできることや原理を解説したうえで、スケッチを配布しています。とにかくスケッチが欲しいという方は下へと読み飛ばしてください。


 

きっかけ、動機

2/27のポケモンデーに、ポケモンBDSPにて「オーキドの手紙」が配信となりました(1か月の期間限定のため受け取りはお早めに)。加えて後日、Legendsアルセウスとの連動でアルセウス出現、ダークライと会える「メンバーズカード」配信が決定しました。色違いダークライ、シェイミ、アルセウスが手に入るゲームとなり、ここ1か月で一気にBDSPの価値が高まりました。Let’s色厳選

問題は、オーキドの手紙、メンバーズカードがそれぞれ期間限定であること。ストーリー進行を考えると、無限周回とはいかなさそうです。ならばせめてSwitchに保存できるセーブデータ8本で回収したい、でもふしぎなおくりもの受け取れるまでが意外と大変・・・。自動化するか。

まだまだ最適化の余地はありそうですが、オーキドの手紙の受け取り期限が近いため、公開を優先します。

これで何ができるの?

主人公、ライバルの名前を決めた直後から、ふしぎなおくりものを受け取れるまでストーリーを進めます(クロガネジム撃破、コトブキシティのギンガ団を倒すまで)。最初にヒコザルを選び、モウカザルLv15程度で到達するまで約2時間となります。


原理、おおまかな流れ

概要

主な動作は剣盾のストーリー自動化と同様となります。

ただし今回は序盤のみ、他データとの通信を行わないため、必要な準備最初から初めて言語選択、主人公とライバルの名前を決定するところまでです。

 

以下、作成に当たって工夫した内容のメモ書きです。飛ばして大丈夫です

基本的な動きは壁などにぶつかり移動距離を調整しつつ目的地へと向かう、道路などでは想定しうる野生ポケモンとの戦闘をひたすらA連打で戦いながら進む、の繰り返しです。

以下では、要所での動きについてのみ解説します。細かいところはスケッチ上で読み取ってください。

 

最初のポケモンについて

最初のポケモンとして、ナエトル、ヒコザル、ポッチャマの3匹から1匹選ぶこととなります。本自動化ではヒコザルを選択しています。


理由として、

・ヒコザルは素早さが高く、基本的に相手よりも先に行動可能。特にナエトルは後攻になりやすく、余計に被弾したり、ズガイドスの頭突きに怯まされたりして萎えとる・・・という結果に。

・ヒコザルの使用する技が「ひのこ」「グロウパンチ」など優秀。203番道路までは火の粉を半減するポケモンがほとんど出てこない。クロガネゲートにて野生のイシツブテやトレーナーのコダックが半減してくるが、レベル差によるごり押しで何とかなる。その頃にはLv12でグロウパンチを習得するため、続くクロガネ炭鉱ではイシツブテ等にグロウパンチが有効。進化時の「マッハパンチ」については後述。
つらいのは、クロガネゲートのイシツブテやイワーク、ズバットとの戦闘で打ち分けしない限り誰かに不利になること。イワークは岩技で弱点を突いてくるうえ、グロウパンチ1発では落ちないので事故要因。

なお、ポッチャマは「はたく」「みずでっぽう」となるが、クロガネゲートトレーナーのスボミーがきつい(「つつく」はLv15)。高めの特防と吸い取る、痺れ粉による遅延があり、戦闘が長引いたり運要素が絡んだり。等倍のはたくを使うと、特性:毒の棘による事故も起こる。良い点といえば、クロガネ炭鉱などのイシツブテやズバットに水鉄砲が一貫すること。

同様に、ナエトルはもっと悲惨。「たいあたり」「このは」がどちらも物理技のため、序盤に頻発するムックル等の鳴き声により確定数が変わる。タイプ一致草技はムックル等に半減。スボミーについては毒の棘不可避。物理技ゆえ、イワークに木の葉が耐えられたりする。ヒョウタ戦で有利かと思ったが、道中がきつすぎた。

・ヒコザルはモウカザルへの進化がLv14と早く、経験値稼ぎを頑張らなくてもヒョウタ戦までに進化可能(ギリギリ)。モウカザルになることで格闘タイプが付き岩技(イシツブテイワーク)を等倍に抑えることが可能。さらにマッハパンチを覚えることで、ヒョウタ戦ズガイドスを先制で倒せる。前座のイシツブテ等でグロウパンチ、Aが上がるため確実。


以上のような点から、ヒコザルを選択しています。また、覚える技のレベル(ひのこ6、グロウパンチ12、マッハパンチ14)に合わせて道中の経験値獲得を調整しています。


経験値稼ぎについて

経験値については、道中の野生ポケモンとのエンカウントの頻度が毎回異なるため、正確に把握することは困難となります。特にグロウパンチからは技が4つ埋まっているため、レベルアップのタイミングを把握していないと戦闘中のA連打で1番上の技を書き換えてしまうこととなります。上記ヒコザルの火の粉やグロウパンチ等を覚えるタイミングを調整し、ある程度調整するため、道中で経験値稼ぎのタイミングを用意しています。

・202番道路入り口にてLv6以上に育てて、技3番目に火の粉を覚えさせる。この際、瀕死になってもならなくてもポケセンに帰れるように動きを調整。
・202-コトブキ-203番道路のあいだにLv9に育ち、ちょうはつを技4番目に覚えさせる
・203番道路の道中でLv12グロウパンチ。技を1つ忘れさせる必要があるため、技を並び替えて1番上をにらみつけるにしておき、A連打で書き換わるようにする。
・クロガネ炭鉱の入り口にて経験値稼ぎ。ズバットの超音波やイワークの岩落としなどで瀕死になる可能性があるため、その場合も炭鉱B2Fに戻ってこられるように動きを調整。技が書き換わってもいいように技の1番上を挑発にしておく。
・クロガネ炭鉱内のトレーナー~ジムトレーナーのあいだにLv14で進化。技1番上の挑発が書き換わり、ジムリーダー戦ではグロウパンチ>マッハパンチのコンボを決める。

202番道路とクロガネ炭鉱での野生戦で瀕死になる=ポケセンに強制送還されることがあるため、瀕死の有無に関わらず同じ位置に戻ることができるように動きを調整しています


おおまかな進行チャート

・ストーリー開始と同時に、設定の変更。テキストスピード、技エフェクトOFFなど。
・家を出て湖へ、最初のポケモンにヒコザルを選びムックル撃破。
・201番道路を通過して博士の研究所へ。その後ショップにて傷薬購入
・201番道路を往復して旅を開始。202番道路はじめにて捕獲チュートリアルを見た後、左右移動で野生ポケモンと連戦。瀕死になること前提で動き、Lv6以上まで上げる。瀕死の有無に関わらずポケセンへ戻る(強制送還or徒歩)。
・202番道路を進む。これ以降しばらく、使用技は先ほど覚えた火の粉。一番の強敵は最初の短パン小僧。道中で傷薬を使用。
・コトブキシティに着いたら、ポケセンで回復の後トレーナーズスクールへ。ライバルからタウンマップを受け取った後、塾帰り2人(ケーシィ)と戦闘して経験値稼ぎ。ポケセンで回復。
・ポケッチの引換券集め。3枚集めた後、ポケッチをもらう前に204番道路(上)でトレーナー2人を倒して経験値稼ぎ。その後ポケッチを受け取り、ポケセンで回復。
・203番道路でライバル戦、その後右方向へ。5つ目の技としてグロウパンチを覚えるため、技の1番上をにらみつけるにしておき、戦闘中にA連打で書き換わるようにする。また、203番道路右側から上に回り込んだ先に虫よけスプレーがあるため、回収しておく。
・クロガネゲートはひたすら右移動。イシツブテだろうとコダックだろうと火の粉。
・クロガネシティについたら、ジム前まで連れていかれた後ポケセンへ。その後下の炭鉱に行き経験値稼ぎ。その後、虫よけスプレーを使用して不意の戦闘を回避しつつ、トレーナー戦とヒョウタに話しかけるイベント。最後は穴抜けの紐にて脱出し、ポケセンへ。
クロガネジムへ。この直前あるいはジムトレーナー戦でモウカザルに進化し、マッハパンチ習得、挑発を削除。ジムリーダーのヒョウタ戦ではグロウパンチ3回からのマッハパンチでズガイドス一撃。
・ジム戦後、回復せずにショップへ向かい、販売開始された虫よけスプレーを購入。その後使用、203番道路を戦闘無しで走り抜け、コトブキシティへ戻る。
・コトブキシティポケセンで回復した後、204番道路側にいる助手、ギンガ団とタッグバトル。戦闘後、テレビコトブキに入れるようになるため、3Fにてディレクターに話しかけ、ふしぎなおくりものを開放

 

準備、必要なもの

本スケッチでは、特に準備は必要ありません。

主人公とライバルの名前を設定した後にマイコンを挿し、2時間ほど放置してください。

 

作成したスケッチ

作成したスケッチはこちらVer1.03。

おまけとして、1つのSwitch本体に登録可能な8データまでを順に進めるループを組んだプログラムも公開しておきます:おまけVer1.02(最新Verが出ている場合は、最新のスケッチのvoid setup(){内}をおまけのものに書き換えてください)。
あらかじめ各データの名前等を決定し、ストーリー開始直後のTV前でセーブしてください。マイコンを挿したときに開始したアカウントから順に、指定した回数だけ右のアカウントまでを順に進めます。

2022/04/02追記:Ver1.03公開しました。201番道路、202番道路の一部の戦闘時間やループ回数を微調整しました。

2022/03/23追記:Ver1.02公開しました。テレビコトブキのエレベーターガールのセリフ長が言語により異なるため、操作を調整しました。階数表示までAボタン入力4回の日本語、中国語、2回の英語はVer1.01で対応済み、3回のスペイン語にはVer1.02から対応させました(他言語は未確認)。

また、1つのSwitch本体に登録可能な8データまでを順に進めるループを組んだため、おまけとして公開します。

 

旧スケッチはこちらVer1.01。こちらVer1.02。

 

本スケッチを実際に使用した動画はこちら↓

プログラムは長くなるので割愛。スケッチをDLしてご覧ください。

最後に

本スケッチを使用することで、新規データを作成してからふしぎなおくりものを受け取れるまでのストーリー序盤を自動で進めることができます。ダークライやシェイミを複数確保したい、けれど面倒くさい・・・といった場合にご利用ください。

本記事の投稿時点でオーキドの手紙の受け取り期限があと1週間迫っていますので、お忘れなく。

プログラムの不備、改善点などありましたらコメントやお問い合わせからお願いいたします。

Arduino Arduino Leonardo (ピンソケット・ピンヘッダ実装済) 【A000057】
by カエレバ

2 件のコメント:

  1. ブログを拝見せていただきました。検証の部分でエラーが出て書き込みができなかったです。

    返信削除
    返信
    1. エラーメッセージを記載しなければどうしようもない

      削除

【ポケモンSV×arduino06】道具プリンター乱数自動化(藍の円盤)

 ※本記事は、ポケモンSVの藍の円盤(DLC)にて、 道具プリンター を決まった日時に起動することで 特定のアイテム、ボールを狙って量産する操作を自動化 するプログラムについて解説した記事です。ポケモンSVの操作をArduino Leonardoで自動化しております。 本記事の内...