白銀のライねる

解析とかのメモとかをなんとか

ポケダン空ランダマイザー「SkyTemple Randomizer」で遊んでみよう


ポケモン不思議のダンジョン 空の探検隊(以下「ポケダン空」)」でランダマイザーを遊ぶ方法の紹介。
私もちょっとだけ開発に貢献しています(日本版ROMのシンボル提供)。

用意するもの

吸出したROMイメージを用意。吸出す方法については自分で調べてください。

ndsファイルを使用できるDSのエミュレーターを用意。これを使って遊ぶ。
DeSmuMEやMelonDSなど(私はDeSmuME派です)。

インストール

SkyTemple公式サイトのブログからインストーラーをダウンロードする。ご丁寧にページが日本語化されている。
本投稿ではv1.6.0のWindows版で解説します。
download.skytemple.org



Chromeにブロックされてもそのままクリックし、「不審なファイルをダウンロード」を選ぶ。
ダウンロードしたらインストーラーを実行。



もしこんな感じに保護された場合「詳細情報」→「実行」をクリック。
さっきから疑われてばかり…。



「Next」をクリック。



利用規約に同意するため「I Agree」をクリック。



特にオプションも無いのでそのまま「Next」をクリック。



インストール先を指定。特に指定先が無ければそのまま「Install」。



しばらく待つとインストール完了。

ランダマイザーの使い方


起動するとこんな感じ。


下の「input ROM (.nds file)」にある「Choose ROM」をクリックするとROMを読み込む。

「Seed」の欄にはランダマイズする内容を決める乱数のSeed値を決められる。
未入力だと自動的にランダムで決まる。

「Load / Save Settings」はランダマイズする設定の読込・保存を行う。
今後再度同じ設定でランダマイズする場合はここで保存しておく。

「Randomize!」をクリックするとランダマイズしたROMの保存先を指定してからランダマイズが開始される。
他の人が公開した内容と同じもので遊ぶ場合、それと同じSeed値と設定を読み込んでからランダマイズする必要がある。

各種設定

ランダマイズする内容の設定。ここで難易度やカオス加減を調整できる。

General

ランダマイズ全般の設定。


  • Randomize Starters?

主人公・パートナーのポケモンをランダム化。
デフォルトでは有効

  • Randomize NPCs and Bosses?

NPCやボスのポケモンをランダム化。
フィールド上のポケモンだけが変化するのではなく、ボス戦も連動して変化する。
デフォルトでは有効

  • Randomize Titlescreen Music?

トップメニューのBGMをランダム化。
デフォルトでは有効

  • Randomize Overworld Music?

フィールド上のBGMをランダム化。
デフォルトでは無効

探検隊ランクのランクアップに必要なポイントをランダム化。
必要ポイントの合計は200000に引き上げられる(バニラでは100000)。
デフォルトでは無効

探検隊ランクのランクアップ時に貰える道具をランダム化。
デフォルトでは有効

  • Use Native File Handlers

ランダマイズ時にROM内ファイルの操作をより高速に行う。
基本的には有効のままで良いが、何かしら問題が発生した場合は無効にすると改善するかも。
デフォルトでは有効

Items

道具関連の設定。

Settings


  • Item Randomization Algorithm

道具をランダム化するアルゴリズムの指定。
「Balanced」はポケを除いてどの道具も同じ確率で出るようにする。
「Classic」は道具の総数が少ないカテゴリの道具が見つかりやすくなる(v1.4以前に使用されていたアルゴリズム)。
デフォルトでは「Balanced」。

  • Randomize Treasure Town shop and dungeon rewards?

トレジャータウンのカクレオン商店、ダンジョンの宝物フロアにある宝箱の中身、その他諸々の道具をランダム化。
確認はしていないがおそらく依頼の「その他」の報酬で貰える道具もランダム化される。
デフォルトでは有効

※ダンジョンのカクレオン商店の道具はランダム化されない。Dungeonタブの項目からランダム化可能。

Category Weights

各道具のカテゴリ毎の出現率を設定する。「Item Randomization Algorithm」が「Balanced」の時のみ有効。
数値が大きければ大きいほど出現しやすくなる。カテゴリはそれぞれ以下の通り。

  • Thrown - Pierce(トゲ系の投擲物)
  • Thrown - Rock(いし系の投擲物)
  • Berries, Seeds, Vitamins(きのみ、タネ、飲料)
  • Foods, Gummies(食料、グミ)
  • Hold(装備品)
  • TMs, HMsわざマシン、ひでんマシン)
  • Poke (Money)(ポケ)
  • Other(進化アイテム、クジ、カギ、なぞのパーツ、ひみつのせきばん等)
  • Link Box(れんけつばこ)

デフォルトの設定で1周したが、Otherは少し下げて良いかも。進化アイテムが無駄に拾えすぎる…。

Item Pool

ランダムに選ばれる道具を指定する。禁止したい道具があればチェックを外すと良い。
量が膨大過ぎて流石に全部は載せられないので、ゲームバランスに関わりそうな主要な道具のみリストアップしておく。

  • 10 Rare Fissil(たいこのかせき)
  • 30 Tight Belt(きついハラマキ)
  • 42 Detect Band(みきりハチマキ)
  • 57 Golden Mask(おうごんかめん)
  • 58 Amber Tear(こはくのなみだ)
  • 93 Golden Seed(おうごんのタネ)

ちなみに没道具「きんのキバ」「サボネアのハリ」「サニーゴのトゲ」はデフォルトで有効化されている。

Dungeons

ダンジョン関連の設定。

General


  • Randomize Layouts and Tilesets?

ダンジョンの各フロアの構造やタイルセットのランダム化。BGMセットも変わる。
デフォルトでは有効

  • Randomize Weather?

天候のランダム化。
デフォルトでは有効

  • Random weather Chance

ランダム天候が選ばれる確率。この確率が外れた場合の天候は「はれ」になる。
デフォルトでは「33」。

  • Randomize Items?

落ちている道具・カクレオン商店の道具・モンスターハウス内の道具・壁に埋まっている道具のランダム化。バザーの福袋やひみつのへやの宝箱の中身がランダム化されるかは不明。
デフォルトでは有効

  • Randomize Pokemon Spawns?

出現する敵ポケモンのランダム化。
ポケモンのレベルは本来のROMでそのフロアに出現する敵ポケモンカクレオン以外)の「最低レベル - 3」から「最高レベル + 3」の範囲でランダムで決められる。
デフォルトでは有効

  • Randomize Traps?

罠のランダム化。本来は技を使用しないと出現しない「まきびし」「どくびし」「ステルスロック」もランダムで出現。
デフォルトでは有効

  • Randomize Boss Room Layouts?

ボス部屋を通常のランダム生成されるフロアと同じ構造で生成するかどうか。
不安定なので注意。
デフォルトでは無効

  • Mode

ダンジョンのフロアのランダマイズ方法の切り替え。
「Fully random floors」はすべてのフロアの全要素をランダム化。
「Keep floors in a dungeon similar」はBGM・タイルセットをそのままにしてそれ以外をランダム化。
デフォルトでは「Fully random floors」。

  • Max sticky item chance

ネバついている道具の最大スポーン率。
デフォルトでは「10」。

  • Max monster house chance

モンスターハウスの最大スポーン率。
デフォルトでは「6」。

  • Max hidden stairs chance

ひみつのかいだんの最大スポーン率。
デフォルトでは「10」。

  • Max Kecleon shop chance

カクレオン商店の最大スポーン率。
デフォルトでは「10」。

  • Randomize Floor count (down; %)

ダンジョンのフロア数の最大減少率。ダンジョンのフロア数もランダム化されており、その減少量を制御する。
「Randomize Layouts and Tilesets?」が有効時に影響する。
デフォルトでは「10」。

  • Randomize Floor count (up; %)

ダンジョンのフロア数の最大増加率。
「Randomize Layouts and Tilesets?」が有効時に影響する。
デフォルトでは「10」。

Dungeon Settings

各ダンジョンごとの設定。

「Randomize?」を有効化したダンジョンのみフロアがランダム化される。
ちなみにばんにんのどうくつのアイスのま・ロックのま・スチルのまは積み防止の為デフォルトでランダム化されていない。

「Allow Monster Houses?」はモンスターハウスの有効化。
「Randomize Weather?」はランダム天候の有効化。
「Randomize IQ?」は敵のかしこさのランダム化。
序盤でいあつかん持ちも普通に出てきたりする。
「Unlock?」はストーリーの進行状況に関係なくダンジョンを解禁する。

Improvements

バグ修正や機能の追加を行える各種パッチの適用の設定。
これらのパッチはSkyTempleの技術力ヤバい人達が作ってます…。


  • Download missin portraits & sprites?

不足しているポケモンの顔グラフィックやスプライトをPMD Collabからダウンロードして適用する。
PMD CollabはSkyTempleが運営する有志作成の顔グラフィックをまとめているサイト。
sprites.pmdcollab.org

  • Apply "MoveShortcuts" patch?


LボタンとA/B/X/Yボタンの同時押しで覚えている技それぞれをショートカットで繰り出せるパッチの適用。
L+Aで1番目、L+Bで2番目、L+Xで3番目、L+Yで4番目の技が出る。めちゃめちゃ便利。
L+Bでメッセージ履歴が出なくなるので常用している方は注意。
パッチ作成者はEnd45氏、Anonymous氏。
デフォルトでは有効

  • Apply "UnusedDungeonChance" patch?


壁の迷路部屋を生成を有効化するパッチの適用。
本来のバニラROMでは使用されていない確率の値があり、それを機能するようにしたもの。
パッチ作成者はEnd45氏。
デフォルトでは有効

  • Apply "Complete Team Control" patches?


仲間を自分で操作できるようにするパッチの適用。
ダンジョン内でSTARTを押すとモードが「manual」に切り替わり有効化。AIに左右されることなく仲間の行動を自身で選ぶことができる。
再度STARTを押すと「auto」に戻る。モードの切り替えは1匹目(リーダー)操作時のみ可能。
1匹目の行動(移動、技、道具を使う等)が終わると2匹目の行動へ移る。更に仲間がいれば3匹目、4匹目と移り、1匹目に戻ってくる。
1マス進むたびに操作キャラが切り替わるので、長距離移動時は「auto」に戻した方が良い。
パッチ作成者はCipnit氏。
デフォルトでは無効

  • Apply "Fix Memory Softlock" patch?

スプライトロード時にメモリ不足でゲームがクラッシュしてしまう時、デフォルトのスプライトに置き換えてクラッシュを防ぐパッチの適用。
パッチ作成者はEnd45氏。
デフォルトでは有効

  • Apply "Disarm Monster Houses" patch?

大部屋モンスターハウスをただの大部屋にするパッチの適用。
フロアの生成失敗時に生成される大部屋にも適用される。
パッチ製作者はUsernameFodder氏。
デフォルトでは有効


また、設定とは関係なく「ソフトロック対策パッチ」が自動的に適用されている。
カットシーン中にソフトロックしてしまった場合、A+B+X+Yボタンを同時押しすると処理をスキップして進行できる。

P. Quiz

ゲーム開始時に始まる性格診断の内容の設定。


  • Personality Test Mode

性格診断後の主人公ポケモンの選び方。

「Default: Ask for Personality」は本来のROMと同じように性格診断の内容で決まる。
「Ask for Personality + Allow Selection」は一旦性格診断の内容で決め、気に入らなければリストから選択し直すことができる。
「Select Manually」は性格診断をスキップしてリストから選択して決める。

デフォルトでは「Ask for Personality + Allow Selection」。

  • Randomize Personality Quiz Questions?

質問内容を「Personality Test Questions」に入力した内容でランダム化する。
questionには質問文、answersには選択肢を入力。選択肢はそれぞれ2~4択必要。
「Personality Test Mode」を「Select Manually」にした場合は性格診断がスキップされるので有効化しても何も変わらない。
デフォルトでは有効

  • Include Vanilla Questions?

質問内容にバニラROMの元の質問を含める。
デフォルトでは無効

Pokemon

ポケモンの性能面の設定。

General

ポケモンの一般設定。


  • Randomize IQ Groups?

かしこさグループのランダム化。
デフォルトでは有効

  • Randomize Abilities?

特性のランダム化。
デフォルトでは有効

  • Randomize Typings?

タイプのランダム化。
デフォルトでは無効

  • Randomize Level-Up Movesets?

レベルで習得する技のランダム化。

「No」は無効。
「Yes, fully random」は完全にランダム化。
「Yes, first move deals damage」はランダム化かつ最初に必ず攻撃技を覚える。
「Yes, first move deals damage + STAB」はランダム化かつ最初に必ずタイプ一致の攻撃技を覚える。
デフォルトでは「Yes, first move deals damage」。

  • Randomize TM/HM Movesets?

技マシンで習得する技のランダム化。
デフォルトでは有効

  • Randomize TM/HMs?

技マシンの内容をランダム化。ひでんマシンも対象。
デフォルトでは有効

Random Abilities Pool

ランダムに選ばれる特性を指定する。
デフォルトではForecast(てんきや)、Wonder Guard(ふしぎなまもり)、Unburden(かるわざ)、No Guard(ノーガード)、Multitype(マルチタイプ)が無効化されている。


Pokemon Pool

ランダムで選ばれるポケモンを指定する。
「Copy from Starter Pool」をクリックするとStarter Poolの選択内容をコピーする。
「Reset to Default」をクリックするとデフォルトに戻す。
「Select None」をクリックすると全解除。

デフォルトではアンノーン全種、カクレオン(通常・紫)、リザーブ、闇のディアルガ、その他カットシーン用ポケモンやダミーポケモンが無効化されている。

Starter Pool

主人公・パートナーにランダムで選ばれるポケモンを指定する。
「Copy from Pokemon Pool」をクリックするとPokemon Poolの選択内容をコピーする。
「Reset to Default」をクリックするとデフォルトに戻す。
「Select None」をクリックすると全解除。

デフォルトの内容はPokemon Poolと同じ。

Move Pool

ランダムで選ばれる技を指定する。
デフォルトでは「さばきのつぶて」を含む未使用技、ダミーデータが無効化されている。
また、何故か「わるだくみ」が無効化されていて「なし」が有効化されている。設定ミス?

Tactics & IQ

作戦、かしこさ関連の設定。


作戦の習得レベルをランダム化。
最初の作戦も「いっしょに いこう」からランダム化される。「ここから にげて」が選ばれたらかなりキツい。
デフォルトでは無効

  • Randomize IQ Gain?

グミのおなか回復量とかしこさ上昇量をランダム化。
デフォルトでは無効

  • Randomize IQ Skill Unlocks?

かしこさの習得に必要なかしこさ値をランダム化。
「どうぐマスター」のみ最初から習得している。
デフォルトでは無効

  • Keep Universal Skills?

有効にするとバニラROMですべてのかしこさグループに含まれているかしこさを最初から習得する。
「Randomize IQ Skill Unlocks?」を有効にしていても、「コースかくにん」「どうぐキャッチ」「どうぐマスター」「いどうゆうせん」は最初から習得していることになる。ただし、「じょうたいかくにん」「うらぎらない」「マグマがきらい」のかしこさ値はランダムのままらしい。よくわからない。
デフォルトでは無効

  • Randomize IQ Groups?

かしこさグループ毎に習得するかしこさのランダム化。各グループには少なくとも1つのかしこさが入る。
また、「どうぐマスター」は必ずすべてのかしこさグループで習得する。
デフォルトでは無効

Locations

各ダンジョンや各場所の名称に関する設定。


  • Randomize Location Names?

有効にするとダンジョン名・場所名がランダム化される。
各名称はスプラトゥーン3の二つ名のようにFirst WordとSecond Wordをそれぞれランダムに組み合わせたものになる。
1行で1単語なので被らないようにランダム化したいなら大量に入力すると良い。

日本ROMの場合、ダンジョン中に表示されるバナーのフォントに対応しない文字を使うと「0」に文字化けしてしまうので注意。

どの文字が文字化けするのかはいまいちよくわかっていないが、とりあえず日本語か全角数字で入力すれば文字化けしない。

デフォルトでは有効

Chapters

チャプター名称の設定。


  • Randomize Chapter Names?

有効にするとチャプター名を下のテキストボックスで入力した名称からランダム化する。
Locations同様、1行で1つの名称になる。
文字の間に「\n」を入れると改行して表示される。

Locations同様、日本ROMで文字化けが起きるので正しく対応した文字を入力することを推奨。
こちらもとりあえず日本語か全角数字でOK。

デフォルトでは有効

Text

テキスト関連の設定。


  • Instant Text?

テキストの表示速度を最速にする。
バニラでは1フレームに1文字表示するが、これを有効化すると1フレームですべて表示する。
デフォルトでは無効

  • Randomize Main Texts?

ゲーム上のほとんどのテキストをランダム化。
しかし、日本ROMでは不具合が起きるため有効化しても何も起こらない。
デフォルトでは無効

  • Randomize Story Dialogue?

ゲーム上の各カットシーンのテキストをランダム化。
しかし、日本ROMでは不具合が起きるため有効化しても何も起こらない。
デフォルトでは無効

ランダマイズ!

やること全部やったら「Randomize!」をクリック。
「Choose ROM」からROMを読み込んでおくことを忘れずに。

任意の保存先に任意のファイル名で保存。
上書きの確認は出ないので、バニラROMに上書きしてしまわないよう注意!

後はしばらく待つとランダマイズ完了です。
「Improvements」の「Download missin portraits & sprites?」を有効化している場合は顔グラフィックやスプライトのダウンロードがあるので5分ぐらい多めに時間が掛かります。

完了。


ランダマイズしたROMをエミュレーターで読み込むと遊べます。良きランダマイザーライフを。


また、カットシーンのテキストを一括置換している関係上、各名称にポケモン名が含まれる場合はそれらもランダマイズされたポケモンに置き換えられます。
例えば「クラブハンマー」は"クラブ"が含まれているので、ストーリーでクラブの置換先のポケモン名になっています。

私の場合はリーフィアだったので「リーフィアハンマー」に置き換わっていました。

他にも「ゴローンのいし」だったり、「オクタンほう」だったり…。
「グラシデアのはな」の説明文にある「シェイミ」も別のポケモンに置き換わっていたりします。


タイプ名「ゴースト」も置き換わります。キングドラタイプ。

SkyTempleについて

SkyTempleはポケダン空のROMエディターです。ダンジョン・ポケモン・道具・技・スクリプト・その他諸々をなんやかんやするものです。
skytemple.org


コミュニティに興味がある方はDiscordサーバーへお越し下さい。ポケダン空の解析やハックに関する情報交換、他にも雑談だったり飼っているペットを見せ合ったり(?)と日々いろいろ行われています。一時期、某パワー系ポケダン実況者の話題も上がりました
私も数少ない日本人の一人として活動しています!

ツール開発、ROMの解析、UIの翻訳などお手伝い頂ける方がいたら助かります。
もちろん、交流したり質問したりただサーバーを眺めているだけでもいいです。おいで!
ちなみに日本人は数えるぐらいしかいません;;
discord.gg

ちなみに

「About」から「クレジット」をクリックすると開発者やサポートした人の名前やリンクが確認できます。

あ!Laioxyみっけ!これ私です。
以上。