トップ記事

閲覧ありがとうございます。

このブログでは基本的にポケモンの乱数調整の仕組み、たまにそれ以外の内容について書くことになると思います。
乱数調整関連の記事は発展的な内容が多いので、ある程度の知識がないと読み辛いかと思いますがご了承ください。
質問等はできるだけ調べてからして下さい。


このブログは(常識の範囲内で)リンクフリーです。


■やったことのある乱数調整
リンクで各記事に飛びます。

◆第3世代
 第3世代エンカウントテーブルまとめ
 ●RS
  ・ID調整
   ルビーID調整
  ・野生乱数
  ・色孵化乱数
  ・固定シンボル乱数
 ●FRLG
  ・野生乱数
  ・固定シンボル乱数
 ●Em
  ・野生乱数(+釣り、BV使用)
  ・色孵化乱数(+変わらずの石使用、BV使用)
   かわらずのいしを使用したエメループ色孵化
  ・徘徊乱数

◆第4世代
 入れ替えデータのスロットについて(大量発生、時間帯変化、ダブルスロット等)
 第4世代ID調整用初期シード検索ツール
  第4世代ID調整用初期シード検索ツール(WEB版)
 ●DPt
  DPtコイントス初期シード検索ツール
  ・ID調整
  ・野生乱数(+釣り、ノモセ、ポケトレ色、メロメロボディ)
   釣り乱数用ツールDPt
   ノモセ大湿原野生乱数メモ
    ノモセ大湿原野生乱数メモ2
   ポケトレ色乱数用ツール更新
    ポケトレ多連鎖乱数用ツール更新
     ポケトレ色乱数仕組み
      ポケトレ色乱数メモ
       ポケトレ色乱数メモ2
        いじっぱりVVUUVU色ダンバルを捕まえる動画
         ポケトレ色乱数@ツイキャス
   メロメロボディ乱数用ツール
    メロメロボディを利用した野生乱数
     ポケトレ併用によるメロメロボディ乱数
  ・孵化乱数
  ・固定シンボル乱数(+メロメロボディ)
  ・徘徊乱数
 ●HGSS
  ・ID調整
  ・野生乱数(+波乗り、サファリ、虫取り大会、メロメロボディ)
   乱数調整汎用ツール更新
   サファリゾーン乱数用ツール
    サファリゾーン追加ポケモン出現決定方法予想
     サファリゾーン野生乱数メモ
   虫取り大会野生乱数
  ・色孵化乱数
  ・固定シンボル乱数(+赤ギャラ)
   あかいギャラドス乱数調整
  ・徘徊乱数(クチバラティ、殿堂入り)
   クチバシティにおけるラティ乱数の不定消費について
  ・バトルフロンティア乱数(バトルステージ、バトルキャッスル)
   バトルステージ乱数概要
    バトルステージでのフリーズバグについて
     アンノーンでバトルステージを170連勝する(動画)
   ピカチュウのお城攻略(動画)
  ・戦闘乱数(+捕獲乱数)
   ホウオウを捕まえるだけ(動画)

◆第5世代
 ●BW
  ・オフセット計算(徘徊なし)
  ・野生乱数(+釣り、波乗り、大量発生、揺れる草むら、砂煙、ダブルバトル)
   BWなみのり、つり、大量発生野生乱数
   ドリュウズ野生乱数用
   揺れる草むら、砂煙を少ない歩数で出す方法
   BW野生ポケモンの持ち物について
   BW濃い草むらにおけるダブルバトルについて
   BW出現スロット等の閾値検証
  ・色孵化乱数(+オフセット・NPC考慮)
  ・固定シンボル乱数
  ・色徘徊乱数(+徘徊済み)
   徘徊済みボルトロス乱数調整
  ・ドーム乱数
  ・配達員乱数
  ・ものひろい乱数
  ・すいせいのかけら乱数(+ものひろい)
  ・ハイリンク乱数
  ・バトルサブウェイ乱数
   バトルサブウェイ乱数補助ツール
    バトルサブウェイ対戦相手決定方法
     A連打で行こう(動画)
  ・自動販売機乱数
 ●BW2
  BW2乱数調整について
  ・オフセット計算
  ・ID調整
  ・野生乱数(+揺れる草むら、ダブルバトル)
  ・固定シンボル乱数(+隠し穴、色オノノクス)
   自然保護区の色オノノクス乱数
  ・隠し穴出現ポケモン乱数
  ・ARサーチャー乱数
   ARサーチャー乱数の消費数
  ・色孵化乱数
   BW2孵化乱数用ツール更新(Ver1.4)
    BW2孵化乱数の仕組みと方法
     BW2通常色孵化乱数@ツイキャス
  ・ハイリンク乱数
  ・バトルサブウェイ乱数

◆第6世代
 ●XY
  ・孵化検証
   XY孵化仕組み検証
  ・固定シンボル乱数
   XY・ORAS固定乱数仕組み
 ●ORAS
  ・固定シンボル乱数

◆第7世代
 ●SM
  ・ID調整
  ・孵化乱数
   SM孵化乱数列を計算する
  ・固定シンボル乱数
   サンムーン固定乱数仕組み
  ・野生乱数(+UB)

◆第8世代
 ●SWSH
  ・レイド乱数
   レイド乱数探索アルゴリズムの改良

◆他
乱数調整用ツール計算高速化の工夫
レストラン・ド・キワミのローテを指定ターンで勝つ


■その他

◆ゆず・ぱら(2014/09/30迄)
 ●カードの最終ステータス検証
  カードの最終ステータス検証
 ●強化時の経験値検証
  カードの成長度について(+ツール)
 ●イベントでのポイント計算について
  イベントでのポイント計算


Twitter→@water_blow
分かり辛いのが多いので、ここ宛にブログ内容について質問すれば適当に答えます。

続きを読む

レイド乱数探索アルゴリズムの改良

Pokémon RNG Advent Calendar 2020の19日目の記事です。
他の記事も面白いので読んでみましょう。そして参加しましょう。


SWSHのレイド乱数探索アルゴリズムの発見は、個体決定方法において逆算時の課題となっていた再計算処理の考慮を別で考えることにより、現実的な時間でのシード計算を可能とした。
今回は、それ以来ほぼ全てのツールにそのまま実装されているであろう、このアルゴリズムの改良を行った。
元のアルゴリズムの解説はこちら→https://oupo.hatenadiary.com/entry/2019/12/22/194820


●元のアルゴリズムの問題点
ゲーム内から分かる情報(以下観測値、m bit)と虱潰しする値(n bit)から線形写像に用いる値を計算するのだが、
この計算処理は加算処理を行うため線形ではない
そのため、m+n>64となる場合でも64bitを超過する情報をそのままでは扱えないため、探索範囲は最低でも32bitが必要となる。

●改良した点
64bitを超過する分を含む一部情報を線形写像で扱えるようにし、32bit未満の探索範囲で検索できるようにした。
一部情報は、観測値のうち、以下のいずれかに該当するもの。
ただし、加算対象に定数が含まれるECは除く。

1. 下位bitから1が連続している範囲
 加算後の値が下位bitから1が連続していれば、その範囲での加算処理は線形となる。
 観測結果によって該当するかが変わる。

2. 最上位bit
 観測結果に関わらず、観測値の各最上位bitは線形写像に組み込むことができる。
 詳しくは後述。

最大でこれらのbit数まで、超過bit分の探索範囲を減らすことができる。

●改良アルゴリズム詳細
観測値bit列$v$、探索値bit列$s$とそれに対応する加算値bit列$t$とする。
$$v=s+t$$それぞれを一部情報に対応するbit列$v_1$、$s_1$、$t_1$と残りのbit列$v_0$、$s_0$、$t_0$に分割すると、
$s_0$、$t_0$に依存する値$c$(下位1連続bitは0、最上位bitは加算時繰り上がり値)を用いて
$$\begin{cases}v_1=s_1+t_1+c \cdots(*)\\v_0=s_0+t_0\end{cases}$$と書ける。
$s_0$を固定すると$c$を固定値として扱えるので、$(*)$と解の存在条件から$s_1$の絞り込みが可能で、
かつ線形であるため逆算が容易である
結果、探索範囲は$s_0$と絞り込み後の$s_1$の組み合わせ範囲だけで済む。


細かい計算は面倒なので省略。
64bit超過は2V6連等、元々条件が厳しくないと達成はできませんが、
条件さえ十分にあればCPU計算でも一瞬で計算が終わる程度まで高速化が可能です。

何故これの解説を今頃になって書くのか。
あ、私の遥か昔の配布ツールにはこのアルゴリズムは未実装です。
他にもいろいろ対応してないから使わなくていいよ。多分もう更新もしないよ。

某ツールには実装されてると思います。多分。

第5世代で乱数消費しないと出ない個体値とか

Pokémon RNG Advent Calendar 2018の16日目の記事です。
他の記事も面白いので読んでみましょう。そして参加しましょう。


以前この記事で書いたように、第5世代の個体値乱数列は消費数を固定するとかなり偏りが生じる。
という訳で調べたいなと思いつつ数年間放置していたものを計算してみた。

●BW標準(消費0)

初期シード数該当する個体値数個体値割合
0196664321.8315792084%
1786614267.3259161785%
215733367214.6528400481%
320977559519.5368747227%
420978141319.5374165662%
516781366115.6288650818%
611187128710.4188255034%
7639317115.9541045688%
8319663572.9770989902%
9142059821.3230351731%
1056816450.5291444249%
1120683500.1926301047%
126909190.0643468462%
132112460.0196738169%
14606720.0056505203%
15163300.0015208498%
1639570.0003685243%
179140.0000851229%
181950.0000181608%
19550.0000051223%
2030.0000002794%
2120.0000001863%

一番出やすい個体値
個体値初期シード
13-21-19-0-29-80D47C6EB
21692601
27F6C9AE
2F8C5F2D
4864728B
56D969FA
705D4B0F
746297CC
826BFFC8
82F4F645
AB5C4B64
B77EE5AA
C4D1CCD0
C7213D8F
CE2A9A0A
D8D4740E
DE7392FB
E1AEC42C
EF100FEF
EF16D855
FF19B490
22-15-11-14-22-221043FB8F
113D7CCD
15E1DDA7
16614F93
2BDD61E2
37EFDC23
3ED85316
42F6F3A4
452841A5
46B5A48C
6AC7DE4A
920F8E96
93EAD559
96D433C7
B8B0F47F
BAD96E29
D05AE435
DECE4121
E091361A
E5D4CDF6
FCDE8457


●BW2(消費2)

初期シード数該当する個体値数個体値割合
0196662851.8315655179%
1786764287.3273133487%
215732019014.6515844390%
320977542219.5368586108%
420975645619.5350922644%
516782335315.6297677197%
611188631610.4202251881%
7639328345.9542091563%
8319715172.9775795527%
9142015731.3226245530%
1056840880.5293719471%
1120651320.1923304051%
126889760.0641658902%
132113760.0196859241%
14603840.0056236982%
15161740.0015063211%
1641020.0003820285%
179540.0000888482%
182010.0000187196%
19450.0000041910%
20140.0000013039%
2130.0000002794%
2210.0000000931%

一番出やすい個体値
個体値初期シード
25-4-31-10-9-90DEB3601
23366D91
3AC6AB42
3D303D68
44E519EF
4CAB1A0A
5B0BA705
606BAAE3
61819D13
77B0920F
8996B8E0
8BAE11CC
8D9A6FB2
90ECD601
9EFFA228
A4CA7152
A9930A85
BD61DA65
C1580C0B
D2048E96
F0A21798
F393592A


という訳で、1.83%くらい消費しないと出現しない個体値があります。
$(1-\frac{1}{32^{6}})^{2^{32}}$がだいたいそれくらいなので、多分計算合ってます。合ってるといいな。
6V等はちゃんと出るので、そこは一安心ですね。
誰か出ない個体値を検索してた人とかいるのかな…。

偏り怖い…。

レジェンドカード限定大会優勝

ハースストーンのレジェンドカード限定大会で優勝してしまったので、デッキ構築時に考えてたことを書きます。
※デッキ構築素人です。

このルールではデッキのほとんどがミニオンであり、盤面を覆す手段がかなり限られている。
そのため、序盤で盤面を失わないよう低コストミニオンを入れつつ、如何にしてずるをするかを中心に考えてデッキを組んだ。
以下、一部ずるカード考察。

◆中立

●バーンズ
このルールで一番ずるができる(と思ってる)カード。
コストも軽いので相手より先にずるができる。
半分くらいの確立でずるい奴が出るようにした。

●ケレセス公爵
2マナはこっちを入れてる人が多いと思う。
自分もこちらを採用。
ずるい。

●ミルハウス・マナストーム
2回戦の初戦でいきなりこいつとケレセスの両方を出されて負けました。
ずるいと思います。

●レノ・ジャクソン
全回復してくるずるい奴。
でも盤面は返らないのでなくてもいいとは思う。(ハンターでは未採用)
何回かテンポ出しした程度には活躍した。

●頽廃させしものン=ゾス
言わずと知れた超ずるいカード。
でもだいたい出す前に決着がつく。

◆ハンター

●キャスリーナ・ウィンターウィスプ
超ずるいムーブができる。
バーンズで大当たりになるのもずるい。
沼の王ドレッドとキングクラッシュの2種類だけが出るようにした。
ガーズリラを入れてもよかったかもしれない。
そのまま召喚してキングクラッシュを呼び出したり、
沁み出すウーズリング(変身者ゼラス)で断末魔コピーしてキングクラッシュ呼び出したり、
猟犬使いショーがいる状態でバーンズから引っ張ってきてそのままキングクラッシュを召喚したりした。
超大活躍。

●猟犬使いショー
軽くて良スタッツのくせにこいつがいるだけで盤面をとりながら顔も殴りに行ける超ずるいカード。
断末魔とも相性がいい。
大活躍。

◆ドルイド

●世界樹の小枝
最速で使えれば7-8ターン目にはずるができるずるいカード。
後から引いてもすぐにずるできるようガーディアン・メディヴも採用。

●魔蝕の病霜マルフュリオン
重いカードが多く採用されるルールで猛毒ミニオン2体召喚はずるい。

●アヴィアナ
重いが超ずるいカード。
忘却王クンと合わせて手札に来れば、10ターン耐えたら勝ちのゲームになる。
バーンズから出ても超ずるい。

◆ウォーロック

●マナアリの髑髏
このルールでハリソン・ジョーンズを入れない理由はないと思います。

●枷を打ち砕きし者クラル
他の強い悪魔共を引き連れて出てくるずるい奴。
重めなのと手札が揃わないとそこまで強くないのが玉に瑕。
マルガニスが一緒に出てくるのずるいと思います。

●屍山血河のグルダン
強い悪魔共を復活させてくるのずるい。
でも重いので長期戦向け。

●カザカス
数少ない盤面をひっくり返せる超ずるいカード。
盤面強化にも使えるのずるい。
地味に悪魔シナジーもある。


他ヒーローは割愛。

◆感想

割と満足いくデッキが作れたと思う。(特にハンター)
ハンターが7-0で大活躍したのは、単純に運が良かったというのもあるが、
「相手より先に」ずるできるデッキだったというのが大きかったと思う。
決着が10ターン経つ前に決まることも多かったので、デッキ構築の方向性は間違ってなかったと思う。

あと奇数ローグも組みましたが弱すぎたので使ってません。

楽しかったので、次もあれば参加したい。

ピカチュウのお城攻略(動画)

Pokémon RNG Advent Calendar 2017の22日目の記事です。
他の記事も面白いので読んでみましょう。そして参加しましょう。


HGSSのバトルキャッスル乱数動画です。



仕組みはバトルファクトリー独自の要素を除いてほぼ同じ。
バトルファクトリーまとめ - oupoの日記

違う箇所は以下。
・1戦ごとの乱数消費は12で固定
・コクランの手持ちは1戦目、2戦目ともに個体値All31

という訳で、以下動画で使用したデータとか。
続きを読む
プロフィール
さき

ポケモンの乱数調整とかツールとか。サンムーン乱数調整できました。
Twitter→@water_blow

広告
最新コメント
記事検索