SFC版ドラクエ5のエンカウント確率
DQ5
SFC版ドラクエ5エンカウント判定はすでに解析済みのDQ1&2の判定とよく似た1歩(半マス)移動ごとに判定が行われる方式です。主にマップ切り替わりまたは直前エンカウントからの歩数、移動先の地形、エンカウントエリアによって確率(閾値)が変化します。
地形ID→基礎エンカ指数
4.a’地形ごとの基礎エンカ指数補足
フィールドで匂い袋効果中は8倍(1エンカウントのみ)
同じ歩数歩いても歩数カウントが溜まってからの方がエンカウントしやすく、直前までに歩いた地形はそれ以降の判定時には影響しない。
乱数[0,255]<=エンカ指数 のときエンカウント
計算結果とグラフ:SFCDQ5エンカウント確率.ods
SFC版DQ1&2エンカウント判定(Kriさん)
地形ID→基礎エンカ指数
- 建物の上などの条件でエンカウント判定をしない(詳細未解析)。
- 聖水・トヘロスの有効性判定(エリアレベル)
- 魔物のエサ、匂い袋により基礎エンカ指数を8倍する
- 歩数と地形に応じたエンカ指数の乗除
- エンカウントエリア別の遭遇係数にエンカ指数の乗除
- エンカ指数と線形合同法の乱数取得とによるエンカウント判定
1.建物の上などの条件でエンカウント判定をしない(詳細未解析)。
2.聖水・トヘロスの有効性判定(エリアレベル)
「主人公レベル>=エリアレベル」のとき聖水・トヘロスが有効です。ただし、街に入ると聖水・トヘロスは解除されます。また、魔物のエサ、匂い袋との併用はあとに使用したものの効果だけ発動されます。3.魔物のエサ、匂い袋は基礎エンカ指数が8倍されます
フィールドで有効。1エンカウントで効果はなくなります。4.歩数と地形に応じたエンカ指数の乗除
地形ID$1AA0 | 基礎エンカ指数$01,s | 歩数閾値$00(==256/基礎エンカ指数) |
---|---|---|
0海 | 02 | 128 |
1砂漠 | 07 | 36 |
2山 | 12 | 21 |
3岩山 | 00 | ? |
4毒沼 | 09 | 28 |
5茂み | 07 | 36 |
6平地・橋 | 05 | 51 |
7森 | 09 | 28 |
8浅瀬 | 02 | 128 |
9海辺 | 02 | 128 |
10進入不可? | 02 | 128 |
11樹林・塔 | 09 | 28 |
12建物の右端・右上 | 02 | 128 |
4.a’地形ごとの基礎エンカ指数補足
基礎エンカ指数$01,s | 条件(SR $0084CF内) |
---|---|
0x00 | エンカウントテーブル番号がFF(ノーエンカウントエリア) |
0x07 | 施設内・ダンジョンで地形IDが [0,127] |
0x20 | ダンジョン暗転時 |
0x00 | トヘロス、聖水で 主人公レベル$7E2052 >= エリアレベル $1A99 の時(ノーエンカ) |
フィールドで匂い袋効果中は8倍(1エンカウントのみ)
条件1(@23/E7F6) | 条件2 | 条件3 | エンカ指数$01,s @23/E85C |
---|---|---|---|
$02 < $00 | $02 <3 | $01,s = 0(@23/E85) | |
$02 < $00 | 3 <= $02 | $02<5 | $01,s = $01,s/64 |
$02 < $00 | 5 <= $02 | $02<7 | $01,s = $01,s/16 |
$02 < $00 | 7 <= $02 | $02<9 | $01,s = $01,s/4 |
$02 < $00 | 9 <= $02 | $02<11 | $01,s = $01,s/2 |
$02 < $00 | 11 <= $02 | A = (stack)/2: $01,s = $01,s/4 + $01,s/2 | |
$02 >= $00 | $02>=2*$00 | $00=2*$00: $01,s = mod($01,s*4; 256) | |
$02 >= $00 | $02<2*$00 | $00=2*$00: $01,s = mod($01,s/2 + $01,s; 256) |
5.エンカウントエリア別の遭遇係数(の分子X)とエンカ指数$01,s との乗除(×X/64)
X | 係数(端数切捨て) | テーブル番号 |
---|---|---|
16 | 0.25 | ---- |
22 | 0.34375 | ---- |
43 | 0.671875 | 8,34,37,51,64,75,80 |
64 | 1 | その他 |
80 | 1.25 | 14 |
96 | 1.5 | 7,10,32,70 |
112 | 1.75 | 69 |
128 | 2 | ---- |
6.エンカ指数と線形合同法の乱数取得とによるエンカウント判定
DQ5の乱数はXOR などのビット演算で求める乱数とここで用いる線形合同法の乱数(sr: 23/EAFD)があるようです。5.のエンカ指数が256以上のときと、乱数[0,255]<=エンカ指数の時にエンカウントします。1歩ごとに エンカ指数/256 の確率でエンカウント!?まとめ?
どういう風になっているのかわかりにくいのでとりあえず同一地形を歩いた時の歩数とエンカウントの関係をプロットしてみました。(DQ5確率密度(その歩数ちょうどでエンカする確率))(DQ5確率分布(歩数≦横軸の値でエンカする確率))同じ歩数歩いても歩数カウントが溜まってからの方がエンカウントしやすく、直前までに歩いた地形はそれ以降の判定時には影響しない。
乱数[0,255]<=エンカ指数 のときエンカウント
計算結果とグラフ:SFCDQ5エンカウント確率.ods
参考サイト
SFC版DQ1&2エンカウント判定(Kriさん)
SFC版DQ5エンカウント制御 5.8. タイルエンカウント表 (プレハブ小屋showa_yojyoさん)
PS2版DQ5エンカウント判定や確率用語など(Maruさん)
2019年6月5日 dropbox のリンク修正
PR
Comment form
カレンダー
12 | 2025/01 | 02 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
最新記事
(12/18)
(04/18)
(09/15)
(09/11)
(06/21)
プロフィール
HN:
bamboo
性別:
非公開
自己紹介:
2010年の3月ごろニコニコ生放送のゲーム放送でRTAを知ってよく見るようになった。
どちらかというとゲームはプレイするものじゃなくてプレイを"みる"ものだと思っている。
逆アセンブル解析というのをかじったものの放置していたが、某放送の影響で解析を再開。
2を初クリアしたのは2011.3.10。ブログの内容はSFC版ドラクエ1・2の解析がメイン。最近はjavascriptとかluaをある程度扱えるようになったので、botでルート検証とかできたらと思いつつも進んでいない。
要点をまとめたり文章書くのが苦手なので記事が長ったらしかったり、日本語のようで日本語でなかったりする。プログラム用語が使えるようになりたいかも。
ツイッター: https://twitter.com/bamb00h
ブログに公開せずツイートのみの情報もあり(twilog)
どちらかというとゲームはプレイするものじゃなくてプレイを"みる"ものだと思っている。
逆アセンブル解析というのをかじったものの放置していたが、某放送の影響で解析を再開。
2を初クリアしたのは2011.3.10。ブログの内容はSFC版ドラクエ1・2の解析がメイン。最近はjavascriptとかluaをある程度扱えるようになったので、botでルート検証とかできたらと思いつつも進んでいない。
要点をまとめたり文章書くのが苦手なので記事が長ったらしかったり、日本語のようで日本語でなかったりする。プログラム用語が使えるようになりたいかも。
ツイッター: https://twitter.com/bamb00h
ブログに公開せずツイートのみの情報もあり(twilog)
ブログ内検索
最古記事
(09/17)
(09/17)
(09/18)
(02/04)
(02/07)
カウンター
忍者アナライズ