「がんばれゴエモン ネオ桃山幕府のおどり」(以下桃山)のランダマイザーである、abysssonym氏の開発した「mn64rando」についての日本語解説記事です。
github.com
記事執筆時点のバージョン(v1.3.1)をもとに執筆しています。
最新の情報については自分で確認してください。
ランダマイザーとは?
Gigazineの記事に解説を譲ります。
gigazine.net
桃山においては、おもに以下の要素がランダム化されています。
- マップ間の出入口の対応関係
- 施錠されている扉の場所
- まねき猫、キラキラ団子などのアイテム
桃山ランダマイザーについて
遊ぶのに必要なもの
- 桃山の日本版or北米版のROMイメージ (今だとCartReaderで吸い出すのが手っ取り早い、自分は64drive+ULTRASAVEを使用)
- mn64rando (Windows版は単体実行可、スクリプト版はPython3.11以上が必要)
- ROMイメージを遊ぶための環境 (エミュレータorフラッシュカートリッジ)
主な変更点 (デフォルト設定時)
- 「ペモペモさいだん」でミラクルアイテムを4つ集めた時の行先が、ラスボス前(ミュージカル城 劇場)となっている。
- すべてのマップの出入口の行先がランダムに再配置され、本来とは異なる出入口と接続されている。(後述)
- 従来あったすべての鍵ロックがなくなっているが、別の(本来施錠されていないものも含む)扉の一部が鍵でロックされている。
- 各種アイテム*1がすべて、ランダムなものと入れ替わっている。(上記扉を開けるための鍵も含まれる)
- ツボの中身も、ランダムなパターンに入れ替わっている。(小判か団子しか出ないことに変わりはない)
- ザコ敵の種類がランダムに再配置される。
- ヤエが最初から加入し、「こりゅうたのフエ」を持った状態で開始する。
- 「こりゅうたのフエ」を建物やお城の中でも使用可能。
- 「こりゅうたのフエ」で、お城の入り口にワープできなくなっている。
- 「こりゅうたのフエ」でワープできる場所に、「ゴエモンの家(マップ上は大江戸城)」「そげん町宿屋(マップ上はサブまりん城)」が追加されている。
- 「こりゅうたのフエ」で町にワープしたい場合、その町の宿屋に入っていないとワープ対象として出てこない。
- 「こりゅうたのフエ」で移動した後の復帰場所が、宿屋or茶店の出入口に変更されている。
- 「ミラクルスノー」を最初から持った状態で開始する。
- ランダムルートのクリアに不要な場合は、メインイベントであっても通らない場合がある。(例: モクベエLv2武器イベントなど)
- 「ほのおのこばん」を獲得しなくても、他武器の溜め技(例: からくりカメラ, ヤエバズーカ)が使える。
- Lトリガーを押すことで、デバッグモードに入ることができる。
マップ関連
- 生成ルートは「エビススライド」「地図バグ」「∞ジャンプ」「もっこりスラッシュ」などのバグ技を考慮していないため、使うと詰み状態になる可能性がある。
- イベントによる移動(ボス撃破、ツーリスト、カメ石鳥居ワープ)は元々の場所に移動する。
- 「出入口が1つしかないマップ出入口」と「そのマップに元々繋がっていた出入口」は元々のまま。 (例: 宿屋の出入口、城の宝部屋など)
- BGMの同じマップが極力繋がるよう配慮される。
- マップ総数の5-9割ほどがルート生成に使用される。(=行けないマップが一定数発生する)
- いわゆる詰み状態が発生する可能性を排除してルート生成する。(例: 高台から落ちたら戻れなくて詰むなど)
- 「イヨ2」と「サブまりん城の揚げ物部屋」が落ちても簡単に復帰できるようにマップ改変されている。
- 「こりゅうたのフエ」のすべてのワープ先にたどり着けるとは限らない。
設定ファイル(mn64_settings.yaml)の項目解説
logic_filename
デフォルト: router_logic.txt
各マップの対応関係を記載したファイルを指定する。基本そのままでよい。
(例: サブまりん城入口には「にんぎょへんげのじゅつ」が必要など)
エビススライドなどのバグを容認したランダマイザーを作りたい場合は、作者による解説記事が参考になるかもしれない。
nodes_filename
デフォルト: router_nodes.txt
各マップの扉やアイテムを番号化したリスト。そのままでよい。
retry_limit
デフォルト: 500
生成したルートが理論上クリアできるかをチェックするプロセスを打ち切るまでの回数。
条件を複雑にしない(≒生成速度が遅くなるオプションを入れない)限りはデフォルトでOK。
retry_limit_close
デフォルト: 1000
「詰み状態」になる可能性があるかチェックするプロセスを打ち切るまでの回数。
retry_limitより大きな値にする必要がある。
time_limit
デフォルト: 240
生成したルートがクリアできるかを検証する時間(秒指定)。PCが非力な場合はここを増やすとよい。
fg_cache_limit
デフォルト: 10000
ランダム生成時に利用するキャッシュ量。
生成速度にはあまり影響がないらしいので、変えなくてもよい
map_size
デフォルト: 0.75
マップ総数に対する使用率。1にすると全マップが確実に使用される。指定値が低すぎる場合は最低限必要なマップ数になる。
map_strictness
デフォルト: 0.75
上記値の分散。(例: map_sizeが0.75, map_strictnessが0.5の場合、マップ総数の50~100%(0.75±50%)が使用される)
つまりデフォルトでは、56.25~93.75%のマップが使用される。
avoid_softlocks
デフォルト: True
いわゆる「詰み状態」になり得ないよう、マップをランダム生成する。(例:高台から落ちると戻れなくて詰むなど)
当然計算速度は落ちるが、ON推奨。
trap_doors
デフォルト: 0.00
一方通行になる扉の生成率を0~1の小数で指定する。よっぽどのMでない限りは0固定。
ちなみに0にしていても、鍵付きなどの扉から出てきてしまい一方通行になることはある。
skip_complex_nodes
デフォルト: 0.50
指定した割合で「詰み状態」になりうる可能性のあるマップをルート候補から削除する。
値を上げると生成速度が早くなるが、特定のマップが使われなくなる可能性が増加する。
lazy_complex_nodes
デフォルト: False
ランダム生成の一部処理をスキップして高速化する。
ONにするとたまに「詰み状態」になるマップができてしまうため、デフォルトOFF。
goal_based_missables
デフォルト: False
クリアに必要なイベントは必ず通るようルートが設定される。
生成速度が遅くなるため、FALSEを推奨
fix_bad_maps
デフォルト: True
いわゆる「詰み状態」になりやすい2か所のマップ(イヨ2, サブまりん城揚げ物部屋)を改造する。
- イヨ2: おもちゃ城入口側に梯子が追加される。(「チェーンキセル」がないと、下に落ちたら戻れなくなるため)
- 揚げ物部屋: 水場から入口側に戻れるよう足場が追加される。(「からくりカメラ」がないと、水場に落ちたら戻れなくなるため)
詰み防止考慮の要素が増えるため、当然OFFにすると生成速度が遅くなる。
fixed_singletons
デフォルト: 1.00
出入口が1つしかないマップをランダムにしない確率を0-1の小数点で指定する。(デフォルトは1=ランダムにしない)
店や民家の入り口などが軒並みランダムになるため、製作者曰くよっぽどのMでない限りは1固定をオススメしている。
cluster_bgm
デフォルト: True
同じBGM(≒同じエリア)が極力つながるようにマップ生成する。
completionist
デフォルト: False
全武器全アイテム(まねき猫除く)が理論上可能なようマップ生成する。
(生成速度が遅くなるためデフォルトOFF)
all_warps
デフォルト: False
すべてのワープポイント(茶屋,宿屋)にたどり着けるようにランダム生成される。
(生成速度が遅くなるためデフォルトOFF)
randomize_keys
デフォルト: 2
ランダムな扉に鍵を設定する。0にするとすべての扉がロックされなくなる。1-3あたりがオススメとのこと。
randomize_pickups
デフォルト: True
鍵, 金団子, まねき猫, 大入り袋, これゾウくん, ヤジルシくん, ツボの中身をランダム化する。※ツボ以外は上記の鍵になりうる
まねき猫も極力フルコンプできるよう生成するが、不可能な場合はランダマイザーが警告を出す。
randomize_enemies
デフォルト: True
ザコ敵の種類もランダムにする。ごく稀に処理落ちからのフリーズが発生する可能性があるらしい。
start_camera
デフォルト: False
「からくりカメラ」を最初から持った状態で開始する。一部の「詰み状態」を回避できるが、生成速度に与える影響はわずかに早くなるだけとのこと。
start_minimaru
デフォルト: False
ちびエビスンの術を最初から習得した状態で開始する。エビススライドについては考慮されていない点に改めて注意。
start_flute
デフォルト: True
ヤエが最初から加入し、「こりゅうたのフエ」を持った状態で開始する。利便性が損なわれるうえに生成速度が大幅に増加するため、OFFにしないことを推奨。
城の入り口にはワープできなくなっている点に改めて注意。(宿屋, 茶屋のみ)
flute_anywhere
デフォルト: True
建物の中でも「こりゅうたのフエ」を吹けるようになる。詰み回避+効率化の両点でONがオススメ。
ice_kunai_logic
デフォルト: True
熱い床はすべて「ごっかんのクナイ」を使わないと抜けられないと仮定してルート生成する。