【ポケモンSV】Arduinoを使ってタマゴ孵化自動プログラムを作ってみた
2025年もよろしくのマーシーです。
今更ながらSV環境で自動タマゴ孵化プログラムの
作成に着手したので設計メモがてら久方ぶりに
まままを更新しようと思います。
1.目的
ポケモンSVにおいて,タマゴ自動孵化プログラムを作成する。
2.背景
ポケホームは最大6000匹のポケモンを保管できる。
ただし,第1世代〜第9世代(2025/01現在)までの
ポケモンを保管することでボックス容量を圧迫しつつある。
表2-1に保管ポケモン分類に示す。
実際自分が保管してきたポケモンの分類は以下のパターンである。
表2-1 保管ポケモン分類
ここで現状のボックスを圧迫している要因として
(a),(c),(d)の重複がある。
((a)図鑑用にストックしているが,
いつでも捕獲可能な難易度のポケモンが保管されている,など)
そこで(c),(d)の要素を含んだ(a)用のポケモンを育成することで
ボックス容量の削減を行う。
▼
(要約)
夢オシャボフル遺伝♀の個体をひたすら作ってボックス空きを増やしたいな!!
そこで多忙な社会人のすきま時間を効率よく使うため,
SWSHと同様にSV版のタマゴ孵化自動プログラムを作成する。
(SWSHより各フローの詳細を細かく記載しているので若干長文となります。)
3.準備するもの
4.プログラムの概要
・SVでタマゴ孵化を自動で行うプログラムを作成する。
・SVでものまねハーブを用いて遺伝技を自動で4つ埋めるプログラムを作成する。
5.設計内容
5.1 タマゴ孵化プログラム
5.1.1 設計指針
・30minに一度"フィスのコンポート"を食す。
・ピクニックにてタマゴを作成する。
手持ちに5つ持てるようパラメータ処理を考慮する。
・ベイクタウンでタマゴ孵化を行う。
・手持ち,タマゴの配置・移動方法は5.1.5参照。
[設計メモ]
5.1.2 前提条件
・図5.1.2-1に前提条件詳細を示す。
・手持ちはの”孵化要員”,"ポケモン♂","ポケモン♀"の3体とする。
*上記の通り,孵化要員を手持ちに常駐させるため,
孵化要員は夢ファイヤー(ほのおのからだ)とする。
・プログラム開始時は”ボックス”をカーソル初期位置とする。
図5.1.2-1 前提条件詳細
・図5.1.2-2にマップ拡大図を示す。マップは拡大(ZRボタン2段階目)とする。
図5.1.2-2 マップ拡大図
・"フィスのコンポート"でタマゴ孵化パワーLv.2を使う。
・30minに一度"フィスのコンポート"を食す。
5.1.3 設計パラメータ
表5.1.3-1に設計パラメータを,表5.1.3-2に孵化歩数ごとのパラメータを
それぞれ示す。
表5.1.3-1 設計パラメータ
(*1)★:変更パラメータ(孵化したいタマゴ数に応じて変更)
☆:変更パラメータ(ポケモンの孵化歩数ごとに変更)
(*2)表5.1.3-2参照。
表5.1.3-2 孵化歩数ごとのパラメータ
(*1)親違いの対象ポケモン×メタモンの組み合わせ基準にて
タマゴが1こできるまでの時間を目安とする。
(*2)螺旋通路昇降前にタマゴをボックス→手持ち移動させる場合
[設計メモ]
5.1.4 全体フロー
図5.1.4-1にプログラム全体フローを,
図5.1.4-2にベイクタウン役割マップをそれぞれ示す。
図5.1.4-1 プログラム全体フロー
図5.1.4-2 ベイクタウン役割マップ
5.1.5 ボックス操作1(タマゴ移動)
図5.1.5-1にタマゴ受取時のボックス構成を,
図5.1.5-2に周回時のボックス構成をそれぞれ示す。
SVにおいてはピクニックで受け取ったタマゴは
手持ちが空いている状態においてもボックスに預けられる。
SWSHにて検討したしようと同様に縦5このタマゴ移動を基本とする。
孵化後のタマゴは空きボックスに順次格納する。
図5.1.5-1 タマゴ受取時のボックス構成
図5.1.5-2 周回時のボックス構成
5.1.6 メインロードへの移動
図5.1.6-1にメインロードへの移動を示す。
メインロードへの移動は"レストラン食事"と"メイン孵化位置"への移動を兼用する。
先のカラフシティ試行では下記課題があり,レストランへの入店拒否を食らった。
・左右スティック操作による主人公の進行方向が安定しない
・通行人に接触し,方向が歪む
一方,ベイクタウンは”主人公を壁にぶつけ,垂直を得る”ことで
方向転換回数を擬似的に3→2回へ減らすことができる。
また,アクセスが困難な"タウン"であることからか過疎化が進み,
通行人もカラフシティほど多くなく,安定的なレストランアクセスが可能となった。
*5.1.7に検証動画あり
図5.1.6-1 メインロードへの移動
5.1.7 レストラン関数
図5.1.7-1にレストランへのアクセスを示す。
5.1.6項にてメインロードに出た後,レストラン前まで移動し,
レストランへと入る。
レストランへ入った後,”フィズのコンポート”を選択する。
約22sのDelayの後,レストラン街から空を飛ぶでポケセン前の初期位置へと戻る。
ポケモンSV
— MACY (@margherita0930) December 31, 2024
主人公壁垂直出し
レストラン関数 pic.twitter.com/urelra4en6
なお,レストラン関数は30minに一度の実施とする。
プログラム開始の初回時と,
タイマーによるカウントで30min経過時∧タマゴ生成時フロー突入前に
実施する。
図5.1.7-1 レストランへのアクセス
[設計メモ]
5.1.8 そらをとぶ関数
そらをとぶ関数は図5.1.2-2のマップ拡大図の縮尺にて,Lスティック操作を一瞬入れ
ポケセンへとカーソルを合わせる。
*5.1.9に検証動画あり
[設計メモ]
5.1.9 ピクニック関数
図5.1.9-1にピクニック開催場所を示す。
ポケセン移動後,ベイクタウン北側へと移動し,ピクニックを開催する。
ピクニック開催後はバスケットの前まで移動し,
タマゴ孵化時間分(st_tim_egg × st_n_egg),待機する。
待機後,タマゴを受け取りピクニックを終了する。
ことのき,経過時間を視認するため,st_tim_egg経過ごとに
主人公をBボタン×2で屈伸させる。屈伸回数は経過時間で増やす。
図5.1.9-1 ピクニック開催場所
このとき,タマゴ孵化パワーLv.2の恩恵によりタマゴ5つ分受け取れる
パラメータ設定が必要となる。
余分なタマゴを受け取った場合,アカデミーに寄贈する。
寄贈回数(st_n_dnt)もパラメータ設定とする。
ポケモンSV
— MACY (@margherita0930) December 31, 2024
空を飛ぶ関数
ピクニック関数 pic.twitter.com/eSkIZuYKRa
ポケモンSV
— MACY (@margherita0930) December 31, 2024
ピクニック関数(タマゴの受け取り) pic.twitter.com/LjEM1ORHNf
[設計メモ]
5.1.10 ボックス操作(タマゴボックス→手持ち移動)
図5.1.5-1に示した配置にタマゴが格納されているため,
ピクニック終了後,孵化要員以外の手持ちと入れ替える。
なお,タマゴ受取後段フラグ(flg_afr)が有効時は後の"走行1"開始直前で
手持ちにタマゴを所有する。
[設計メモ]ポケモンSV
— MACY (@margherita0930) December 31, 2024
タマゴ→手持ち移動 pic.twitter.com/0sg7XmwjN5
5.1.11 基本走行
図5.1.11-1に基本走行概要を,図5.1.11-2に各マップ具体図をそれぞれ示す。
初期位置(ポケセン前)からメインロード→螺旋通路→ジム戦位置まで移動する。
図5.1.11-1 基本走行概要
ポケモンSV
— MACY (@margherita0930) December 31, 2024
基本走行 pic.twitter.com/q3Pk9pdRrM
[設計メモ]
図5.1.11-2 各マップ具体図
5.1.12 孵化走行1
図5.1.12-1に孵化走行1概要を示す。
指定時間(st_run1)だけ円柱の周りを走行させる。
孵化走行1は最初のタマゴ孵化が始まったら終了。
図5.1.12-1 走行1概要
ポケモンSV
— MACY (@margherita0930) December 31, 2024
基本走行→孵化走行1→タマゴ孵化 pic.twitter.com/kAjyTAF57g
5.1.13 孵化走行2
孵化走行1にて,最初の卵が割れた後はコライドン/ミライドンにライドしたまま,
前後移動(Lスティック前後)+ Bボタン押下を一定回数(st_run2)繰り返す。
ポケモンSV
— MACY (@margherita0930) December 31, 2024
タマゴ孵化走行2 pic.twitter.com/YyVDUOf7B1
[設計メモ]
5.1.14 ボックス操作(タマゴ手持ち→ボックス移動)
図5.1.5-2の通り,タマゴ孵化終了後,手持ち→ボックスに移動させる。
その後,そらをとぶ関数で初期位置(ポケセン前)に移動する。
前回のレストラン入店から30min以上経っている場合,再度レストランに再訪させる。
ポケモンSV
— MACY (@margherita0930) December 31, 2024
孵化個体手持ち→ボックス移動 pic.twitter.com/nQ3XiQVGop
5.2 わざ遺伝プログラム
5.2.1 設計指針
・SVからの仕様を活かし,"ものまねハーブ"を使い
タマゴわざを遺伝する。
・図5.2.1-1にわざ参照画面を示す。
・1段階目に対象ポケモンの最上段以外の3つのわざを忘れさせる。
・2段階目にピクニックを開き,タマゴ技を3つ遺伝する。
・3段階目に対象ポケモンの最上段の1つのわざを忘れさせる。
・4段階目にピクニックを開き,タマゴ技を1つ遺伝する。
図5.2.1-1 わざ参照画面
[設計メモ]
5.2.2 前提条件
・手持ちの上から2匹目に対象のポケモンを配置する。
・手持ちの上から3〜6匹目に遺伝技を覚えさせたポケモンを配置する。
5.2.3 設計パラメータ
表5.2.3-1に設計パラメータを示す。
表5.2.3-1 設計パラメータ
(*1)★:変更パラメータ忘れたい技の数に応じて変更)
(*2)ピクニック2回目を実施する際に有効とする。
5.2.4 全体フロー
図5.2.4-1にプログラム全体フローを示す。
検証動画は6.2に示す。
図5.2.4-1 プログラム全体フロー
6. プログラムの成果
6.1 タマゴ孵化プログラム
表6.1-1に種族ごとの1サイクル経過時間を示す。
表6.1-1 種族ごとの1サイクル経過時間
(*1)初期準備時間(レストラン関数+空を飛ぶ関数×2)を除いた時間
(*2)Mark2改の実績値。
[設計メモ]
6.2 わざ遺伝プログラム
以下にわざ遺伝プログラムの検証動画の切り抜きは以下の通り。
ピクニック1回目/2回目を実施して,ミニーブに4つの技を遺伝できる。
(Twitterくんで見ると動画2つあるよ)
ポケモンSV
— MACY (@margherita0930) December 31, 2024
自動わざ遺伝プログラム
キャンプ1回目と2回目 pic.twitter.com/hBN4Dwtuh7
7.まとめ
ポケモンSV環境でもなんとなく動く
タマゴ孵化自動プログラムを作成しました。
正直SWSHのほうが難易度が低かったと思います。
根本のプログラムができたので,ここから”止まらない作り”と"効率化"を目標に
調整していきます。
8.おまけ
後で追記(するかも)
[参考]
コメント
コメントを投稿