【BDSP自動化02】ふれあい広場できのみ集め【ダイパリメイク】

ますたーです。こんにちは。

今回はダイパリメイク自動化記事第2弾として、「ふれあい広場」での「きのみ」集めを自動化しました。

 

なお、Arduino Leonardo自動化の導入・機材構成については導入記事を参考にしてください。

導入記事:【Arduino自動化01】Arduino開発環境の導入

※本ブログに初めてお越しの方は「本ブログについて」もぜひ、ご覧ください。

 

概要

ヨスガシティ北にある「ふれあい広場」でイーブイ6匹を連れてきのみを集め続ける自動化です。完全放置で、ポフィンづくり用の「きのみ」9種類*1や、ボールシールなどを手に入れることができます

f:id:tangential_star:20211211223108g:plain
f:id:tangential_star:20211211223200p:plain
ふれあい広場でイーブイ6匹を連れ歩き。一定歩数で「きのみ」などを拾ってくれる。
ポフィンづくりには欠かせない、9種類のきのみはここでしか入手できない

このプログラムは丸1日放置が可能です。わずか2時間放置しただけでも、画面で確認できるだけで「93個」ものレアきのみを拾い集めることができました。なお、拾えるきのみは9種類ですが、画面上には7種類しか映っていないため、実際の時間あたりのきのみ効率はもっと良いということを念頭に置く必要があります。

なお、余談ですが、一緒に走り回ることで「なかよし度」も上がるため、レベルの高いポフィンを作るためにも長時間放置がオススメ*2です

f:id:tangential_star:20211207003130g:plain

2時間放置で、画面に映っているだけでも93個ものレアきのみが拾えたぞ

もくじです。今回の記事は「ふれあい広場」の特集記事ですね。

プログラムのソースコードだけ欲しい!という方はどうぞ→読み飛ばす

 

ふれあい広場では、かわいいポケモンを連れ歩ける

まずは余談から。ふれあい広場についてです。自動化の概要が知りたいという方は→自動化準備まで読み飛ばす
ご存知の通り、ヨスガシティの北にはポケモンと触れ合える広場があります。ここで連れ歩きができるポケモンは限られており、「最初の御三家(ヒコザルナエトルポッチャマ)とその進化系」「イーブイとその進化系」「ピカチュウ」「ピッピ」「フワンテ」「ミミロル」「パチリス」などの『かわいいポケモン*3しか連れて行くことができません。

f:id:tangential_star:20211209222042g:plain
f:id:tangential_star:20211209220847g:plain
連れ歩けるポケモンはごくわずか。受付のお姉さん基準で「かわいいポケモン」のみが入れるのだ

ふれあい広場では、ポケモンが「シール」や「きのみ」を拾ってくる

この「ふれあい広場」では、ポケモンが一定の歩数を歩くことで、ここでしか拾えない「きのみ」や、ボールシール、モンスターボールなどを拾ってきてくれます。

f:id:tangential_star:20211209223853g:plain
f:id:tangential_star:20211209223908g:plain
イーブイたちが「ボールシール」や、ここでしか拾えない「きのみ」を集めてくれる

プレイヤーではなくポケモン「が」一定歩数分を走ることで、どうぐを拾ってくれる

実は、ふれあいひろばでポケモンがアイテムを拾うのは、プレイヤーの歩数ではなくポケモンが歩いた歩数という報告があります。すなわち、道具を集める場合、主人公と同速かそれ以上の速度で走れるポケモンが望ましいです。筆者の検証では、イーブイリーフィア、グレイシアは主人公と同速で走れることを確認しています。

また、連れ歩いているポケモン「それぞれ」で歩数がカウントされるため、1匹だけ鈍足のポケモンを使う、などもできません。素直に6匹、同じ速度のポケモンを使いましょう。一説には「500歩(ポケッチがないので厳密な数値は分かりませんが)」ごとにそれぞれのポケモンが何かしらのアイテムを拾ってくれるようです。なお、拾ってくれるアイテムには、「モンスターボール類」「ボールシール」そして「きのみ」からランダムです。

f:id:tangential_star:20211211232537g:plain

イーブイ6匹で円を書くように走るのが道具集めの最適解かも?

ポケモンが拾える「きのみ」はポフィン用の9種類

ポケモン広場」でポケモンたちが拾ってくれる「きのみ」は全部で9種類あり、いずれも「ポフィン」の材料にうってつけのものばかりです。

特に、拾い集められる「きのみ」の中でも入手しにくい(7%)、「ノワキのみ」「シーヤのみ」「カイスのみ」「ドリのみ」「ベリブのみ」は、ポフィンの材料にした時の効果値も高く、コンディションが上がりやすいためポフィンづくりには必要不可欠です。また、これら5種類のきのみは、ふれあい広場以外の入手方法が判明していません。いずれにしても、ふれあい広場の利用は必要不可欠ですね。

f:id:tangential_star:20211211133833p:plain

ふれあい広場でポケモンが拾ってくれるきのみの一覧。
ノワキ・シーヤ・カイス・ドリ・ベリブの5種類はここでしか入手できないぞ

ふれあい広場では、ポケモンと一緒にポフィンを作れる

ふれあい広場では、ポケモンたちと戯れたり、きのみを拾ったりするだけでなく、ポフィンづくりを一緒に楽しむことができます。一緒に作ると、ポケモンたちが調理の合間にとっても喜んでくれたり、こぼしたときに反応してくれたりするため、癒やされますね。

f:id:tangential_star:20211211162004g:plain
f:id:tangential_star:20211211162021g:plain
こぼしたり上手く回せたり。ポフィン調理でポケモンたちが一緒に一喜一憂してくれる!

手持ちポケモンが「仲良し」なほど、ポフィンのレベルが上がる

色々とポフィンを作っていたところ、一緒につくる「ポケモンの数が多い」ほど・「なかよし度」が高いほど、調理時間が短くなる、すなわちポフィンのレベルが上がりやすいことがわかりました

そこで、手持ちポケモンを「捕まえたばかり1匹」「捕まえたばかり6匹」「仲良し6匹」の3条件で、「クラボのみ1個」で6回ずつ比較調理をしてみました。理系かよ。

結果、平均して約5秒ずつ調理時間が縮まっていきました。捕まえたて1匹の場合と比べると10秒以上も縮まっています。さらに詳細に分析したところ、統計学的にも有意な差(p<.01)と言えます*4我ながら理系ですね

まとめると、ふれあい広場にはたくさんのポケモンを連れ歩いたほうが得、ということですね(雑)

f:id:tangential_star:20211211155510p:plain

ポフィン調理時間は手持ちポケモンの「数」と「なかよし度」に応じて短くなる
f:id:tangential_star:20211211142618g:plain
f:id:tangential_star:20211211142647g:plain
f:id:tangential_star:20211211142725g:plain
ポフィンは「なかよし度の高さ」「6匹」で作ると、調理時間が短く済むようだ【等倍速】
(捕まえたばかりの1匹/捕まえたばかりの6匹/連れ歩いて仲良しの6匹)

要するに、延々と走り回ってきのみを集めよう

さてさて、余談が多くなりましたが、ここまでの話を要約すると、ふれあいひろばで一緒に走り回れば走り回るほど、きのみも集まるし、仲良しにもなれて、ポフィンづくりの効率も上がる、ということです。

イーブイも含め、ミミロルピンプクなどのいわゆる「なつき」で進化するポケモンを連れ歩けば、走り回るだけでも進化条件を満たせるので、そういう意味でも走り回るのは良いかもしれませんね。

なお、筆者は今回の自動化で、「4日間」延々と稼働させ続けて、イーブイ6匹のなかよし度は当然MAX、ポフィン用きのみの9種類も999個カンスト所持となりました。

f:id:tangential_star:20211211184816g:plain

4日間まるまる放置で、きのみ9種類がまるごとカンストしたぞ。
当然、イーブイたちとは仲良しこよし。ポフィンづくりには当分困らない。

 

自動化準備1.イーブイを手に入れる

さて、おまたせしました。自動化の準備です。準備と言っても「イーブイ」を6匹集めるだけです。とは言え、今作ではイーブイが野生で出現しないので、「あずかりや」でイーブイを増やす必要がありますので、各自、準備してください。

なお、イーブイを選んだ理由は「1マス分の大きさ」かつ「プレイヤーと同じ速度で走れる」からです。これを満たすポケモンが他にいればそれでも良いのですが、筆者はイーブイで検証しているので、これに倣います。

手持ち6匹がイーブイになれば準備完了です。イーブイをすでに持っている方は→準備2まで読み飛ばす

イーブイ全国図鑑入手後、ヨスガシティのミズキからもらえる

ポケモンBDSPでのイーブイの入手方法は、原作(ダイヤモンド・パール)と同様です*5。今作では「じまんのうらにわ」がセーブ&リセットで厳選できなくなってしまったため、最初の1匹を確実に入手するためには、ヨスガシティにいるミズキ(ボックスシステムの管理者)にもらうのがもっとも確実かつ現実的と言えます。

ミズキからイーブイを受け取るためには「全国図鑑」を入手している必要があります。もらっていない方は、まず殿堂入りするまで進めて、図鑑の「みつけた数」をNo.1~No.150(マナフィフィオネは含まず)の150匹にして、マサゴタウンナナカマド博士に話しかけてください。

なお、ミズキからもらえるイーブイは厳選可能です。メタモンを持っていない方は、メスが出るまで厳選した方が良いかもしれません。もっとも、メタモンはミオシティ右の草むらでポケトレすれば出てくるのでそれほどクリティカルな問題にはなりません。

f:id:tangential_star:20211211165351g:plain

全国図鑑入手後、ヨスガシティのミズキ(ポケセン横の民家)からイーブイがもらえる

ウラヤマが「イーブイ」の名前を出せば「じまんのうらにわ」でも出現する

ポケモンBDSPではイーブイは野生で出現しません(生息していません)。従って、複数体入手するためには、上記のミズキからイーブイを受け取り、「あずかりや」でタマゴを発見/孵化させるしか方法はありません。

ただし、例外として「じまんのうらにわ」では主人のウラヤマ氏が自慢話を持ちかけることがあり、その話題に「イーブイ」が出れば、野生で出現させることができます。ただし、原作と違い、BDSPではセーブしてリセットしてもウラヤマが話題に出すポケモンは変わりません。どうやら、今作ではあらかじめ順番が決まっているらしく*6イーブイは4日目になるので、毎日コツコツ話しかけておきましょう。

ただし、イーブイが出現する状態でも、出現確率はわずか1%にしかならず、非常に効率が悪いので、複数匹捕まえる前提なら、やはり「あずかりや」でタマゴを発見して孵化させたほうが効率的と言えます。

f:id:tangential_star:20211211170535g:plain

日替わりで「じまんのうらにわ」主人のウラヤマ氏から「イーブイ」の名前が出る

f:id:tangential_star:20211211170835g:plain

じまんのうらにわ主人のウラヤマが話したポケモンの出現確率はわずか1%。根気よく探そう

自動化準備2.ふれあい広場に向かう

イーブイ6匹を手持ちに加えたら準備完了です。ヨスガシティ北の「ふれあい広場」に向かってください。ふれあいひろばに入ったら、散り散りになったイーブイ5匹を探し集めて、後ろについてくるようにしてください。

最後に、広場右上の角に、真下から上に歩いて、縦1列にイーブイたちが並ぶようにしてください。

f:id:tangential_star:20211211181330p:plain
f:id:tangential_star:20211211181346g:plain
手持ち6匹をイーブイにしたら、ヨスガシティ北の「ふれあいひろば」に向かおう
f:id:tangential_star:20211211181454g:plain
f:id:tangential_star:20211211181521g:plain
「ふれあいひろば」に入ったらイーブイ6匹を集めて右上の角で前ならえしよう

自動化準備3.プログラムを必要に応じて書き換える

最後に、プログラムの修正です。原則、修正は不要と思います。

手持ちのイーブイの数に合わせて「EEVEE」を修正してください。

// ★手持ちは何匹のイーブイか?
volatile int EEVEE = 6; 
// ※連れ歩くポケモンはすべてイーブイにしてくださいね

もし、「イーブイ6匹も準備できなかった…」という人は、「4匹」や「5匹」でも使える可能性がありますので試してみてください(筆者は未検証)。とは言え、効率の面からも6匹推奨です。なお、エンペルトやエーフィなど、1.2マス分くらいあるポケモンを使う場合には、ここを7や8にすると、道具回収が上手くいくかもしれません(未検証)。

以上で自動化の準備は終わりです。お疲れ様でした。あとは、Arduinoを差し込むだけでOKです。

プログラムソースコード

ソースコードです。

手持ち6匹をイーブイで埋め、ふれあいひろばの右上の角に縦1列で並べば準備完了です。この状態でArduinoを差し込めば、6匹に話しかける→ぐるぐる走って歩数稼ぎ→…を延々と繰り返してくれます。

なお、イーブイ以外の連れ歩きポケモンは未検証&非推奨です。理由は、イーブイが「1マス分の体の大きさ」かつ「プレイヤーと同じ速度で走れる」からです。他にこの条件に合うポケモンがいるかもしれません。いたらコメントで教えて下さい!

/* 
 *  ★ポケモンBDSP Arduino Leonardoによる、ふれあいひろばのきのみ集め★
 *  「ふれあいひろば」で6匹のイーブイと一緒に走り回って、
 *  1匹ずつ話しかけてきのみやシール、ボールを回収し続ける自動化です。
 *  イーブイと一緒に過ごせて幸せ&かわいいc⌒っ.ω.)っ
 *    
 *  前提
 *  ・手持ちは6匹をすべて「イーブイ」にすること(進化系はNG)
 *  
 *  注意事項
 *  ・セーブができないので、しっかり見守ってくださいね。
 *  ・パチリスは、1マスで収まるポケモンだが、主人公の移動速度についていけないためNG
 *  
 *  設定
 *  ・はなしのはやさ:はやい
 *  ・もじモード:ひらがな
 *  ・せんとうアニメ:みない
 *  
 *  (c) 2021 ますたーの忘備録
 *  https://tangential-star.hatenablog.jp/
*/

#include <SwitchControlLibrary.h>

#define HOLDTIME (95)     // 1回のキー入力の長押し時間
#define RENDA_CYCLE (150) // A連打の間隔(ミリ秒)

// ★修正ここから★-----------------

// ★手持ちは何匹のイーブイか?
volatile int EEVEE = 6; 
// ※連れ歩くポケモンはすべてイーブイにしてくださいね


// ★下記、歩数チャージぐるぐる。楽しい!!✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
#define ROTATE_CYCLE (2500)      // [ms] 1回転の必要ミリ秒を指定。
#define CHARGE_ELAPSED_TIME (65) // [s] 何秒間、ぐるぐるチャージするか? 

// ★修正ここまで★-----------------


void PushRL(int delay_time_ms);
int PushKey(char* keyname, int holdtime, int delaytime);
void TiltLeftStick(double direction_deg, double power, int holdtime, int delaytime);
void die(void);


void setup() {
  // コントローラーとして認識されるためにRLを7回ほどカチャカチャする
  for(int i=0;i<7;i++)PushRL(300);
  delay(1200);
}

void loop() {
  int i=0;
  unsigned long int current_time=0;
  unsigned long int start_time=0;
  unsigned long int temp_time=0;
  int isholding = 0;
  float holdA = 0;
  float temp_deg = 0;
 
  // ★手持ちポケモン(イーブイ)に話しかける
  PushKey("Left", 230, 750); // 左へ1歩
  for(int cnt = 0 ; cnt < EEVEE+1 ; cnt++ ){
    PushKey("Down", 230, 750); // 下へ1歩
    PushKey("Right", HOLDTIME, 750); // 右を向いて
    PushKey("A", HOLDTIME, 600); // あれ? イーブイが なにか もってる!
    for(int hoge=0; hoge < 25 ; hoge++)PushKey("B", HOLDTIME, 320);
  }

  // ★位置調整
  TiltLeftStick( 270, 1.0, 1150, 25); // 左へ
  TiltLeftStick( 180, 1.0, 530, 25);  // したに走る
  TiltLeftStick( 90, 1.0, 700, 25);   // みぎに走る
  TiltLeftStick( 0, 1.0, 120, 25);   // うえに走る
  
  // ★ぐるぐるタイム。かわいい!!✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
  for( start_time=millis(), current_time=start_time ; current_time - start_time < (unsigned long)CHARGE_ELAPSED_TIME*1000UL ; current_time=millis() ){
     // ROTATE_CYCLEミリ秒ごとに1周スティック回転
     temp_time = (current_time - start_time) % (ROTATE_CYCLE+1); // 経過ミリ秒のROTATE_CYCLE剰余を計算
     temp_deg = (float)temp_time / (float)ROTATE_CYCLE * 360.0; // 剰余から360°角度に変換
     TiltLeftStick( (double)360.0-temp_deg, 1.0, 0, 0); // 経過時間とROTATE_CYCLEの周期に応じた角度に倒す(左回転)
  }
  TiltLeftStick( 175, 1.0, 4200, 65); // 所定の位置の方向にスティック入力
  TiltLeftStick( 90, 1.0, 1500, 65); // 所定の位置の方向にスティック入力
  TiltLeftStick( 0, 0.0, 0, 0); // スティックを初期位置に戻す
  delay(100);

  // ★所定の位置に戻る
  PushKey("Right", 1000, 250);
  TiltLeftStick( 0, 1.0, 2800, 65); // 真上に走る
  TiltLeftStick( 0, 0.0, 0, 0);     // スティックを初期位置に戻す
  PushKey("Up", 3200, 100);         // 真上に歩く
  delay(100);

}

void PushRL(int delay_time_ms){
  SwitchControlLibrary().PressButtonR();
  SwitchControlLibrary().PressButtonL();
  delay(HOLDTIME);
  SwitchControlLibrary().ReleaseButtonR();
  SwitchControlLibrary().ReleaseButtonL();
  delay(delay_time_ms);
  return;
}
int PushKey(char* keyname, int holdtime, int delaytime){
  // ホームボタン・方向キーはRight, Left, Up, Down, Homeなど2文字以上で入力。
  // その他ボタン入力は1文字(A,B,X,Y,R,L,+,-)ZR・ZLにも対応
  // 同時押しは非対応
  
  if(strlen(keyname)==1){
    switch(keyname[0]){
      case 'A': case 'a': // A
        SwitchControlLibrary().PressButtonA(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonA(); delay(delaytime);
      break;
      case 'B': case 'b': // B
        SwitchControlLibrary().PressButtonB(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonB(); delay(delaytime);
      break;
      case 'X': case 'x': // X
        SwitchControlLibrary().PressButtonX(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonX(); delay(delaytime);
      break;
      case 'Y': case 'y': // Y
        SwitchControlLibrary().PressButtonY(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonY(); delay(delaytime);
      break;
      case 'L': case 'l': // L
        SwitchControlLibrary().PressButtonL(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonL(); delay(delaytime);
      break;
      case 'R': case 'r': // R
        SwitchControlLibrary().PressButtonR(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonR(); delay(delaytime);
      break;
      case 'H': case 'h': // Home
        SwitchControlLibrary().PressButtonHome(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonHome(); delay(delaytime);
      break;
      case '+': case 'p': case 'P': // Plus
        SwitchControlLibrary().PressButtonPlus(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonPlus(); delay(delaytime);
      break;
      case '-': case 'm': case 'M': // Minus
        SwitchControlLibrary().PressButtonMinus(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonMinus(); delay(delaytime);
      break;
      default:
      break;
    }
  }else if(strlen(keyname)>=2){
    switch(keyname[0]){
      case 'z': case 'Z': // ZR/ZL
        if(keyname[1]=='R'||keyname[1]=='r'){
          SwitchControlLibrary().PressButtonZR(); delay(holdtime);
          if(holdtime>0)SwitchControlLibrary().ReleaseButtonZR(); delay(delaytime);
        }
        if(keyname[1]=='L'||keyname[1]=='l'){
          SwitchControlLibrary().PressButtonZL(); delay(holdtime);
          if(holdtime>0)SwitchControlLibrary().ReleaseButtonZL(); delay(delaytime);
        }
      break;
      case 'r': case 'R': // right
        SwitchControlLibrary().MoveHat(2); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().MoveHat(8); delay(delaytime);
      break;
      case 'l': case 'L': // left
        SwitchControlLibrary().MoveHat(6); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().MoveHat(8); delay(delaytime);
      break;
      case 'u': case 'U': // up
        SwitchControlLibrary().MoveHat(0); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().MoveHat(8); delay(delaytime);
      break;
      case 'd': case 'D': // down
        SwitchControlLibrary().MoveHat(4); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().MoveHat(8); delay(delaytime);
      break;
      case 'H': case 'h': // Home
        SwitchControlLibrary().PressButtonHome(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonHome(); delay(delaytime);
      default:
      break;  
    }
  }else{
    return -1;
  }
  return strlen(keyname);
}
void TiltLeftStick(double direction_deg, double power, int holdtime, int delaytime){
  double rad = (double)direction_deg*PI/180.0; // 弧度法(ラジアン)変換
  int x, y;
  x = (double)128*sin(rad)*power;
  y = (double)-128*cos(rad)*power;
  x += 128; y += 128;
  if(x >= 255) x=255; if(x <= 0) x=0;
  if(y >= 255) y=255; if(y <= 0) y=0;

  SwitchControlLibrary().MoveLeftStick(x,y);
  if(holdtime> 0){ // holdtime=0のときは押しっぱなし。
    delay(holdtime);
    SwitchControlLibrary().MoveLeftStick(128,128); // 傾きを直す
  }
  if(delaytime>0) delay(delaytime);
  return;
}

void die(void){
  for(;;)delay(1000);
}

 

あとがき

皆様、お久しぶりです。

ポケモンBDSP(ダイパリメイク)が販売されて、そろそろ1ヶ月ですね!

BDSP、遊んでらっしゃいますでしょうか?まだ買っていない方は、ぜひとも購入しましょうというか世間的にもめちゃくちゃ売れてます。ぜひ買いましょう!!(笑)

Amazonで買う

 

私自身も当時を懐かしみつつ、今はコンテスト制覇のためにきのみ集めを進めているところです。今回の自動化もその一環ですが、色々と制約のある環境の中でやりくりする当時の楽しみを思い出しながら、古き良きポケモンライフをまったり味わっています。

他にも、たんけんセットやポケトレなど、当時を懐かしむにはまだまだ遊びごたえがありますし、平日は遊ぶ時間が取れないことから、未だ「ハマナスパーク」の攻略にすすめていないので、引き続きシナリオとやりこみ要素でのんびりと楽しめそうです(育成とバトルは…どうしようかな…)。

 

バグとアップデートについて思うところ

雑記です。ちょっとだけ思うところを。

先日は、バグ修正バージョンのver1.1.2も公開され、増殖バグなどのクリティカルなバグ*7もなくなりつつあり、従来あるべきゲームとしてのポケモンに近づいているのかもしれません。とは言え、これだけ増殖系バグの話題が尽きないということは、今作は改めて正攻法的に「効率的に道具を集める方法」が少ないんだろうなぁと考えます*8

かつてのプラチナバージョンには、ダイヤモンド・パールからのブラッシュアップポイントとして、例えば、デパート地下1階できのみの購入ができたり、ズイタウンの新聞社のバイト報酬にハートのウロコが付いてきたり、ウラヤマのメイドとの日替わりバトルで「ふしぎなアメ」を「どろぼう」できたりなど、開発者の意図した入手経路の冗長化・効率化があり、「明確な稼ぎポイント」など「遊びやすい」調整が入っていました。今作がダイヤモンド・パールに準拠したリメイクであるが故に、当時と比して、このあたりの「かゆいところ」が残念ポイントではあるかな、と考えます。

一方で、当時と明確に異なるのは、剣盾のDLCや今回の「アップデート」のように、後からバグの修正やシナリオの追加などが可能になったという点でしょう。特に、着せ替えの追加*9や、地下大洞窟の石像の配布*10など、すでにこれらは実績があるわけですし、そういう意味でも希望的観測をすれば、これらの仕様の変更や要素の追加などにも期待ができますよね。

なので、筆者としてはバグがどうのこうのというスタンスというよりは、正攻法としてアイテムの効率的な入手をサポートしてほしい、そういうアップデートやDLCなどを「前向き」に進めてほしいな、という要望で本項は締めます。

今回の自動化についてのあとがき

さて、今回はダイパリメイク自動化記事第2弾として、ふれあい広場でのきのみ集めを自動化しました。

やっぱりコンテストを有利に進める上でも、「ポフィンづくり」をするにも「きのみ」が必要ですし、リボン集めのためにもコンテストは進めるべきやりこみ要素の一つですから、こういう入手経路の限られるアイテムやきのみを手に入れ続ける自動化には意味があると考えます。

これからものんびりとBDSPでも遊んでいけたらと思いますし、前回の記事にも色々コメントもいただけたので、自動化も色々と検討していけたらな、と思います。

 

引き続き本ブログもよろしくお願いいたします。

ではではc⌒っ.ω.)っ

 

前回記事:【BDSP自動化01】バトルサーチャーで自動お金稼ぎ【ダイパリメイク】

次回記事:【BDSP自動化03】低レアきのみ自動購入【クラボのみ】

導入記事:【Arduino自動化01】Arduino開発環境の導入

ポケモン剣盾の記事:ポケモン剣盾Arduino自動化 カテゴリーの記事一覧

ポケモンBDSPの記事:ダイパリメイクArduino自動化 カテゴリーの記事一覧【NEW!!】

YouTubeチャンネル:ますたーの忘備録 - YouTube 

---

*1:ゴスのみ・モコシのみ・ラブタのみ・ノメルのみ・ノワキのみ・シーヤのみ・カイスのみ・ドリのみ・ベリブのみ

*2:なかよし度が高いポケモンと一緒にふれあい広場でポフィンを作ると、必要な調理時間が短くなるようです(筆者検証)

*3:ポケモン広場で連れ歩けるポケモンは、作中で確認する方法がなく、受付のお姉さん曰く「かわいいポケモン」とのこと

*4:Tukey-Kramer法で統計検定をすると、「捕まえたばかり1匹」「捕まえたばかり6匹」「仲良し6匹」の3条件のそれぞれの間に危険率1%で有意差(両側検定)が見られる。要するに、手持ちが6匹仲良しという条件によって調理時間が短くなったと言える

*5:プラチナバージョンでは全国図鑑入手前にイーブイもらえたのに…今作はかゆいところに手が届かないですね…

*6:有志の検証によれば、今作の「じまんのうらにわ」の自慢ポケモンの順番は決まっており、プリン→ニャース→ラッキー→イーブイ→ポリゴン→ピィ→ププリンマリルルリリプラスルマイナンポワルンウソハチマネネピンプク→ピッピ→(最初に戻る)とのこと

*7:ポケモンBDSPのver1.1.1では道具やポケモンの増殖バグもありました。危険なバグでもあり、ポケモンを純粋に楽しめなくなるバグでもあるので、これに関しては、筆者としては直ってよかったと思います。でも1回くらいは試してみたかったな←

*8:振り返れば、金銀(ボックスを変えるを使うバグ)やルビー・サファイア(メールとトリックを使うバグ)、エメラルド(バトルタワーのパソコンを使うバグ)、そしてダイヤモンド・パールメタモンのへんしん・どろぼうバグ)など、ポケモンや道具の増殖バグは第4世代まで色々な形で存在してきましたが、これを積極的に利用する声はあまり聞いたことがありません。おそらく、当時の感覚(←これ重要)ではそれら抜きでも十分なアイテム入手効率があったのだと考えます

*9:早期購入特典として、2022年2月20日(火)まで期間限定で「プラチナスタイル」着せ替えの配布がされています

*10:2022年5月31日(火)まで期間限定で、あいことば「BDSP UNDE RGR0 UND」にて御三家の石像が配布されています