ミルクの日記

ポケモンの乱数調整方法を紹介しているサイト

日ズレ(日付ズレ)の説明と乱数調整で対策する話


 

0.目次

目次を開く

 


 

1.日ズレとは?

1-1.日ズレ(日付ズレ)

日ズレ(日付ズレ)

https://imgur.com/zjhKrt0.jpg

ポケモンを入手した日付が(過去/未来)のありえない日付である事象を指します
配信ポケモン正規判断の基準にしている人もいます

 


 

1-2.【派生語】シフターズレ(シフズレ)

シフターズレ(シフズレ)

https://imgur.com/HwOklVf.jpg

BWクリア後に解禁される施設『シフトファクトリー』があり、
その施設ではポケシフターを使用して第4世代以前のポケモンを第5世代に連れて来ることができます

連れてくる際に『出会った日付』が変更される仕様です

【例】第4世代産の配信ポケモンなのに出会った日付が最近であるなどの違和感があることから付けられたものと思われます

 


 

2.日付を気にする理由は?




  1. 見た目の問題
  2. 正規個体かの判断基準

 


 

2-1.見た目の問題

特筆するまでもないですが、こだわりポイントの1つです

 


 

2-2.『誤った』正規個体の判断基準

SVの配信ポケモンなどはサーバーの日付基準で、受信直後に強制セーブされる仕様です
この仕様のため、受信期間以外の日付になることはありません
(時差の関係で1日ズレることはある)

しかし、後述の世代では仕様が異なるので、
正規個体の判断基準とするのは誤りです




広まってしまった要因

  • アルセウス以降の仕様であることを新規ユーザーは知らない
  • switchのみまもり設定(時間変更が禁止されている)
  • 6世代以降では時間変更するメリットが少ない(1)ため、時間変更の概念がない
    (時間変更によりペナルティが発生することもある)
  • 改造者が日付を意識しないという根拠のない思い込み
    (改造ツールには配信データベースがあるため、精巧に作りやすい)

 


 

3.各世代の受け取り時間

 

3-1.SV・アルセウスの配信ポケモン

https://imgur.com/OH1DKlM.jpg

(配信例:Serebii.net Eventdex - #0491 Darkrai)

【配信期間】2023年12月7日~2022年12月22日(日本時間)

 

◆実際に受け取った個体例

https://imgur.com/Rg8zaTl.jpg

ダークライを受け取った日付は、サーバー時間が参照される

 


 

3-2.剣盾・BDSPの配信ポケモン

(配信例:KIBOのピカチュウ)

【配信期間】2021年1月1日 - 2021年1月15日

 

◆実際に受け取った個体例

https://imgur.com/zjhKrt0.jpg

ピカチュウを受け取った日付は、SWITCH本体時間が参照される

 


 

3-3.第7世代の配信ポケモン

https://imgur.com/6JHdTQE.jpg

(配信例:ひみつネクロズマ)

【配信期間】2019年9月6日~2019年11月14日

 

◆実際に受け取った個体例

https://imgur.com/NHyNT3C.jpg

3DSの本体時間をありえない時間に設定

https://imgur.com/xJ87GqZ.jpg

受け取ったネクロズマの日付は2000年1月1日であり、
受け取り時の3DSの本体時間に依存する

 


 

3-4.第6世代の配信ポケモン

https://imgur.com/IJkNl9B.jpg

(配信例:任天堂香港ジラーチ)

◆実際に受け取った個体例

https://imgur.com/2rScQCn.jpg

贈り物カードを受信した日付である

受信した日は、3DSの本体時間に依存する

 


 

3-5.第5世代の配信ポケモン

 

https://imgur.com/n4rMVyH.jpg

(配信例:えいがかんゲノセクト)

【配信期間】2013年7月13日~2013年9月30日

 

◆実際に受け取った個体例

https://imgur.com/4fpdfa7.jpg
贈り物カードを受信した日付である

受信した日は、本体時間に依存する

 


 

3-6.第4世代以前の配信ポケモン

第4世代以前に受け取ったポケモンは、
ポケシフター」で転送した日付が「出会った日」となる仕様

https://imgur.com/SWhpvMq.jpg

転送した日付BW側の本体時間が反映される

※画像の個体は3DS本体の時間を変更し忘れたまま送った個体

(参考サイト:ポケモンカスタマーサポート)

 


 

【まとめ】各世代の日ズレ

SV・アルセウス配信サーバーの時間

剣盾・BDSP→個体受け取り時の本体時間

(ウルトラ)サンムーン個体受け取り時の本体時間

XY・ORAS贈り物カード受信時の本体時間

BW・BW2→贈り物カード受信時の本体時間

HGSS以前→ポケシフター転送時の本体時間

 


これ以降は乱数調整に関する話題となります


 

4.本体時間と各世代の乱数調整

4-1.第7世代以降の乱数調整

多くのソフト(2)の初期seedの決定に本体時間が参照されているが、いずれも制御が不可能であることから時間変更する必要はありません(3)

例えば、第7世代では初期seedの進みがナノ秒(4)であることから、特定の時間に起動して一意の初期seedを狙うことは現実的ではありません

しかしアルゴリズムSFMTが使われており周期数も32bitしかないことから、実機での観測事象(例:針の位置)から総当たりによって初期seedを特定することが可能である

(参考:smogon forums)

*USUMの固定乱数*

 


 

4-1.第6世代の乱数調整

初期seedの決定には本体とセーブデータに依存する値とミリ秒(1000分の1秒)を足した値が使用されており、試行回数次第で狙いの初期seedをひくことが可能である

(参考:XY・ORAS固定乱数仕組み )

ORASのID調整*

 


 

4-2.第5世代の乱数調整

初期seedの決定には本体時間MACアドレスなどによって決定しています
seedの進みも1秒毎と遅いため一意の初期seedを狙いやすく再現性も高い

(参考:メルセンヌ・ツイスター開発秘話 P43)

(参考:BW乱数調整解説 乱数の仕組み)

 


 

4-3.第4世代の乱数調整

初期seedは、続きから始めるまでの経過時間(フレーム)と続きから始めたときの本体時間によって決まっている

seedの進みも1/30秒単位(5)であり、BW乱数ほどの精度ではないものの再現性を取ることができる

(参考:DPt/HGSS乱数調整解説 乱数の仕組み)

HGSS 三つ節ノココッチを乱獲*

 


 

5.時間を意識して乱数調整する

最新作で使用することを想定した場合、日付を意識して乱数調整するのは実質BW乱数のみとなる

そのうち徘徊乱数孵化乱数については、それぞれ捕獲した時孵化した時に依存するため、乱数調整する際に日付を意識する必要はない

 


 

残りの主要な乱数調整は固定シンボル野生ポケモンの乱数調整となるが、ライブキャスターによる高速乱数消費によって解決が可能である

(個体値不問の色違いという条件なら、そもそも日付を固定しても乱数調整は難化しない)

*BW2ライブキャスター乱数

 


 

6.さいごに

4世代・5世代・剣盾レイド乱数などの乱数調整においては日付を変更する必要があることから、乱数調整ユーザーは(うっかり)『日ズレ』する機会は多いです

無理に日付を固定すると高難易度化する傾向があります

SVの出会った日の仕様を全世代同一仕様だと誤認しているユーザーも多いので、本記事がその説明資料としての役割を果たせれば幸いです

 


 

脚注

  1. ^全くないわけではなくSMのリゾートバグは日付変更を伴う
  2. ^SVなど未確認のソフトもあるため『多くのソフト』と表記
  3. ^レイド乱数では日付変更を行うなど、時間変更する乱数調整は存在する
  4. ^参考先はミリ秒と記載されているが、誤りでナノ秒(10億分の1秒)らしい
  5. ^第4世代は2ずつフレームが進むため