1read 100read
2013年02月ゲームサロン419: 乱数調整スレ 17 (874)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
【東方以外は】東方projectの問題点及び盗作疑惑Part6【該当スレへ】 (297)
各ハードのRPG新作予定ラインナップ (464)
何故か記憶に残ってるダンジョン名 (256)
スカイリム VS ドラゴンズドグマ (303)
【避難中】GURPSガープス全般 第54版【Instant Armor】 (337)
うたの☆プリンスさまっ♪133曲目 (558)
乱数調整スレ 17
- 1 :2011/08/19 〜 最終レス :2013/02/02
- 前スレ 乱数調整スレ 16
http://toki.2ch.net/test/read.cgi/gsaloon/1302533492/
ツール
MySeedFinder
ttp://www1.axfc.net/uploader/Ne/so/96492&key=32123
SyokiSeedSearch4など
ttp://rusted-coil.squares.net/tool/syokiseedsearch/sss_down.htm
WBC
ttp://ohirugohan1018.blog98.fc2.com/blog-entry-29.html
- 2 :
-
- 3 :
- pokebw(14スレ 694氏)
http://www1.axfc.net/uploader/Sc/so/194044.zip&key=000
javascriptで物拾い検索。pass:mono (16スレ 979氏)
http://www1.axfc.net/uploader/Sc/so/266473.zip
ブラックシティ住人
ttp://hosome.sakura.ne.jp/iroiro/BlackCityTrainerKettei.zip
オフセット
ttp://www1.axfc.net/uploader/Sc/so/190766&key=32123
- 4 :
- nazo
日本版ブラック 0x02215f10
日本版ホワイト 0x02215f30
英語版ブラック 0x022160b0
英語版ホワイト 0x022160d0
独語版ブラック 0x02215ff0
独語版ホワイト 0x02216010
西語版ブラック 0x02216050
西語版ホワイト 0x02216070
仏語版ブラック 0x02216030
仏語版ホワイト 0x02216050
伊語版ブラック 0x02215fb0
伊語版ホワイト 0x02215fd0
日本版ホワイト(dsi) 0x02737eb0
ブラックDSiのnazoは不明なのかな
- 5 :
- テンプレ
出来ました(´・ω・`) 色孵化成功しました(´・ω・`)
卵のオフセット求めて狙いの性格乱数に合わせたら行けました(´・ω・`)
孵化歩数の都合上コイキングですが(´・ω・`)
出来ないとしたら、アララギ博士が名前を聞き返してきた時にいいえを選んだんじゃないでしょうか(´・ω・`)
その場合乱数が消費されるらしいので、もしかしたらそれかもしれませんね (´・ω・`)
- 6 :
- >>5
(´・ω・)カワイソス何故に?
- 7 :
- >>1
ィ──----、
,..._ /:: ::: ::::: :: : : : : :\
li ,li r゙: : :ノ: : : : : : : : : : : :::ヽ
|゙~ 'i /: : : :::::、: : :ヽ: : : : : : : ::::::\
| ー | /: : : : ハ::、ヽ: ヽヘ: : : : : : : : :::::\
|, _ .| l: : : : :|: |ヽ |ヽ::ヘ\: : : :: ::: ::::::::::|
, -、|ー |,.-、 { : : l|ノ ノ `}ィ==ヽ\:: :: :: :::::::::::::|
, -i | | i⌒i ∨:ノ/==、r 'ヾ/´ `ヾ: : : ::::::|
/、_l ,| |. ,| i !: | ─-`: 、 ヾ::::::::::|
i , 〈' 〈' 〈 `i ヾl{ | っヽ_ノ ゙l: : :::::l
! i i |iト、.. `i^''´_,,ィ .:::}::: :: :::ミ
l | !:|ヘ :`v<二ノ/ .: ,,イミ:: :: :: :ミ、
ヽ | ヽ \ `ー'´ / ^`ヘルヘ`
゙ヽ ! \,,___ィ´ ヘ |
\ ヽ r─ノ |
- 8 :
- 物拾い、フィルタがよく分からないことしてたので修正
重さはこれ以上いじる気は無いかな…処理経過を表示したら気は楽になりそうだけど
ttp://www1.axfc.net/uploader/Sc/so/266952.zip
pass:mono
6匹拾いはやっぱ厳しいかね
スプレーで1歩動くか振り向くたび基本2消費するみたいだが、6匹拾い < timer0確認あり5匹拾いだろうし
NPCがいない所から外に出てすぐNPCの行動が確認できる+甘い香り可能なところならできるのかもしれない
- 9 :
- ありがたく使わせてもらってます
timer0の確認が出来たほうがいいし、そもそも6匹成功するシードが見つかる可能性自体めちゃくちゃ低いからね…
自分は4匹成功で妥協しようかと思ってる
- 10 :
- ああ、馬鹿なことしてるな、物拾いのヤツ間違ってる
あと9と10のテーブル全部逆だわ、修正してきます…
- 11 :
- と思ったらよかった勘違いだ。おさがわせしました
ttp://www1.axfc.net/uploader/Sc/so/267263.zip
pass:mono
テーブルだけ修正。
- 12 :
- >>3のブラックシティのツールの1(セーブデータ作成)の方未確認になってたので試してみた
住人全員は確認してないけど出現率1のグレースとその他数人を確認したので正しいと思う
そんだけ
- 13 :
- サブウェイをA連打で勝ち抜ける乱数探したら楽だなーと思ってちょっと試したが
通常乱数にトレーナー数かけてシフトってわけじゃないみたいだな
手持ち決定も範囲数で調べたがどうも見つからない
入る時の乱数〜20消費程度で最初の手持ちまで、手持ちはそれぞれ対戦直前に3匹決定
ぺラップ1回でトレーナーが1ズレて登場するし単純だとは思うんだがわかんね
まぁ拘りとか複数欲しい人しか必要ないけど
- 14 :
- 何で性格値に法則なくしたんだろうな
ハイリンク関係?
- 15 :
- >>14
消えろ雑魚
- 16 :
- >>14
ィ──----、
,..._ /:: ::: ::::: :: : : : : :\
li ,li r゙: : :ノ: : : : : : : : : : : :::ヽ
|゙~ 'i /: : : :::::、: : :ヽ: : : : : : : ::::::\
| ー | /: : : : ハ::、ヽ: ヽヘ: : : : : : : : :::::\
|, _ .| l: : : : :|: |ヽ |ヽ::ヘ\: : : :: ::: ::::::::::|
, -、|ー |,.-、 { : : l|ノ ノ `}ィ==ヽ\:: :: :: :::::::::::::|
, -i | | i⌒i ∨:ノ/==、r 'ヾ/´ `ヾ: : : ::::::|
/、_l ,| |. ,| i !: | ─-`: 、 ヾ::::::::::|
i , 〈' 〈' 〈 `i ヾl{ | っヽ_ノ ゙l: : :::::l
! i i |iト、.. `i^''´_,,ィ .:::}::: :: :::ミ
l | !:|ヘ :`v<二ノ/ .: ,,イミ:: :: :: :ミ、
ヽ | ヽ \ `ー'´ / ^`ヘルヘ`
゙ヽ ! \,,___ィ´ ヘ |
\ ヽ r─ノ |
- 17 :
- 殿堂入り後徘徊検証
手持ちはポリゴンZ・ぺラップ*2、全部ポケルス感染力無し状態
控えめ適応力Lv100、特攻V252振り@拘り眼鏡で技に騒ぐ
アデク台詞の最後からストップウォッチ開始
ボタン入力は騒ぐ2回と賞金画面のみで後は放置
シュバルゴは最低ダメージだと耐えられてしまうが確率は低いので無視
殿堂入り画面の入力は徘徊に関係しない
賞金画面表示まで2分10秒程度、賞金画面待機で大体1/60秒に1消費
2分30秒にボタンで12980消費周辺、3分00秒で14800消費の個体が出現
別の初期seedで2分30秒で取ってみると13000消費が出現
性格はどれでも8消費後が出現
理想個体も狙えなくはないかな、まぁ周回したほうがいいだろうが
色違いだけを狙いたいならこちらが楽かと
どうでもいいが、今回ポケルス消えるのに日付変更を3回必要っぽい
- 18 :
- もうボルトル夏で両方色違いとったわ。
ボルトは消費13で466の乱数が性格値。トルネは消費21で629の乱数が性格値。
事前雨が降ってなければこんなもん。参考までに。
- 19 :
- 孵化の時に関してだけどリスト通りにいかない事ってあるよね
NPCの影響だと思うけど時間をかけて見つけたシードが役にたたないものだとおもうと悲しい
10を目標としていて10消費すると11、9消費だと9とか
解決策はないのかなぁ
- 20 :
- いまままで順調に出来てたのに
さっき見つけたシード試したらいきなり全然合わなくなったよ
再現性が全く得られなくてどこから始まってるのかわからん
潔く別なの探すべき?
- 21 :
- とりあえず別のでやってみて、狙ったのが出るかどうか確かめる
- 22 :
- 第四世代の話なんだけど、DDDDloopの「[3]指定表IDからそのIDになる初期Seedを逆算」で
下限0000上限9999に指定した場合、Seedlistに出なかった裏IDは改造とみなしておk?
- 23 :
- ID調整にDDDDloop使ってたけどPHSのが便利なことに気づいてからはずっとそっちだわ
DDDDloopって9999FがMAXなんだっけ?それ以上も調べてみようず
- 24 :
- >>22
マジレスすると下限0で上限は65535
- 25 :
- アホすぎワロタ
- 26 :
- にんにん
- 27 :
- 久しぶりに来たら物拾い用のツール出来てたのか
これで飴回収とニョロトノ育成ができるぜ
- 28 :
- ミュウツーハイリンク厳選だけは避けられそうだからほんと楽だなw
- 29 :
- 禁止伝説なんていらないけどな
- 30 :
- DSi用のツールまだ?上画面壊れたDSじゃタマゴ乱数しかできん
- 31 :
-
r'ニ;v'ニ;、
でっていうwww _,!゚ ) i゚ ) .iヽ でっていうwwwwwwwwww
r=、r=、 / `ヽ,. ┘ ヽ
でっていう,www .__{゚ _{゚ _} i ′′ }
, - (゚(゚ ))> /´l r `'、_,ノi、 l、 、 ,!
r-=、( '' ,r'⌒゙i>_{ ) ヽ.____,ノ` 、 !
`゙ゝヽ、ヽー´ ,,ノ::``、 _.r(_ ノ゙`ー. ヽ,.┬/ | /7
にー `ヽ、_ /::::::::ィ"^゙リ-r _,,ノ ,. lー' /ニY二ヽ ででっででっでっていうwwwwww
,.、 `~iヽ、. `~`''"´ ゙t (,, ̄, frノ `ァ-‐ /( ゚ )( ゚ )ヽ
ゝヽ、__l::::ヽ`iー- '''"´゙i, ヽ ヽ,/ / /⌒`´⌒ \
W..,,」:::::::::,->ヽi''"´::::ノ-ゝ ヽ、_ノー‐テ-/ i | (-、 |
 ̄r==ミ__ィ'{-‐ニ二...,-ゝ、'″ /,/`ヽl , ヽ___ノ | ト- :、
lミ、 / f´ r''/'´ミ)ゝ^),ノ>''" ,:イ`ヽ | |r┬ー| l ,/;;;;;;;;;;;;`゙
! ヾ .il l l;;;ト、つノ,ノ / /:ト-"∧ l | / //;;;;;;;;;;;;;;;;;;;
. l ハ. l l;;;;i _,,.:イ / / ,レ''";;;;;ヾ二,-;;´;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
人 ヾニ゙i ヽ.l yt,;ヽ ゙v'′ ,:ィ" /;;;;;;;;;;;;;;r-'"´`i,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
r'"::::ゝ、_ノ ゙i_,/ l ヽ ゙':く´ _,,.〃_;;;;;;;;;;;;f´' ll;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
` ̄´ / l ヽ ヾ"/ `゙''ーハ. l;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
/ l ゙t `' /^t;\ ,,.ゝ;;;;;;;;;;;;;;;;;;;;;;;;;;;
- 32 :
- styleにあった電池切れRSとかポケトレの乱数調整やってたスレ消えた?
- 33 :
- 荒らしのせいで消えた。
過去ログまで全部荒らし投稿で埋まってる。
- 34 :
- なるほど
内容が興味深いものが多くてあのスレだけ見てたんだが
今見たら一覧が酷い有様だな
- 35 :
- サファリの野生乱数のやり方教えて
- 36 :
- >>32-33
しかしスタイルスレの記事のコピーを持っている自分がいる
- 37 :
- >>36
ここにそのコピー張ってスタイルスレの代行を行おうよ。
スタイルが機能していないんだから。
- 38 :
- >>37
自分はかまわんが書いた人に聞いてみないと…
- 39 :
- かまわんよ
- 40 :
- >>39
本人様…かな?
うつしていこうと思ったのですがメモが前のPCにしかないじゃないか…
やっべ残ってるかな
- 41 :
- 本人証明として ポケトレ色6Vの準備メモ
6Vメタモンをポケトレ色違い捕獲 memo
多連鎖で特定の乱数列上の位置を狙うのは、さすがに難易度が高すぎる。
calcpid搭載の1連鎖目色捕獲を応用。
1連鎖目色違い判定を受けるためには、乱数/0x290 <= 7。
これを満たす乱数を、6V個体の位置からさかのぼってさがす。
6V性格値のSEED SEEDからのF数 直前の判定可SEED(乱数は上位4ケタ)
0X11A90F70 9735 0x0006D2BB
0X5A48895F 1325 0x0006C090
0X6F72E04B 5052 0x0007571F
0X91A90F70 2422 0x00009A22
0XDA48895F 5649 0x0003F30C
0XEF72E04B 9920 0x0000448B
もっとも F数の少ない 0x0006C090 を目標に決定。
色判定を受けるためには上記の判定の直前乱数で「連鎖する位置」である判定も得ておくことが必要。
省略 別稿「ポケトレの意義」
次の段階は、上記の位置で判定が起こるようにポケトレ連鎖を発動させる。
具体的には
最初の出現ポケモンを出現させるための乱数消費の最後を、1連鎖目のポケトレ処理開始位置の直前に合わせること。
連鎖状態のポケトレ動作は、ゆれる草の位置およびゆれの種類が乱数によって決定。
ポケモン出現と個体生成過程は性格値に2つ個体値に2つその直後の1つという5乱数を終点とし、
さらに、性格値生成以前の性格探索ほかの手続きによって乱数消費がある。
乱数リストからその流れを追うことで適切な位置をさがす。
結果、SEED 0x481ADB21 から性格値生成がはじまる個体を出現させれば
その処理直後に決定されるゆれに光る草が出るとの予想。
特定の性格値個体値の組み合わせを狙う方法は通常調整と同じ。
目的は、メタモンであることから、上記の位置で個体ができ、
かつ、出現手続きの開始時点で決定されるポケモン種類がメタモンになるようなポイントをさがす。
SEED 0xA99880D5 でテーブル選択、次の 0x66EE2124でシンクロ可判定。
ポケトレ限定出現なので、ポケトレ初動時に大きなゆれをだしてその草を踏むことが必要。
これを満たすポケトレの起動をおこなうべき乱数上の位置をしらべる。
上記SEEDの数F前にある 0x16931D1Aから位置決定処理を始めさせればよいと計算。
このSEEDを狙う前提となる初期SEEDを通常調整と同様に検索して 0x5B0403DE を選択。
- 42 :
- >>41さんは>>39さんとは別人でしょうか?^^;
無事見つかったのでコピペしていきます
御三家からの裏ID特定のためにご参照の場合は 過去レス4、6、10をご覧ください。
さほど難しい操作はありません。
個体値の特定。
個体値と性格からの初期SEEDの拾い出し。
初期SEEDからの孵化乱数(メルセンヌツイスター)計算。
ツールはcalcpidが適当かと思いますが、上記3つの処理ができれば他のツールでも足ります。
初期SEEDがどのように決定されるのか ということに関する十分な理解は この特定作業のみではなく 乱数調整すべてにおいて必須です。
尚、この特定方法は トレーナーID(裏表あわせて16進数8桁)が ゲームを始めたときの初期SEEDから孵化乱数で計算される2つ目の乱数として決定される という原理にもとづいています。
これは DP以降HGSSまで共通ですので、それら全てで実施可能です。
追記
oupo氏により ラジオ塔のくじからゲーム開始時の初期SEEDを求め、そこから裏IDを特定する方法が実用化されました。
日替わり乱数の仕様に不明な部分が残っているため、100%特定可能にはいたっていないようですが、たいていの場合は成功するもようです。
私の裏判明済みロムでも試しましたが、正しく算定されました。
特定にあたっては 同氏のブログからツールにアクセスしておこないます。
また、御三家からの特定についても同氏によるツールが公開されています。
ETC
>>20 電池切れRS いろいろ
>>21 DS版 裏ID早期特定
>>22 電池切れRS 御三家色違い
>>23 電池切れRS 徘徊ラティ
>>24 HGSS オーキド御三家 調査
>>25 HGSS りゅうのあな 釣り調査
>>26 DP まよいの洞窟 あまいミツ調査
>>27 連続適格消費数が有るSEED
>>28 御三家でもクジでも特定できない場合の裏ID推定 初心者向きではありません
>>29 DP ポケトレ色6Vメタモン
- 43 :
- 電池切れのRSが面白い。
電池が切れた状態からゲームをはじめると、
1.初期SEEDが0x5A0に固定される
2.日付がかわること他時間をフラグとする更新が発生しなくなる。
このことは、ゲーム内において次のような諸事情となってあらわれる。
A.裏IDが簡単に調べられる。よって、色伝説捕獲が容易。
RSでは、裏表のIDが連続した2つの通常乱数そのままを使って決定される。
(これは、2月の半ばに「鰓日記」さんのコメントに投稿された情報によっています。
あらてめて、情報のご提供に感謝申し上げます。)
したがって、初期SEED 0x5A0から発生する乱数リストから表IDに一致するものを探せば、その前の乱数が裏IDということになる。複数みつかることもあるが、経過時間などを考慮すれば、妥当性のあるものはせいぜい数個におさまる。
しかも、通常乱数上で2つ連続しているのであるから、その位置で性格値が決定されるポケモンは色違いになる。よって、該当位置の伝説捕獲して色違いになるかどうかで判定ができる。
捕獲のための調整操作も、単純に時間待ちのみであるし、IDの決定タイミングであることから、その待ち時間も数分以内になる。
該当位置のレックウザ捕獲しました。SPの画面ではよくわかりませんでしたが、DSで見ると 黒レックウザに。
>>22 御三家色の出し方を追記
B.特定の表IDを狙ってだせる。
これも、上記の原理から可能になる。だからといって、なにがお徳かですか?
エメラルドに送って、デパートくじで毎日マスターボールを当てましょう。
エメラルドのあたりくじ決定のしくみについてはcalcpidの添付文書を参照してください。
具体的には、前日にもくじをひいていることを前提として、起動からの操作タイミングを一定にすることで、あたり番号もせいぜい十数個に絞る(しかも、毎日おなじ)ことが可能です。そのため、RSでそのIDを揃えて送っておけば、毎日マスターボールも可能です。
C.まぼろし島にいける。
まぼろし島の出現条件は、判定するじいさんに話し掛けたときの手持ちに入っているポケモンの性格値下位2バイトと、日替わりの乱数が一致することです。
先日2chのスレに投稿されたリンクにあるツール添付情報に、ゲーム開始時の日替わり乱数が0になることが書かれています。
電池切れでは、この乱数が更新されませんので、事実であれば 性格値の下4ケタが0のポケモンをつれていって話し掛ければ島が出現するはずです。
ということで、試しました。
下4けた0のポケモンは、シンクロが効くエメラルドで捕獲。
先頭がんばりや、ゲーム開始からほぼ5分7秒あたりで香り
結果、標題のとおり。
D.ヒンバスつり放題
更新処理がなくなるため、ポイントさえみつければずっとそこでつれます。
ポイントがかわらないのであるから、しらみつぶしに当っていけば、発見は確実。(多分)
多分としたのは、前に全検したときにポイントが4つしかみつからなかったからです。
6箇所あるとされているので、2ヶ所が「つりができないポイント」にわりあてられたのではないかとおもいます。ポケトレでゆれ位置が草以外になるのと同じような決定方法がとられているとすれば、場合によっては6箇所全てが「不可能位置」になることがあるかもしれません。
実質的には杞憂かとは思います。
なお、通常のポケモン捕獲調整はエメループとほぼ同じように可能ですが、固体生成に使われる乱数の組合せ(メソッド)は少しことなります。実際に何匹か捕獲して乱数と照合すれば確認できます。
タマゴについては、生成判定の直後に性格値下位、受取時に性格値上位と個体値および遺伝による書換え。遺伝処理については2号館さん。
- 44 :
- ゲームを新たにはじめる場合(以下「開始調整」と表記)の裏ID特定
DP以降のトレーナーID(裏表32ビット)は、メルセンヌツイスター(孵化乱数)で計算される2番目の乱数として計算できます。
また、最初の初期SEEDは、ゲーム中でおこなわれる通常の調整(以下「通常調整」と表記)と同様に、初期SEEDが決定される一定の時点(以下「決定タイミング」と表記)における年月日分秒と経過フレームをもとに、
同じ計算方法によって決まっていますので、少し事情が異なる部分もありますが、通常調整とほぼ同様の操作によって任意の初期SEEDを出すことが可能です。
したがって、特定のIDについても、それが2番目の乱数になる初期SEEDを出すことによって同時に実現できます。
初期SEEDさえ出れば、IDはそれをもとに一定方法で計算されるものになりますので、操作による乱数消費は不要です。
本稿は、あくまで「裏IDの早期特定方法」の説明を意図したものなので 特定IDを出す方法(以下「ID調整」と表記)にはなっていませんが、「特定IDを出せるSEEDの検索」ほか若干の応用を加えれば、それも可能かとおもいます。
以下の説明においては、「最終操作」という言葉を用いています。
これは、「決定タイミング以前にプレーヤーが行う最後の操作」という意味です。
通常調整でいえば、「「続きからはじめる」に対してAボタンを押すという操作」がこれにあたります。
通常調整では、最終操作の時点と決定タイミングが一致しているのですが、開始調整では下記のように最終操作をおこなった後若干の時間が経過した時点が決定タイミングになります。
HGSSの場合は、博士の最後のセリフに対してAボタンを押すことが最終操作になり、
決定タイミングは、その約2.8秒後になります。
DPPtの場合には、テレビの赤ギャラドスのニュース画面にAボタンを押すことが最終操作になり、
決定タイミングは、その後ほぼ0.6秒前後になります。
つまり、最終操作を、例えば30秒ちょうどにおこなえば、HGSSでは32秒代、DPPTでは30秒代に初期SEEDが決定されるということです。
したがって、DSをある時間に設定し、n秒後にソフト選択し、そこからさらにm秒後に最終操作をおこなう とすれば、その操作によって出る初期SEEDの上16ビットは、あらかじめ計算によって特定できます。
下16ビットについては確定的に特定の値にするような操作はできませんが、そのとりうる値全てに対して、そこから計算される表裏IDをリストアップしたとしても、その数は65536個にしかすぎません。
表IDも65536種類ありますので、調整で出た表IDをリストからさがすことによって、実際にでた初期SEEDを推定できるのは、通常調整におけるコイントスや徘徊位置による判定と同じ理屈です。
実際のところ、下16ビットの大きさは、待ち時間(上でふれたm秒)に相関しますので、数回の試行による結果をみれば、だいたいの大きさを把握できますので、それも加味すればリスト中に複数の該当値があったとしても完全な特定が期待できます。
この目的に適う機能を有したツールのリストには、表IDと一緒に裏IDも表示されているでしょうから、実質的にリストから表IDを見つければ同時に裏IDもわかることになります。
この調整目的でのリスト作成機能を備えたツールはいくつか公開されているようですが、私が仕様を理解しているものが アーマーさんの「乱数計算」しかありませんので、以下の説明は「乱数計算」の仕様を前提にしておこないます。
できる方にはここまででも十分
特定作業のながれ
1.時間を設定し、そこから初期SEED上位4ケタを計算する
まず、DS本体に設定する時間を ○月○日○時○分と決めます。
特定SEEDを狙うわけではないので現在時間でかまいません。
この時刻に、ゲーム選択までの間隔と待機時間を加算した時刻が最終操作のタイミングです。
よってHGSSなら2秒、DPPTなら0秒を加算した時刻によって初期SEED上4ケタが決定されることになりますので、計算式にあてはめて0xnnnn を求めます。
またこの時間設定は、再試行が必要になる場合がありますのでメモしておきます。
- 45 :
- 2.「乱数計算」を使ってリストを作る。
作り方は以下
2-1 乱数計算を起動
2-2 「DS版ID関連」 を選択
2-3 「基準seed付近のIDを計算」 を選択
2-4 基準seed→ には 0xnnnn2000 を入力
nnnnの部分は1で計算した値にします 下4ケタは本稿で例示した待機時間であれば、HGSS DPPTどちらでも 0x2000 固定でかまいません。
(ID調整時には当然目的SEED32ビットそのものを入力することになります)
2-5 基準seed+-nの範囲を計算 n= に 適当な値を入力する
これは 2000程度にしておけば前後30秒以上の範囲をカバーできますので十分です
2-6 全て出力:0 を選択
ここまで入力すると計算がはじまり 数秒で idresult.txt が出力されます。
書式は以下
初期seed 裏ID 表ID
0x43161830 59296 48848
0x43161831 63610 56144
0x43161832 17288 09313
0x43161833 15237 28260
0x43161834 19987 42861
0x43161835 36605 38190
・
・
・
標準のテキストですので Ctrl F でのワード検索が効きます。
3.実際にゲームを開始しID確認
1.で決めた時間設定にしたがってゲームを開始して表IDが確認できるところまですすめます
HGSSでは 最終操作前まで速やかにすすめ、最終操作後放置
DPPTでは 博士の最後のセリフにAボタンまで進めて放置しておくとTV画面表示までは勝手に進行しますので放置のまま待機して最終操作。
4.3で確認した表IDを2で出力されたリストから検索する。
リストの同じ列に裏IDも出力されていますので、それが求める裏ID。
場合によってはリスト中に複数の同一表IDが存在することがあります。
このようなときは、それぞれの初期SEEDをメモして 再度同様の時間設定で表ID確認までを行います。
運悪く、初回と同じ表IDがでてしまったら、さらにもう一度。
2度目も複数の同一表IDが出た場合は、最初の試行でメモした初期SEEDと2度目のリスト該当位置の初期SEEDを比較して判断します。数フレーム違いのペアがあるはずなので、それが真正ID。
蛇足
ID調整も同じ原理で成り立ちます。
目的とするIDを出すための初期SEED検索という部分がくわわることになりますが
これに必要な機能も「乱数計算」にそなわっています。
必要な作業も本稿の応用でできるはずです。
最も留意すべき点は、初期SEEDを出すための時間設定とズレ補正の過程で、いかに上位4ケタを確実に出せる状態を維持するかです。
最終操作から決定タイミングまでのラグがあくまでも概算値でしかないことを考慮すれば、そのためにとりうる最善の対処は本稿でも述べたように
「最終操作のタイミングを適当な秒ジャストに固定し、経過フレームの加減については起動時間の前後によって行う」
ことではないかと思います。
- 46 :
- 電池切れRSで御三家色違い
原理
1.電池切れRSでは初期SEEDが0x5A0に固定される。
2.RSのトレーナーIDは、博士の最後のセリフにAボタンを押した瞬間からきわめて短い時間が経過するまでの間に、連続した通常乱数2つを使って裏、表の順で決定される。
したがって、初期SEEDを0x5A0として生ずる乱数列のうちから表IDと一致するものをさがすことで裏IDも見つけられる。
3.御三家の個体は、バッグのなかの3匹のうちから1匹を選ぶ処理の「はい」を押すタイミングで連続した通常乱数4つを使って生成される。この4つのうち前2つ分が性格値になる。
4.2および3から、表裏IDと同じフレームで性格値を生成させるタイミングで御三家選択の「はい」を押せれば色違いが出現する。
調整操作
1.裏IDを調べる手順 (セーブデータを消去した状態を前提とする。)
1-1 電源を入れ、いったんゲームを選択しておく。
1-2 ソフトウェアリセット
1-3 主人公の名前他必要な項目を入力し博士の最後のセリフ表示まで進める。
1-4 待ち時間(1-2を起点とする)を経過するタイミングでAボタン
1-5 以下はトラックに明かりがさすまで放置
1-6 ゲームをセーブ可能なところまで進める
1-7 いったんセーブし表IDを見る。
1-8 乱数リストから表IDを探す。
1-9 見つかれば、その乱数の1つ前が裏ID
乱数リストをDS版用のツールで作る場合は初期SEED 0x5a0 として「徘徊」のリストを出力すればよい。(出力をエクセルなどに取り込んで使うが吉か)
単純に裏IDを知るだけであれば上記で可。
待ち時間は必要な手間を考えると60秒程度以上を推奨。
待ち時間を60秒とした場合にはおおよそ3550Fから3600FあたりのIDがでる。
特定のIDを狙う場合はこの予定時間を変更することで可。
上記を参考に秒あたり60Fで待ち時間を概算。
また、この場合、1-7は「表ID確認、目的のものならセーブ、違う場合は1-2に戻る」になる。
2.色御三家を狙う手順
2-1 ゲームを進め、バッグに対面した状態でセーブ
2-2 ソフトウェアリセット
2-3 ゲーム開始後バッグを開き、1匹を選択、「はい」を押せる状態で待機。
2-4 待ち時間(2-2を起点とする)を経過するタイミングでAボタン
2-5 ポチエナを倒す。戦闘開始時点で色違いかどうかはわかる。色違いなら受取後セーブ
2-6 博士からポケモンをもらい、ステータスと性格からフレームのズレを調べる。
2-7 ズレから待ち時間を調整して 2-2に戻る。
ゲーム開始直後であるこの時点では、個体値ももらった時点のステータスからしか判断できないが、性格との組合せを含めると出現したであろうフレームの範囲が狭ければ殆どの場合どの個体かは特定できる。
1で成立した表裏IDの位置を2の性格値にあわせる場合でも、1と2では適格な待ち時間は多少差があり2のほうが1秒強程度長くなる模様。
実際のところは、各自で試行されたし。
3.その他
RSでは レックウザ他固定シンボル伝説も基本的に御三家と同じ原理で色捕獲可能。
(徘徊ラティでも可能かどうかは未検証につき不明、孤島ラティは可)
ただし、野生色を狙うのにはシンクロが無い点でエメラルドのようなわけにはいかない。
野生色を狙うのなら、複数のエンカウントポイントが存在する位置の個体にあわせてIDを狙うほうがいい。
4. サンプル
1の待ち時間を127.35秒程度にして 表IDが 14002 になれば 裏IDは 29131 であり
7661Fから7664Fで生成される いじっぱり 24-31-31-28-6-31 が色になる。
- 47 :
- 電池切れルビーで徘徊ラティ調整
ルビーのID位置で徘徊ラティを色調整してみました。
下調べ
テレビ前でセーブした状態からソフトリセット
連打でゲーム開始
起動から15秒でTVにA ニュースを見る
「おたのしみください」に対するAまでの間隔を変えてラティを出現させ捕獲。
上記を20回ほど試行した
結果からの推定
個体の決定タイミングは
「おたのしみください」に対するAボタンに相関
個体の生成方法
メソッド1 ただし以下の書き換えがおこなわれる
HPはそのまま使われる
攻撃は5ビットのうち上位2ビットが0になる
その他の4つは全て0になる
調整手順
ゲーム起動(ソフトウェアリセット)の後 「・・おたのしみください」の表示まですすめ待機
必要なフレーム経過に要する時間をみはからってAボタン
適当な場所(私はお天気研究所前を使ってます)に移動して遭遇を狙う。事前図鑑登録推奨
遭遇して色でなければマスボ捕獲して個体と性格からF確認
色ならばお好みのスタイルで捕獲。いったん逃がしてセーブもあり。
サンプル
ルビーのID位置 8310F リセットからAボタンの間隔 139.4秒で成功。
待ち時間の差分計算は、試行段階での出現フレームとの比較から およそ59.8F/秒
HGSS オーキド御三家の個体生成調査 ( No.24 )
日時: 2010/06/09 23:11
名前: 外野席 ID:5BkFRHuo HOST:i210-161-186-125.s02.a015.ap.plala.or.jp
某所の質問をみて気になったので捕獲により調べてみた。
レッドを倒したあとオーキドに会い話しを聞いた後、各ボールに対面した状態でセーブ
リセットから連打で受け取り
個体値を調べ、そこから初期SEEDと乱数消費を調べる。
結果からの推定
生成パターンは徘徊
性格値生成前に5程度の固定消費があると思われるが、NPCの影響があるため捕獲データからその正確な数を特定するのは難しい。
3匹とも、性格値生成位置がNPC消費のズレ範囲程度になっていることから同時生成ではなさそう。
追記
ダイゴの御三家
徘徊
固定消費なし
NPCも居ないので、面前でセーブ リセットから初期SEEDを出し、性格値を生成する乱数の直前まで消費してから話しかければよい。
- 48 :
- はぐれ研究所さんの記事をためしてみました。
?ゲームを起動後、即 すごい釣竿を使って捕獲
個体データから 初期SEEDを求め個体生成までの乱数を追う。
結果からの推定
R1 つりの可否判定 乱数@100<95で成功の模様
ただし 95の算定根拠は不明
R2 出現テーブルのスロット決定 乱数@100
スロット0-4ごとの区分はハッキリしない
出現個体によるデータは以下
スロット1 ミニリュー 40-58
スロット3 ハクリュウ 87-95
スロット4 コイキング 96
R3 レベル決定
すごいつりざお はレベル固定なので はぐれ研究所さんのうけうり
R4 性格決定 乱数@25 (またはシンクロ可否判定 乱数@2)
シンクロはためしていないが R4以降は通常の生成過程と同じと思われる
以下通常と同様の生成過程がとられる。
?上記を基に 連続つり捕獲(つれないな の場合は即再投入)
結果からの推定
つれないな の場合 判定による1消費のみ発生する
つれた場合
LIDになる乱数をR1とした場合R8までの消費が発生する。
R5-R8 までは 持ち物、つりの待機時間ほかとのことだが、詳細を明らかにするにはもっとデータを集める必要がある
途中で電話がかかってきた(受話はしなかった)ときに1つの乱数消費があった。
?「倒した場合」と「かかったがつらなかった場合」
釣竿を使い、一匹目を倒す(または)つらずに 即2匹目をつった結果
倒した場合は 捕獲した場合と同様に LID分を含めて8つ目まで消費が発生
つらなかった場合 LID分を含めて7つ目まで消費が発生した。
そのた
この検証作業の過程で中断をはさみ、日付が変わった後に再開したところ 起動時に2つの乱数消費が観測された。
これも、はぐれ研究所さんの記事にあるとおり、日替わり乱数の更新処理によるものと思われる。
調整開始時には、いったんその日付でセーブが肝心ということですね。
- 49 :
- リセットから再開後 即あまいミツ使用 シンクロなし
出現した個体
フカマル がんばりや 27,30,6,29,12,3
逆算された初期SEED
0x84060281
1つ目の乱数の百分換算 73 ポイントされるスロット 5
2つ目の乱数が決定する性格 0(がんばりや)
結果からの推定
ミツの効果はエンカウント開始の契機になるのみ
契機成立後 1つ目の乱数で出現テーブルのスロット選択
2つ目の乱数で性格決定
以下通常手順
- 50 :
- NPCが居る環境では、想定した必要乱数消費数の実現が悩みのタネ。
ということで、1つ(または2つ)消費数がズレても目的達成可能なものをさがしてみる。
6V孵化
HGSS
0x49130228 1-2
0x050F02C6 4-5
0xE2050239 18-19
DPPT
0x1B0E0295 1-2
0xC20603D5 4-5
- 51 :
- 御三家でもクジでも特定できない場合の裏ID推定
けっして初心者向けではありません。めんどうな作業がイヤな人にも向きません。
初期SEEDの決定原理を知らないとおそらく意味不明です。 あらかじめご注意もうしあげます。
御三家からの特定は、ゲーム開始時の初期SEEDを推定してそこからトレーナーIDを計算することで裏IDを求めることで可能になっています。したがって、リセットがはいってしまうと御三家個体と初期SEEDとの関連がなくなるため特定も不能になります。
ようするに、裏ID特定のための条件は「ゲーム開始時の初期SEEDが推定できる」ことなので、手間を惜しまないのであれば、以下のような方法で候補を現実的に確認可能な範囲の個数にしぼり込んだうえ、個別に色タマゴなどで確認することでの特定というのも成り立ちます。
ゲーム開始時の初期SEEDも通常の場合と同様にそれが決定された時点の「年月日時分秒」および「経過フレーム」から計算されますので、これらのパラメーターそれぞれについて、絞込みの可能性を考えます。
「月・日」
ゲーム内に記録された「ゲームをはじめた月日」で確定的に把握できます。
「分・秒」
これはともに0から59までの値をとりえますので両者の合計 0から118の119種全てを検索対象にせざるをえません
「時」
これは0から23までの値をとりうるわけですが、状況しだいで検索対象にすべき範囲がかわります。
原則として記憶ほかにたよるしかなく、最悪の場合全検が必要です。
ただし、実際のところ各自にとって、「この時間帯にゲームを始めることはありえない」と判断できる部分はあるでしょうから、そこらへんを考慮してフィルターします。
御三家がすでに手許にない場合を除けば、その個体から初期SEEDを検索すれば、受け取った「時」がほぼ特定できます。
性格粘りであればゲーム開始から数時間で受け取っていると推定できますので、検索対象をその範囲でおさめられることになります。
「経過フレーム」
可及的すみやかに進めたとしても実際のプレーでは 最低でも 0x1000くらいにはなるとおもわれる。(これはHGSSの場合です。DPPTではすこし多めになるはずです)
また、御三家特定ができないケースの殆どは性格値を粘ったことによるはずなので、ゲーム開始時の諸操作も比較的速やかにすすめられたとかんがえられます。とすれば、その過程で進んだ経過フレームについては0x3000程度以内の可能性が高いとの推定も妥当とおもいます。
よって検索範囲を0x1000から0x4000程度にすることで大半のケースをカバーできると思われます。
これらから、検索対象となる初期SEEDの数は 「時候補」1に対して
119*12300=1463700
初期SEEDの奇・偶のフィルターから 上記/2
表ID該当のフィルターにより さらに /65535
と概算できるので
絞り込み後の候補数は「時候補」1 に対して平均10個程度
「時」の幅にもよりますが、色タマゴで個別に確かめるのも可能な範囲かと思います。
実際の特定作業は
1 ID関連の機能を持つツールで、特定の表IDになる初期SEEDの検索機能をつかっておこなう。
この場合、キーにする表IDには実際の表IDを入力し、下4ケタ検索範囲には0x1000から0x4000程度を設定しリストを出力。
2 これをエクセルなどにとりこんで、上位1-2ケタ、上位3-4ケタ、奇数偶数でフィルターをかける。
3 のこった各SEEDから算定される裏IDを個別に色タマゴで確認
という手順になります。
この特定方法は、おせじにも効率的と評価できるものではありません。
他の方法での特定ができない場合で、かつ、データリセットもしたくないが、自然遭遇をまつのはさすがにがまんできない というような場合の非常手段です。
Pt以前であればポケトレ色を狙うほうが多分早いし、HGSSでギャラドス未捕獲であれば、ギャラドスで判定するほうが早い。
また、セーブデータをリセットしてかまわないのであれば、開始時の特定をするほうが容易。
- 52 :
- あげちまったさーせん
DP限定 218番道路で 6Vメタモンをポケトレ色捕獲
注)ポケトレ捕獲なのですが、事前に裏IDが明らかになっていないと難しいです。
世間は新作の乱数に関心が集中しているようですが・・・
通常乱数で捕獲可能な6V 4性格 のほかにも ポケトレ色で捕獲によって別性格も可能なはずだ ということで やってみました。
捕獲パーティー
シンクロ1 性格 わんぱく
シンクロ2 性格 ID次第 後述
捕獲要員 てきとうにどうぞ
事前の準備
後述の「ポケトレ色違いの性格書き換え」を参照して 6V個体の書き換え後の性格を調べる。
シンクロ2のポケモンは、上で調べた性格のものにします。
たまたまその性格が「わんぱく」であればシンクロ1で代用できます。
NPCはバトルサーチャーを使っての再戦で動かないようにしておきます。
初期SEEDを出すための時間設定をしたら、いったんその設定で起動しセーブしておきましょう。
設定の1例として 私の実践したものを載せますが、あくまでも私の調整環境での設定ですので
各自で調整結果から微調整することは必要です。
本体時間 2010年10月5日4時1分
DP選択 2010年10月5日4時1分20秒00
続きから 2010年10月5日4時1分40秒32
図1の○の位置に移動 下向き スプレー使用 ポケトレ使用可能 の条件でセーブ
初期SEED 0x5B0403DE
図1
・・・・・・・・・・・草草
・草草草草草草草草草草草草
・草草草草草草草草草草草草
・草草草草草草草草草草草草
・草草草草草草草草草草草草
・草草草草草○草草草草草草
草草草草草草×草草草
草草草草草草草草草草
草草草草草草草草草草
草草草草草草草草草草
初期SEEDが一致したら
冒険ノートを93回
主人公の方向転換(右、または左)
ポケトレ使用
ここまでが達成されると図1の×の位置におおきなゆれがでます。
冒険ノートを3回
主人公の方向転換(下)
先頭をシンクロ1にする
下の草にはいる
ここまでがうまくいけば メタモンが出現します。
別のポケモンがでた場合はここまでの過程になんらかのミスがあります。
出現したメタモンは目的個体ではありませんので 倒してかまいません。
倒したあとの状態が図2になります。
- 53 :
- 図2
・・・・・・・・・・・草草
・草草草草草草草草草草草草
・草草草草草草草草草草草草
・草草草草草草草草草草草草
・草草草草草☆草草草草草草
・草草草草草草草草草草草草
草草草草草草○草草草
草草草草草草草草草草
草草草草草草草草草草
草草草草草草草草草草
上記までで出現したメタモンを倒すと最初の連鎖で主人公の2マス上の草が光ります。
単純に色メタモンがほしいだけであれば、このまま移動して草を踏めば出現します。
出現個体を6Vにあわせるためには、次の消費操作をおこないます。
上に一歩移動
冒険ノート651回
主人公方向転換 3回 左、下、上 のように3回目で上を向くようにおこないます。
先頭をシンクロ2に入れ替える。
一歩進んで光った草にはいる。
色違い6Vメタモンが出る。
以上
- 54 :
- 参考事項
「ポケトレ色違いの性格書き換え」
ポケトレで光る草むらにはいったときに出現するポケモンの性格値は、次のようなしくみでトレーナーの表裏IDを参照しながら色違い条件を満たすものに書き換えられます。
1.乱数2つを使って通常と同様に基礎性格値が決められる。
このとき、R1が性格値下位16ビット(LID)、R2が性格値上位16ビット(HID)
2.1に続く乱数R3からR15までの13乱数の最下位ビットを逆順にならべたものをLID13とする。
3.トレーナーIDを上下16ビットにわけたものの(上位16ビットが一般的に裏IDといわれ、下位16ビットが表IDといわれます)、それぞれ上位13ビットをそれぞれSID13、TID13とする。
4. HID13 = LID13 xor TID13 xor SID13
5. LIDの上位13ビットを LID13 HIDの上位13ビットを HID13 におきかえる。
6. 置き換え後のHIDとLIDを組み合わせたものが 出現ポケモンの性格値になる。
本稿の目的個体は 次のような乱数列で生成される。
注)2つ目の項目がSEED 乱数はその上位4ケタ
1594 0x47FDABB0 基礎性格値1 LID=0x47FD
1595 0x6B721A63 基礎性格値2 HID=0x6B72
1596 0x0F31C69A 最下位ビット 1
1597 0x57D0DC05 最下位ビット 0
1598 0x77D59494 最下位ビット 1
1599 0x97ADBB77 最下位ビット 1
1600 0xB921741E 最下位ビット 1
1601 0x71D3F539 最下位ビット 1
1602 0x2F0D27B8 最下位ビット 1
1603 0x7B0459CB 最下位ビット 0
1604 0xB23875E2 最下位ビット 0
1605 0xA4C16DAD 最下位ビット 1
1606 0xD694C91C 最下位ビット 0
1607 0x5A48895F 最下位ビット 0
1608 0xE937CFE6 最下位ビット 1
よって LID13 は 1001001111101 になる。
1609 0x7FFFF961 個体値1
1610 0xFFFF1CC0 個体値2
また、この調整過程で ポケトレ色違いの場合のシンクロ動作も以下によると確信できた。
1.草に入った直後の乱数で可否判定(正:可 負:不可)
2.直後の15乱数により基礎性格値生成から性格書き換えまでがおこなわれる。
3. 1で不可判定の場合 そのまま個体値決定
1で可判定の場合 書き換え後の性格値から計算される性格がシンクロの性格と一致するまで2が繰り返される。
尚、シンクロ特性なしで草むらに入った場合は直後の乱数から基礎性格値生成がはじまる。
「その他」
calcpidで計算される1連鎖目色違いのリストの乱数消費を追ってみたところ、連鎖後のゆれ決定では ゆれ位置決定の後に1乱数がスキップされ、その後に種類判定がおきていた。
が、本稿の例では位置決定と種類決定の間に複数消費が生じたと思われる。
この差異が何を原因としているのかは不明。
KTXAD氏のブログによれば、連鎖時には 位置決定 戦闘処理 種類決定 の順に処理される とあるので戦闘処理に関連した不定消費かもしれない。
追記
掲載当初のLID13のビット列は間違っていました。(修正済)
ポケトレ色の性格計算 >>31
確率数%という稀なケースではありますが、光る草に入るための2歩移動において「懐き判定」を踏んでしまう可能性があります。これに関しては本稿ではフォローできませんので各自ご対処を。
- 55 :
- ポケトレ色違い性格値の計算方法
1.ポケトレ色違い計算の乱数とMID13の求め方。
R1 基礎性格値 下位16ビット LID
R2 基礎性格値 上位16ビット HID
R3 書換え用マスク13ビットの第13ビット 乱数の最下位ビットが使われる
R4 書換え用マスク13ビットの第12ビット 〃
・
・
R15 書換え用マスク13ビットの第1ビット
R16 個体値1
R17 個体値2
R3からR15までの最下位ビットを逆順に並べたものをMID13とする。
MID13は目的個体ごとに確定的に計算されるので調整者の表裏IDによる差異は無い。
性格値は16ビットで計算するのでMID13の下位に3ビットの0を付加し16ビットにしたものをLMaskとする。
レス29の事例であれば
MID13 は 1001001111101
LMask は 1001001111101000 (0x93E8)
2.LIDの計算
LID書換えの計算 LID = (LID and 0x0007)or LMask
書換えの仕組み上、LIDの上位13ビットは必ずMID13に置き換わるので、書換え後のLIDも目的個体にたいして固有になる。
3.HIDの計算
HIDの書換えは LMaskと調整者の表裏IDから計算される HMaskを用いて
HID書換えの計算 HID = (HID and 0x0007)or HMask となる。
HMaskは下記の計算で求められる
HMask = (表ID xor 裏ID xor LMask)and 0xFFF8
4.色違い個体の性格
上記2および3で計算された書換え後のLIDとHIDをHID LIDの順に並べた32ビットが性格値になり、それを25で割った余りが性格になる。
注)ここで用いたビット演算はウィンドウズの電卓で全て可能です。
親記事 >>29
- 56 :
- 1.乱数調整からみたポケトレの意義
乱数調整にポケトレを使うことの効果は概ね以下の3点+α
?ポケトレ限定種の調整
DPのメタモンのようにポケトレ限定種の野生捕獲には必然的につかわざるをえない。
?悪天候エリアでの調整
悪天候の状態ではその制御にメルセンヌツイスターの乱数が使われるため、コイントスによる初期SEED確認ができない。
また、あまいかおり(ミツ)によって出現契機を成立させることもできない。
ポケトレを使用することにより、揺れ位置から初期SEEDを確認し、揺れた位置に入ることで出現契機を成立させることができる。
?ポケトレ色個体捕獲により通常捕獲で可能なもの以外の個体値と性格値の組合せを実現できる。
これに関しては別稿のとおりだけれども、孵化で調整するほうが効率的と考えられるので調整対象となるのはメタモンだけかもしれない。
そのた
1連鎖目色でsidhantei用色個体を捕獲する。
一連鎖目で光る草がでれば、そこに入るまでの消費数を替えることで異なる色個体を捕獲できる。
自分で計算するなり、calcpidにおそわるなりして一連鎖色の初期SEEDと乱数消費数を1つ調べればいいだけなので、赤ギャラドスにはおよばないけれども自然遭遇にくらべればかなり効率的な裏ID特定が可能になる。
連鎖時のゆれ位置決定とゆれ種類決定の間にはいる乱数消費はポケルス判定かもしれない。
だとすれば、狙って感染もできるはず。(未確認)
2.ポケトレの乱数仕様
ポケトレの動作は通常乱数を以下のように使って決定されている。
初動時を含む連鎖0の場合と連鎖が1以上の場合とでは使われ方に差異がある。
?ゆれ位置の決定
外側から順に乱数1つずつを使って決定。
計算方法と座標についてはKTXAD氏のブログのとおり。
位置決定については、初動時、連鎖時とも同様。
悪天候下での初期SEED確認に使う場合は、仮調整であらかじめ目的SEEDが出せる設定にしておいたうえで本調整時の一致確認程度が実用的。
- 57 :
- ?ゆれ種類決定 (初動時:連鎖0の場合)
位置決定直後の乱数をもとに以下のように決定される。
ここで決定されるのは、
ポケトレ限定種が出現しうるゆれ : 大
それ以外 : 小
どちらのゆれになるかということのみ
決定手続きは2段階になっており、外側から順におこなわれる。
第1段階 乱数/0x290 < 基準値 がみたされれば 種類小に決まり 次ゆれの判定へ
第2段階 乱数/0x290 >= 50 なら種類大 みたされなければ 種類小 にそれぞれ決定
したがって乱数のならびによって 最大8の乱数消費が生ずる。
また、光る草の判定はなされないので、初動時にポケトレ色は出現しない。
基準値は 外から 88、68、48、28 (10進数)
尚、?で決定されたゆれ位置が草以外になった場合についてはいまだ検証不足。
移動しうる位置の場合には判定対象とされ、それ以外の場合には対象とされないようになっていると推定しているが確証はない。
?出現個体の決定 (初動時)
種類決定に使われた最後の乱数をR(0)とし
揺れた草に入る1歩のエンカウント判定に使われるまでn個の乱数が消費されたとした場合
R(n+1)によるテーブル選択から開始される通常と同様の出現処理がおこなわれ個体生成にいたる。
ポケトレ限定種が出現するのは、大のゆれに入り、かつ選択されたスロットに限定種が割り当てられている場合のみとなる。
草に入る以前に冒険ノートほかによる任意の消費操作が可能であることから特定の個体を出現させることも可能である。
尚、エンカウント判定は方向転換、移動につき1回発生するが、複数段階になっているため、1回の判定で消費される乱数は1になるとは限らない。
ただし、実際の調整においてエンカウント判定を多数生じさせる要請はないはずである。
直前のエンカウントから数回(5または6)の間は、第一段階の基準値が小さい(おそらく5)ので乱数/0x290がそれより大きいところで判定させることによって1消費におさえることができる。
出現個体が生成された後 次のゆれ位置決定も連続して行われる。
個体のLIDになる乱数をR(1)とした場合 R(6)からR(9)がゆれ位置決定に使われる。
- 58 :
- ?戦闘処理
出現した個体を倒すまたは捕獲することが 次の過程(ゆれ種類決定)にすすむ前提となる。
この、捕獲または倒す処理との依存関係は解明できていないが、少なくとも1つの乱数がゆれ種類決定以前に消費される。
冒頭に書いたように、この消費がポケルス判定に利用されているのかもしれないが、未確認。
?ゆれ種類決定 (連鎖1以上の場合)
?で決定された位置が草である場合、それぞれに対して判定がなされる。
判定は2段階にわかれている。
判定は外側から順におこなわれる
a.連鎖確定判定
乱数/0x290 < 基準値 が満たされると 連鎖確定ゆれになる
b-1. 光る草の判定 (aが満たされた場合)
乱数 < 色判定値 なら 光る草になる
それ以外は 前回に入った草と同じゆれになる
b-2. ゆれ決定 (aがみたされなかった場合)
乱数/0x290 < 50 なら 小さい揺れになる
それ以外は 大きいゆれになる
aの基準値は初動時と同じ。
ただし、捕獲ボーナスに関しては未確認。
b-1の色判定値は連鎖数に応じて変動するが、1連鎖目においては 7以下なら条件がみたされる。
?出現個体の決定
ゆれ種類判定終了以降いずれかのゆれた草に入る1歩までの乱数消費は連鎖がない場合と同様。
草に入って以降は
光る草に入った場合
直後の乱数2つから基礎性格値が決定され、以降色違い条件を満たすものへの書き換え処理で13の乱数、個体値決定に2乱数が使われる。
シンクロありの場合は、最初の乱数で可否が判定され、否判定の場合は上記の処理。
可判定の場合は、上記の基礎性格値生成から性格値書き換えまでの15消費が一致性格になるまで繰り返されたあとに個体値生成。
連鎖確定判定を受けた草(光る草以外)に入った場合 (未確認)
出現種は連鎖している種になるので、性格決定から処理がはじまり、以下は通常の生成と同様か。
それ以外の草に入った場合、おそらく(未確認のため)テーブル選択以降通常と同様。
?連鎖継続の判定(推定)
連鎖の途中でゆれる草の種類が変わる場合があることから、連鎖確定以外の草に入った場合でも、その後のテーブル選択の結果が連鎖種と同じものになった場合も継続判定が受けられるのではないかと考えられる。
ポケトレ初動から1連鎖目の個体出現までの過程は、おおむね上記のようになっている。
ただし、出現個体に関与する特性の影響がある場合についてはこのかぎりではない。
(シンクロ特性の影響については、別レスのとおり)
注)本稿は、あくまでも実際の調整結果を乱数リストと照合したことによる推定です。
コードを根拠にしたものではありませんので例外およびオプショナルな要素による影響は考慮していません。
DPとPtそれぞれのポケトレ、エンカウント判定などに仕様の差異があるかどうかは不明です。
NPC消費の影響下でのポケトレ調整は、実質的に不可能です。
- 59 :
- ようやく BWの初期SEEDを自前で計算できるようになった。
そこで、あらかじめ始めた日付と時間を記録しておいたWのIDを調べてみたのだが、想定しうるズレ範囲にはみつからなかった。
開始時に試行したときの別IDやゲーム開始後に時間設定をそろえて試した時のIDは見つかるので、計算は妥当におこなわれていると思えた。
となれば、よそさまでは固定とされている部分を疑え ということで
キー入力部分を変えてみた。
DS開発系のサイトによれば Aボタンの判定は最下位ビットとなっていたので
W(12)を 0xFE2F0000 にしてまわしてみたところ それらしいのが見つかった。
色捕獲なりで確認してみないと断定はできないが、他の変動要素の一致やID生成フレームの近似から、
あたっているようなきがする。
HGSS以前からタマゴを送れれば簡単に確認できるのに とか
せめて 努力値さげ木の実が入手できれば とか
あらためて 不便さを痛感する。
追記
上記のw(12)=0xFE2F0000 として計算した初期SEEDからMTの初期SEED求めてその乱数列のR(11)からR(16)から計算される個体値が御三家の個体値と一致した
追記2
2chスレにあった御三家固体値特定方法
おみごと!!
パワー系アイテムを全部そろえる
御三家にアイテム持たせてタマゴ
タマゴのアイテム該当部分が御三家個体値
これを6つの能力すべてにおこなえば特定完了
といっても HGSS以前とは違って
御三家個体値から直接に裏IDを求めることはできません。
あくまでも、調べるための重要な手がかり
追記3
KTXADさんのMSFでも 起動時にAボタンが押された場合を検索範囲にふくませることができた。
入力項目としての設定は無いが、パラメーターテキストの後半の2C00を2C01にしてよませればいい。
追記4
KTXADさんのオフセット計算ツール 結果が正しく計算された。
この機能がMSFと統合された環境を実現できれば 既存データ上での
裏ID特定作業における有用なフィルターになるのだが・・
とりあえず 子供が始めたブラックの裏IDをしらべてみようとしたら
MSFの出力上限が80000になっていた。
RTC部分の変動範囲1日分にすら足らない。
実現した初期SEEDを調べることを目的としたツールなので、妥当な仕様ではあるけれど
残念
- 60 :
- smogonのリサーチスレ#335に性格値補正に関するデータがある
U32 L32 PID Next RNG # XOR'd with
0x0 0x0 10000 0 10000
0x1 0x0 EC068965 6C078965 80010000
0x0 0x1 DD598B65 5D588B65 80010000
0x1 0x1 496114CA C96014CA 80010000
0x10000 0x10000 94CB6C07 14CA6C07 80010000
0x0 0x10000 8BCB6C07 8B656C07 AE0000
0x10000 0x0 O9640000 89650000 80010000
0x10000 0x1 E6BC8B65 E6BD8B65 10000
0x1 0x10000 776DF56C F76CF56C 80010000
XOR'd の部分は確定した性格値と基になった乱数の差分になっているが
現在のところ確実視されている 乱数の最上位ビットと最下位ビットが
一致しない場合に最上位ビットが xor 1 される という補正に矛盾する。
これを
いったん上記補正がなされた値について
さらに
性格値下位 xor 表ID xor 裏ID を判定式とし
結果の奇偶により 最上位ビットにon または off の補正がなされる
と解釈すると 結果に矛盾が生じない。(6行目は?)
データ数が少ないので真偽のほどは定かではないが
色収集派としては きになるところだ。
調整スレ14の900辺りに書いたものを追加
892 898 のデータ
表IDは***50、裏IDは***97で
左から 乱数 カドネさんのツール性格値 実現した性格値
0x8f4d5c5e f4c5c5e 8f4c5c5e
0x2478776a 2479776a a479776a
これを見ても 上記推定と合致する
というわけで
899をもうすこしかみくだくと
カドネさんのツールでは 892ほかで見る限り
上位1bit≠下位1bit ならば 乱数 xor 0x80000000 で補正された値を
性格値とみなして色判定しているように見える。
結果として 出力される性格値は補正の処理からして
奇数であれば 最上位ビットが1 偶数であれば最上位ビットが0
になる
- 61 :
- これに ID補正が
LID xor sid xor id を判定式として
奇数なら 性格値 or 0x80000000 (最上ビットを立てる)
偶数なら 性格値 and 0x7fffffff (最上位ビットをクリアする)
であるとの仮定をくわえると
892氏の表裏IDの xor値は 奇数であることから
ID補正の結果は かならず 通常補正後の値の最上位ビットを反転させることになる。
よって 表IDと裏IDをそのまま条件として色検索した場合 全ての検索結果は
ID補正の影響によって 色条件をみたさないことになる。
これを 逆にみれば 検索条件にする 表裏IDのxor値について その最上位ビットを
反転させたもので検索すれば ID補正の効果で 892氏の条件に一致するものが
みつかるだろう。
という意味。
ただし、あくまでも 氏の表裏IDのxor値が 奇数になっているという前提での話し。
これが 偶数になっているIDであるならば 上記と同様の仕組みの結果
ID補正が 通常補正の結果に影響を与えなくなるので
通常補正後の性格値を表裏IDそのままの値を使って色判定すればよい。
- 62 :
- 今作で、既存データを保持したままでの裏ID特定は、状況次第でとりうる手段や、難易度に格段の違いが生ずる。
関連するポイントは主に次の2点
1.ゲームを始めた時の初期SEEDにキー入力の関与があったか否か。
2.御三家をリセットなしで受け取っているか否か。
//・・・// の部分は sss4のキー入力対応などによる 追記です
キー入力の関与があった場合には、既存ツールのほとんどがSHA-1計算の過程で
W(12)を関与なしの場合にとる値を固定値として設定しているため、
特定に必要な作業の大部分を自力(ツール自作もふくめ)でおこなうことになる。
さらに、始末の悪いことに、関与の有無を簡単に判定するすべがない。
特定作業を試した結果から運のなさを思い知らされる場合も当然ある。
//sss4のキー入力対応により、w12を可変値とした検索が可能になりました。
ただし、御三家受け取り前にリセットが行われている場合の特定は未だに
困難です。//
御三家については、HGSS以前のように、それを元に初期SEEDを逆算することまではできないが、
候補として抽出された初期SEEDから真正なものを判別しうるフィルターとして機能する。
また、リセットが入っている場合でも、乱数をやるものが長時間のねばりをするとは考えにくいので
真正な初期SEEDが決定されたであろう時間の範囲を狭めるための判断材料としては有益。
運良くキー入力関与のない初期SEEDでゲームを開始できていた場合で、かつリセットなしで御三家を受け取っているのであれば、比較的容易に裏IDが特定できる。
//キー入力対応により「運」のあるなしに関わらず、リセットなしの場合は特定が
容易になりました。
ただし、sss4使用が前提となりますので 下記の手順とは若干ことなります。
これについては 別レスにする予定です。//
必要な手順はおおむね以下。
1.MSFで初期SEEDにかかわる各パラメーターを調べる。
2.御三家の個体値を調べる
保持しているパワーアイテムに該当する部分については持たせて孵化で確認できる
パワーアイテムが無い場合でも、タマゴをいくつか作ってみればよい。
多めにみつもっても、20個程度のタマゴを調べれば、各能力について25%の確率で御三家の
個体値が表出することになるので、十分特定しうるだろう。
3.SPMに1で調べたパラメーターにズレの可能性を考慮した値を設定
日付はトレーナーカードから
時刻は全検でかまわない
消費 御三家個体値は、おそらく10から20程度の範囲の乱数から生成が開始される
0から30程度に設定しておけば十分かと思われる。
「個体値から」にチェック
で検索
もし、これで検索結果がでないのであれば おそらく 初期SEED決定にキー入力が関与している。
また、逆の意味で、これで検索結果がでたとしても、リセットなしという条件が満たされていた保証にはならないことに留意。
//検索された御三家個体値の消費数が0またはその近辺の場合は、リセット後に受け取ったものと推定されます。//
- 63 :
- BWでは性格・性別・特性あたりを指定した配布があるだろ
これってどういう補正してるかわかる?
特性2になるはずのSEEDで特性1が出るから補正されてるのは確定
- 64 :
- styleの消えたスレの内容転載してくれたのか
単にhtml上げるとかでも良かった気がするがありがとう
- 65 :
- 規制された…か?
- 66 :
- 4.3でえられた初期SEEDなり、パラメーターなりを使ってLCGの乱数列から表IDになりえたものをさがす。
R(20)からR(50)程度の範囲には該当するものがみつかるはず。
もし、みつからないのであれば、前項の「もし」以下に該当している可能性大。
-----------------------------------
運には自信ありだけれど、ウッカリ御三家前で粘ってしまった人向け
//以下の部分に関しては、キー入力の影響がない場合にのみ可能です。
影響の有無を事前に知り得ない原状では 完全に無意味になる可能性があります。
運に絶対的な自信のある人が自己責任で使用してください。//
1から3は上記と同じ
ただし御三家個体値の生成開始位置は早まるのではないかと思う(確証はなし)
3で得られた結果から 御三家を受け取った時間がわかる
4.上記時間と、粘りに要したおおよその時間を考慮してSPMに入れる
日付と時間以外のパラメーターについてはズレはばをそのままにしておくほうがよい
表IDに自分のIDを入れる
裏ID総あたりにチェック
消費数は20から40か50程度
検索
これにより、真正な初期SEEDであった可能性のある初期SEED候補を網羅的に拾い出すことができる
(ただし、あくまでも、キー入力の関与が無かったという仮定つきであることに注意)
5.出力されたリストをもとに裏IDを調べ、それぞれについて 色孵化なり、色捕獲なりで確認。
//固定伝説のID補正に関する推定が実データをほぼ矛盾無く説明できるようになりましたので、固定シンボルの色調整で確認が適当と思われます。//
補助的に、KTXADさんのツールでオフセットを確認してみるのも有効だと思う。
(ただし、この場合はSPMが表示する初期SEEDを1つ逆算してSHA-1が吐く初期SEEDに補正)
-------------------------------------
もし、W(12)に範囲設定可能で、かつ消費範囲を指定した個体値検索が可能なツールが
提供されれば、運が悪かった人も救われるのだけれども
現状では、運を自力で補う必要がある
>>64
自分にはやり方がさっぱりなので出来る人がいたらうまくまとめてください
- 67 :
- 箱前で粘った御三家個体値のオフセットが知りたい
と まあ 2chに書いてみたものの・・・
なので ここに書いてみる。
裏ID特定のための 初期SEED候補の絞込みを概算すると
1時間あたり 分60*秒60 で 3600
timer0 の変動幅 2
キー入力の有無 2
から 初期SEEDの候補数が 14400
各初期SEEDに対して、IDの基になった乱数がとりうる位置 30
14400×30=432000
表IDの種類が 65536
よって平均的な絞込み後の候補数 約7
さらに ktxadさんの オフセット計算による絞込みも可能であろう
したがって、ゲーム開始時間を前後1時間程度の誤差を持つ精度で
推定できれば 候補を個別に色調整で確認することもできるはず。
この時間範囲の推定にあたって、ゲームを始めた実時間は記憶で賄えるケースも
多いかと思う。
ただし、日常的に乱数調整しているDSの時間設定が実時間に一致している確証は
持ちにくい。
そこで、御三家が頼りになる。
リセットなしで受け取っている場合には、その個体を検索することで
開始時の初期SEEDそのものを知りうる。
たとえ、リセットが入っている場合でも、その個体を調整した時の起動時間を
知ることができれば、それを根拠にゲームを始めた時間についても
上記程度の精度を持つ推定が可能ではないだろうか。
仮に、リセット後に御三家を受け取った時の初期SEEDが、キー入力の影響を
受けていないとすれば 既存の諸ツールで検索可能である。
問題は、受け取り時の初期SEEDがキー入力の影響を受けていた場合である。
残念ながら、これを書いている時点でキー入力ありの場合の初期SEEDを計算しうるものは
MSF以外にない。
そのMSFにしても 固体値検索可能なのはメルセンヌツイスターのR(1)からR(6)の範囲のみとなっている。
もし、箱前粘りをした場合の御三家個体値が R(1)からR(6)で生成されるものであるならば問題なく検索可能ということになる。
たとえ1か2程度のオフセットがあるとしても、それが固定的なものであるならば検索個体値の設定をずらすことで十分に有用な検索結果を得られるだろう。
いまのところ、保有ROMをリセットして オフセットを調べうる状況にない。
というわけで
どなたか 箱前で粘った御三家個体値のオフセット 情報提供していただけませんか?
- 68 :
- BWでツイスターゲームが
はやっちゃうんでしょうか。
それにしても 今回は反応がはやい。
HGSSの時の728とはずいぶん違う。
本題にもどして
スピナーに無理な指定される場合もかなり出てくることはしょうがない。
ただ、せっかく時間をかけて検索したのに と落胆するのも頷ける。
そこで、代替案
レス35の追記3はAボタンのみを検索範囲にいれるやりかた。
2C01の部分を2C1Fにすれば →、ST、SE、B、A までの範囲を含む検索になるはず。
消費0限定になるのは仕様。5ビットなので年全検で6V1つ程度の期待値。
少なくとも無理ゲーにはならない。
- 69 :
- BW 裏ID特定 キー入力対応前提版(暫定)
1.はじめに
コイルさんのsss4がキー入力に応じた初期SEEDに対応したことにより、レス40で述べた運の悪さがかなりカバーされることになりました。
ただし、御三家受け取り前にリセットが入っている場合に関しては、特定過程で必要なフィルター作業はsss4に登載されている機能では賄えませんので、自力での対応が必要です。
尚、今作のLCG(線形合同法)は64ビットですが、文中で「乱数」と表記するものは、ゲーム中で使われる32ビットを意味します。
また、「初期SEED」は SHA-1で計算されるものを意味します。
MT(メルセンヌツイスター)の初期値にあてられるのは 初期SEEDから1回のLCG計算を経た値になりますが、こちらについては「SEED1」と表記します。
2.特定の原理について
裏IDの特定方法を読む場合、それが可能な原理を理解しておくことは、特定に必要な各過程が持つ目的と満たすべき条件を正しく読み取る前提として必要と考えています。
既にそれらを理解しているのであれば、おそらく本稿を読むまでもなく自力で裏ID特定をなしえているはずです。もっとも、特定をできていることが理解を保証するわけでもありませんけどね。
3.御三家個体値からの特定
3-1 ID決定の仕組みからの特定原理と必要な作業
BWのトレーナーID32ビットはゲームを最初に始めた時の初期SEEDからLCG(線形合同法)で計算される乱数列のうち、変動幅はあるものの 20番目から50番目程度の範囲にある乱数を基にして決められることがわかっています。
したがって、このときの初期SEEDを特定できれば、そこからの乱数列上の該当範囲にある乱数のうち実際の表IDになりうるものがあるはずです。
これを見つければ、その乱数の上位16ビットが裏IDです。
御三家の個体値は、SEED1を初期値とするMTによる乱数列から連続した6つの乱数を用いて決定されています。
リセットなしで受け取っているという条件がみたされる場合、IDと御三家個体値は共通の初期SEEDをルーツに持つことになるわけです。
したがって、この条件下で御三家個体値からSEED1を求めることができれば、IDを決定した乱数列も計算できますので、裏IDも調べられるわけです。
MTというRNGの性質から、個体値を逆算してSEED1を求めることは実質的に不可能とされています。
しかし、「実際に出た可能性のある初期SEEDの全てに対して」そこから「実現しうる固体値も全て」計算すれば、その中に実際に出た個体値もあるはずだ。という理屈はなりたちます。
このことから、特定に必要となる作業の概略については次のようにまとめられます。
?出た可能性のある初期SEEDを全て求める。
?1の全てからSEED1およびそれを初期値としたMT計算をおこない、ありうる個体値を全て求める。
?2で求めたものから、実際の御三家個体値を探す。
?3で見つかった固体値を含む乱数列のSEED1からLCGの乱数列を計算する
?4の乱数列から表IDになりえたものを探す。
3-2 特定手順
上記?から?までを手作業で行うことは実質的に無理ですので、なんらかの計算ツールは必要です。
?から?までの作業に対応しているのは、今現在、私自身が確認した範囲では、錆びたコイルさんの sss4 のみです。
また?以前に、ご自分の環境でSHA-1に与えられた可能性のある各パラメーターの範囲把握、及び御三家の個体値特定を済ませておいてください。
これに関しては、レス40と同様ですが、MSFでパラメーター確認をする場合にはゲーム選択後に連打した場合も含めて数回程度の試行をしておくべきです。
上記の準備が済んだら、SSS4により御三家個体値を検索します。
各パラメーターはMFSでの試行結果から測定されたものを設定
日付はトレーナーカードから、時間に関しては全検が無難です。
- 70 :
- キー入力対応あり
消費数 0から50 (程度で十分かと思います)
検索個体値は完全に特定したもの推奨
この手順中 sss4の仕様上、各パタメーターは特定値を指定することになります。
よって、timer0 と フレーム に関しては 出た可能性のあるもの全ての組合せについて個別検索します。
個別検索の過程で「適当な消費数」かつ「キー入力」での合致個体値が見つかれば、10億分の1という存在確率から判断して、同時に表示された 値が 真正なSEED1とみなせます。
ただし、ありうる範囲にそれ以外の合致個体がみつからない ということが確認されないうちは 100%真正である保証はありません。
適当な消費数(10から50程度)ではない場合、御三家がリセット後に受け取ったものである可能性が高くなります。0から2程度であった場合は、おそらくリセットが入っています。
キー入力については ゲーム開始時にありえたのは 全開放かAボタンのみだと思います。
断定はできませんが それ以外のキー入力になっている場合については 非真正と判断したほうがいいでしょう。
この作業の結果、ひとつも該当する個体値が見つからないこともあるかと思います。
その場合は
イ)御三家個体値の特定ミス
ロ)個別指定するパラメーターの範囲不足
などが考えられます。
上記で真正なものがみつかれば あとは ?、?のみです。
これに対応したツールはいくつかあるようですので お好みで。
4.性格値を推定できる色個体からの特定
4-1 色違いの個体から裏IDを調べうるための条件
前作までであれば、自然遭遇した色個体から容易に裏IDと同等の色条件を満たす値を計算できました。
これは、個体値と性格値が連続した乱数で生成されていたことが前提になっていましたので、それが崩れたBWでは使えません。
ただし、「色違いの個体の性格値がわかれば、裏IDもわかる」という原理は依然として成り立っています。
某所で、「色違い条件 0から8191すべての性格値になる個体を片っ端から捕まえていけば、いずれはみつかる」との記述を見かけましたが、効率の是非を無視すれば正しい方法論でしょう。
さすがに、このままでは非効率にすぎますので、無駄をはぶいて実用レベル化を目指すというのが この項のテーマです。
個人的には、前項よりむしろ本項を書くことが主目的です。
ただし、現環境では、必要な作業が既存ツールの搭載機能ではまかないきれない部分を含みますので、多少のプログラミング能力を必要とします。
こちらでの 主原理は、
「性格値のうちから、色違い条件を満たす可能性の高いものを候補として拾い出し、個別にその条件をもちいて色調整で真正を確認する。」
というものです。
- 71 :
- 多少、原理への思い入れからひねった表現をしていますが、やることは 前項に似ています。
ゲームを始めたときの初期SEEDは有限個に絞込みが可能ですから、それらから計算されて決定されるIDも有限個でしかありません。
この有限個のID全てのなかから表ID部分が実際のものに一致するものを拾い出せば、そのなかに真正なものがあるはずです。真正性の判定は色調整にたよらざるをえませんので、候補数をどこまでしぼりうるか という点が実用性の判断基準になるでしょう。
別レスで書いたように 表IDでフィルターできれば 1時間あたりの候補数は7程度(フレーム固定前提)と見積もられますので、時間範囲をどの程度まで絞り込めるかという点が重要です。
必要となる作業の概略については次のようにまとめられます。
事前に必要な準備については前項と同様です。
御三家個体を調べることによって、受け取り時のゲーム開始時間を知ることは候補数を絞り込むための重要な要素になります。確実に最初にゲームを始めた時の時間が把握できている場合、
または、箱前粘りが長時間にわたっておこなわれたような場合以外については、
やっとくほうがいいです。
?出た可能性のある初期SEEDを全て求める。
?1の全てについてLCGのR(20)からR(50)程度の範囲を求め、表IDになりえたものを拾い出す。
?2で求めた乱数をIDに変換し、それを条件とした色違い固定伝説捕獲をおこなう。
?捕まえた個体が光れば3で計算したIDが真正。
4-2 特定手順
?の作業に対応した機能は 前項と同じく私の知る範囲では MFSとsss4が登載しています。
全ての可変パラメーターに範囲を持たせた検索が可能という点では MFS なのですが 別レスに書いたとおり出力データ総数80000という制限がつきますので、時間範囲を1時間に絞れたとしても複数回の検索が必要になります。また、
出力仕様が別処理のデータ用にする場合に不便だという難点もあります。
MFSで拾い出しを行うにあたって、Aボタン入力があった場合を検索範囲に含ませる方法については、別レスを参照してください。
sss4に関しては、前項と同様に特定値入力する可変パラメーターの組合せごとに検索する必要があります。出力仕様については こちらの方が扱いやすいでしょう。
sss4での拾い出し作業をおこなう場合の設定は次のようになります。
各パラメーターはMFSでの試行結果から測定されたものを設定
日付はトレーナーカードから、時間に関しては御三家検索をもとに、粘りに要したと思われる時間を考慮したうえで 十分な誤差範囲をもたせた時刻を開始点にします。
キー入力対応あり
消費数 0から0 (初期SEEDを拾い出す目的ですので)
検索個体値 全能力とも 0-31 (同上)
timer0とフレームに関しては 前項と同様
ここまでで、初期SEEDを網羅的に検索できます。
?が この方法の最難関です。
1で拾いだされる候補数は相当多数になります。これらの初期SEEDそれぞれに対して表IDでフィルターを掛けることは、並外れた折れない心の持ち主でも完遂困難な作業量になります。
残念なことに、?と同時に?のフィルターを実現する機能を有するツールを私はしりません。
コイルさんのパラメーターサーチがキー対応すれば可能ですが、現状では実現していません。
アルゴリズムは単純ですし、SHA-1やMTならいざしらず、LCG計算できれば良いだけなので、自作しましょう。
これに限らず、乱数やるときに公開ツールのすきまを埋める小物を自作できるようになると、調整の幅もひろがります。私自身はこういった小物作成に ubasicを利用させていただいております。
多倍長計算に対応していますので重宝しています。
IDによるフィルターが済めば、あとは 色調整のみ
色調整の前に ktxadさんのツールで候補IDのオフセットを当ってみるのも有効かと思います。
ただし、SSS4で拾い出しをおこなった場合にリストに出る初期SEEDは SEED1です。
オフセットを調べる場合にはLCGでひとつ逆算しときましょう。
- 72 :
- ?色捕獲
2のフィルターを経たものはIDなので、直接に同位置の乱数を性格値とする色個体を狙うことは、オフセットの関係で無理な場合が多いとおもわれます。
またID補正もからみますので、いったんフィルター後のIDから色検索した個体捕獲を狙いましょう。
懸案のID補正に関してはコイルさんのツールが対応済みですので、そちらを使ってください。
色タマゴでももちろんかまいませんが、固定シンボルの方が調整しやすいでしょう。
?光ったら完了
光った固体を調整するときにした条件設定にもちいたIDが真正です。
5.その他の方法による特定の可能性(色個体との遭遇前提)
リセット粘りで遭遇した色固定シンボルがいれば その個体値から初期SEEDを求められる。
となれば、LCGの乱数列から実現した性格との位置関係で性格値になった乱数を絞りこめる。
あとは、4と同様に個別に色調整して確かめることはできるはず。
パッチールの色タマゴ
ペインターは前作そのままつかえるみたいです。
- 73 :
- BW裏ID特定に関連する諸事項
前編は文字数制限もあってかなり雑に書いてるので、補足
・LCG関連
Seedは64ビット
Seed[n+1]=(Seed[n]*0x5d588b656c078965+0x269ec3) mod 0x10000000000000000
Seed[n-1]=(Seed[n]*0xdedcedae9638806d+0x9b1ae6e9a384e6f9) mod 0x010000000000000000
乱数は Seed >> 32
・リセットなしで受け取った御三家個体値とIDの相関
初期SEED
SEED(1) →R(1) → MTの初期SEED → MTR(10)から(50)程度の範囲に御三家個体値6乱数
SEED(2)
・
SEED(20)程度
・
SEED(n) →R(n) → 表ID=(R(n) and 0xFFFF)-1 簡易表現
・
SEED(50)程度
リセットなしの御三家個体値のオフセットに関しては Ktxadさんが アララギ博士のチラーミー制御による消費をお書きになっているものしかみあたらない。MTの使われ方からして ほとんどの場合 10を少し経過したあたりから生成開始になると予想。
・箱前粘りの場合の御三家個体値オフセット
調整スレ13に オフセット0との検証報告あり
1事例のみからの書き込みのようだが、その後の応接からほぼ妥当とみて採用。
数消費程度のズレがある可能性は否定できないが、リセット有無判定はできそう。
・SHA-1メッセージ
Timer0 少なくとも幅2は見るべきだろう
フレーム 固定でもいいような気もする。
キー入力 ゲーム開始当初からツイスターゲームしたような人はフォローしきれません。
ただ、ソフトウェアリセットしたケースはあるかもしれない。こちらも 各自対応希望。
・色捕獲に関して
ID補正に関しては別スレのデータ、調整スレ14の900番前後から LIDと表裏IDで正解だとは思うが
その後の事例報告が未確認なので違うかもしれない。
色条件16ビットの最上位を反転させたもので検索というアドバイスで結果が得られたことは傍証にはなる。
・その他
今回の記事の最大の問題点は、実調整での裏とりが不十分すぎる点。
- 74 :
- 色違い判定について
BWに関する記事に関しては 前作以前のそれと比べたときに
HID xor LID xor SID xor TID ≦ 7
という色違いの判定式を見かけることが多い。
けれど、どうもこの式が正しく解釈されていない傾向があるような気がする。
ビット演算に付される不等号の意味が取り違えられているケースが多い。
上記式の ≦ 7 の部分を、「左辺の結果がとりうる範囲」と解釈してしまうのは
間違いとまではいえないが誤解の原因になる。
≦ 7 の部分の意味をより正確に言葉であらわせば
「左辺の結果を2進数にしたときの下3ケタを0とみなした値が0であれば」
となるだろう。
この意味を明確に表すために 上の式を変形してみると
HID xor LID xor SID xor TID ≦ 7
から 下位3ビットを0とみなす形にするために
(HID xor LID xor SID xor TID)and 0xFFF8 = 0
さらに 性格値とIDの対比の関係を表すように
(HID xor LID)and 0xFFF8 =(SID xor TID)and 0xFFF8
and 0xFFF8 を >>3 にしても等号の成立条件は変わらない
よって
int((HID xor LID)/ 8)= int((SID xor TID)/ 8)
でもかまわない。
性格値もトレーナーIDも32ビットの値なので それを上下に分けて xor すれば
結果は 16ビット 0から65535 になる
int(n/ 8)というのは 8で割った商の意味なので
結果は 0から8191のどれかになる。
いいかえれば、性格値もトレーナーIDも
「上下に分けて xor し、その結果を8で割った商」
により 8192種類にグループ分けできる ということになる
(これが 色違いの確率 8192分の1 の根拠)
この同一グループに属する性格値とトレーナーIDが出会うことが色違い出現の条件になる。
性格値相互の関係についても、
「同一グループに属する性格値はすべて共通のIDによって色違いになるが、異なるグループに属する性格値を同時に色違いにできるIDは存在しない。」
という原理が導かれる。
HGSS以前に関しては ここまでを考慮すれば色判定が可能になっていた。
しかし、BWでは これに加えて性格値補正とのおりあいをつけることも必要になった。
確定したIDから色条件を満たす性格値をさがすことについては、いずれツールにおまかせ で可能になるだろう。
しかし、ID調整が比較的容易になったBWにおいては、目的の個体にあわせて色条件を満たすIDを狙うケースもふえるだろう。
孵化や御三家のように性格値の最上位ビットが補正対象にならないものであれば、単純に上記条件を満たすだけでかまわない。
最上位ビットが補正対象になるケース(固定シンボル、野生など?)を目的としてID調整する場合には
「上下に分けて xor し、その結果を8で割った商」
に加えて、「余りの奇偶」も条件差異を生ずることになる。
たとえば、表IDを特定値にきめて調整する場合、組み合わせ可能な裏ID8種のうち奇偶どちらかでしか期待した効果が得られないということ。
IDに起因する性格値補正の仕様が調整スレ14の900あたりで議論されたもので確定なのかどうかはもう少し様子を見る必要があるとは思うが、例外、または、別要素に起因する補正の可能性を除外すれば妥当な推論の範囲ともみなせそうだ。
(>>36 併読推奨)
- 75 :
- >>66
内容を転載してるってことはローカルに保存してるってことでしょ?
それを単にアップローダ等に上げればよかったんじゃないかと思っただけ
- 76 :
- >>74
その判定で補正して、ゴルーグやサザンドラを色違いにしてるのかねぇ?
性別固定、色違い固定で性格ランダムとか今作の配達員は新しいわ
あと、その併読推奨の36ってのが、どれを差してるのかわかりにくい
スタイルのスレでの36ってことはわかるが
- 77 :
- >>76
>>60らへん
>>74
うむ、よくわからん
もう終わるので誰かうまくまとめてくれるはず
RSE での 釣り調整
某所の電池切れRSでのヒンバス釣りに関する質問に触発されて調べてみた。
下調べ1
ヒンバスポイントでセーブ(ヒンバスポイントでなくとも多分同じ)
Sリセット後、連打でゲーム開始
操作可能になった後、可及的速やかにボロ釣竿使用
「釣り上げた」に即Aボタンで出現個体を捕獲
これで5体捕獲し、生成フレームと性格決定位置および競合フレームを調べた。(注1)
結果、いずれも竿使用のタイミング差異以上にばらついた性格決定位置が求められた。
よって、性格決定位置は竿使用のタイミングには相関しないと推定できた。
下調べ2
上記と同様に「釣り上げた」表示まで操作し待機
Sリセットから20秒経過を測定し、そのタイミングでAボタン
これで4体捕獲し、生成フレームと競合フレームから性格決定位置を推定
結果、4体とも 1190Fから1210Fの間にそれらしいものが見つかった。
データ数が少ないので、やや信頼度に欠けるが、性格決定のタイミングは
「釣り上げた」にAボタンのタイミングに相関すると推定される。
この推定を基に裏ID判明済みのエメにて色釣りを試した。
使用釣竿は「すごい釣竿」
出現個体を調べながら待ち時間を修正していったところ5回目で色個体出現。
シンクロ特性を使っているので、すくなくとも、その可否判定以降のタイミングは
「釣り上げた」にAボタン のタイミングに相関と推定できる。
テーブルからの出現種決定については、ハッキリしないが、おそらく同様だと思われる。
以上から想定される RSEにおける釣り調整の手順
1.釣りができる状態でセーブ
2.Sリセットと同時に待ち時間計測開始
3.竿を使い、「ひいてる」に対応し、「釣り上げた」表示まで進めて待機
4.目的のフレームを出すのに相当の待ち時間が経過した時点で Aボタン
尚、竿を使うタイミングのズレは小さいものであれば殆ど無視できるようだ。
- 78 :
- 注1)
釣りの場合でも、乱数から出現させる個体の「性格」を決め、
その性格になる「性格値」生成を繰り返し
一致するものができた場合それを出現個体の性格値とし
その後に個体値を決定する
という仕組みは同じ。
RSでは 性格値と個体値に使われる乱数は4つ連続(メソッド1)
エメでは 性格値に2つ、一つのスキップがあり次の2つで個体値(メソッド2)
が原則であるが、RSでもヒンバスに関してはメソッド2が原則となるようだ。
また、この仕組みがあるため、捕獲した個体の性格値に対して、それ以前の偶数差位置に
ある同じ性格になる性格値が競合することになる。
したがって、性格決定された乱数位置は、この競合性格値以降になるはずである
ことを考慮することで推定が可能になる。
テーブル選択を加味すれば、より精度の高い推定になるのだけれど
その部分は、もう少しデータをとってみないとわからない。
- 79 :
- 「釣り上げた」にAボタンを押したあとの処理
ヒンバスポイント(RS)の場合
R1 :r mod 100 が50未満の場合 出現種がヒンバスに固定
R2 :使途不明
R3 :通常生成のスロット選択分消費 値は以後処理に関与せず
R4 :r mod (最高LV-最低LV+1)の値をベースレベルに加算する補正
R5 :r mod 25 で 出現性格決定
R6-R6+2n+1 :出現性格になるものがでるまで性格値生成
R* :スキップ (RSは原則的にM1だけど ヒンバスはなぜかM2)
以下個体値生成
R1が50以上の場合R2がスロット選択に使われ、R2でレベル補正 以下M1の個体生成まで通常のとおり。
RSの前にEmからのデータもとったのだけれど、同じ仕組みだと推定できるが、
R4以前にメソッドズレがかなりの頻度でおこるとみえ、明確には把握できない。
出現テーブルについては2号館さん
待ち時間の目安
RS 29秒待ちで 1730FあたりがR1
Em 38秒3待ちで 2290FあたりがR1
待ち時間:Sリセットから「つりあげたにA」までの間隔
余談ですが、ねんちゃくありのEmで釣りしたあとに
RSでつると釣りの失敗率にウンザリする。
- 80 :
- うむ 終わった
我ながら乙
後はまとめを誰かお願いします
それとくじから裏IDを求めるツールが消えているっぽいですがどなたか作ってたりしませんか?
oupoさんの所にソースは書いてあるけど自分のスキル不足でうまく出来ない
- 81 :
- 御三家の個体値じゃ駄目なん?
- 82 :
- なぜ.txtでアップローダーに上げなかったのか理解不能
- 83 :
- コピペなのに嬉々として貼るなよ、長いわ
- 84 :
- >>81
それでもいいしID調整でもいいけど何だか気になるというか
>>82-83
ごめんなさい やり方がわからないんですorz
- 85 :
- このご時世、やり方がわからないは甘え
- 86 :
- DS liteでパラメータ設定をしているのですが
何度も記入ミスがないか確認して試しても
「該当するポケモンは存在しませんでした。」と表示されちゃいます
ファイルも解凍済みですし、何が原因か調べてもでてきません。
ググるのが甘いのかもしれませんが、今のところお手上げ状態です。
是非、ご指導していただけないでしょうか。お願いします。
- 87 :
- ポケ板の乱数スレが終わったからあほがこっち来たのか
誰か>>86にググり方を指導してやってくれよ
- 88 :
- 該当するポケモンがいないんだろう
- 89 :
- >>87
なんかいろいろすみません
>>88
ダメなんですかね・・
- 90 :
- (⌒,_ゝ⌒)アホすぎワロタwwww
- 91 :
- いま2039年まで検索して候補0なんだけど、こんなもんなの?
- 92 :
- こんなもんこんなもん
- 93 :
- ポケモン板の乱数新スレ立たないぞー
- 94 :
- >>93がスレ立ててくれるそうなので期待!
- 95 :
- ポケモン板の方とかいらないだろ
- 96 :
- 固定シンボル乱数で望まない同じステータスが何回やってもでてくるんだけど、これってDSのパラメータが間違ってるのかな
- 97 :
- 最初からやりなおせばいいよ
- 98 :
- やっとエメループで31-4-31-31-31-31ラッキー孵化できたけどキツすぎるわ
実用性あるポケモンでこれより難しい乱数調整って無いだろ
ハイリンクすらぬるく感じる
- 99 :
- HGSSでID調整が必要なのは色違いを出したいときだけですか?
通常の乱数ではID調整の必要はないですよね
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
ここはお前の日記帳なんだ。 6ページ目 (833)
【PS3】DARK SOULS ダークソウル 白ファントムの酒場25号店 (666)
3DSでリメイクしてほしいソフト (238)
【PS3】DARK SOULS ダークソウル ホストの酒場開店 (258)
【聖儲&椛豚】東方五大悪臭キャラスレ6【ブッヒィ】 (288)
ゼノブレイドってRPG史上,最高に面白いRPGじゃね? (264)
--log9.info------------------
アニメキャラ総合板自治/ローカルルールスレ Part4 (255)
【大張総合】不知火舞 シャイア かりん エリカ ミヅキ Part8 (207)
【叶わぬ】アニメキャラに恋したら? part2【恋】 (604)
全アニメキャラを強引に同一世界に存在させるスレ5 (483)
巨Rなアニメキャラを叩くスレ (279)
【ジョジョ】ゼロの奇妙な使い魔【召喚91人目】 (835)
アンチがほとんどいない美少女キャラ (327)
【デュラララ!!】 まったりノマカプ萌え語りスレ (378)
日常 強さ議論スレ (242)
【ノーマル】ローゼンメイデンのSSスレ 12【一般】 (633)
ストライクウィッチーズをあの作品と絡ませよう (432)
【テレ朝】お願い!ランキングのキャラに萌えろ (309)
ぬらりひょんの孫の男女CPスレ2 (528)
死んでくれて清々したキャラ (336)
【咲-saki-】恋人にしたいキャラランキング【投票】 (673)
かなめも総合スレ (377)
--log55.com------------------
【手繋ぎ】夏目三久【出勤】10
【個人】ひとりで働く奥様の休憩室51【事業主】
花王不買運動の唯一の賛同者 マモノ(笑)★3
花王不買運動の唯一の賛同者 マモノ(笑)★5
花王不買運動の唯一の賛同者 マモノ(笑)★4
【治療中】不妊治療を語ろう64【卒業生】
[木曜発売] 週刊文春新潮を読んでいる奥様21
【美しい国】 日本が大好きな奥様集合 61 【Nippon】
-