親の預け方によるタマゴの各種パラメータ変化の検証
検証背景
XYでは、前のタマゴを受け取ったときに遺伝箇所が決まることが知られている。その状態で親を適切な個体に入れ替え、高個体値なタマゴをつくるようなことは1つのテクニックとして知られている。
このテクニックはBW2時代からもあったため、少なくとも自分は、BW2とほぼ同じものとしてXYの孵化システムを認識していた。
しかし、最近まで気付かなかったのだが、パワー系を持たせたときに(BW2と比べて)遺伝箇所が不自然に変化することがあった。
また、今作では親をメタモンに変えても遺伝箇所が変わらないのだが、なぜか親がロトムの場合は遺伝箇所が変わるという報告も受けた。
こうしたことがあって、赤い糸やボール遺伝などの新要素を除きBW2と全く同じだと思っていたXYの孵化システムは、実はBW2と異なる部分が多々あるように思えてきた。そのためこれを機に、未だ解析されていないXYにおける孵化の仕組みを可能な限りで解明しようと思い立った。
検証目的
親の種族、持ち物を変えたとき、できるタマゴの遺伝箇所、自然発生個体値、特性など各種パラメータがどのように変化するかを調べる。またその結果から、XYの孵化システムを解明する。
検証手順
♂♀のコイキング、♂タッツー(個体値が確定できなかったときの補助)、メレシー、メタモンを用意した。いずれも個体値特定済みである。
1. コイキング♀を何も持たせずに預ける。レポートを書く。
2. コイキング♂を何も持たせずに預け、生まれてきた子の個体値を測定する。
3. リセットし、今度はコイキング♂に各種パワー系を持たせたときの個体値を測定する。これをパワー系6種全てについて行う。
4. リセットし、コイキング♀に赤い糸を持たせて預け直し、レポートを書く。
5. 2, 3を行う。
6. リセットし、コイキング♀を持ち物なしのメレシーに変えてレポートを書く。
7. メタモンを使って2, 3を行う。
検証結果
以下のようになった。おおよそ同じ個体値の所は同じ背景色にしてある。
赤い糸なし |
||||||
|
HP |
攻撃 |
防御 |
特攻 |
特防 |
素早さ |
なし |
18~19 |
先 |
先 |
4~5 |
30 |
後 |
ウエイト |
パ |
0 |
先 |
20~23 |
4~5 |
後 |
リスト |
6~7 |
パ |
先 |
20~23 |
4~5 |
後 |
ベルト |
18~19 |
先 |
パ |
4~5 |
30 |
後 |
レンズ |
6~7 |
0 |
先 |
パ |
4~5 |
後 |
バンド |
6~7 |
0 |
先 |
20~23 |
パ |
後 |
アンクル |
0 |
18~19 |
先 |
4~5 |
先 |
パ |
全てについて、特性:夢、性格:陽気、性別:♀ |
||||||
赤い糸あり |
||||||
|
HP |
攻撃 |
防御 |
特攻 |
特防 |
素早さ |
なし |
先 |
先 |
先 |
後 |
16~17 |
後 |
ウエイト |
パ |
先 |
先 |
後 |
28~29 |
後 |
リスト |
後 |
パ |
先 |
28~29 |
先 |
後 |
ベルト |
先 |
先 |
パ |
後 |
16~17 |
後 |
レンズ |
4~5 |
先 |
先 |
パ |
先 |
後 |
バンド |
4~5 |
先 |
先 |
後 |
パ |
後 |
アンクル |
後 |
28~29 |
先 |
後 |
先 |
パ |
全てについて、特性:夢、性格:陽気、性別:♀ |
||||||
メレシー |
||||||
|
HP |
攻撃 |
防御 |
特攻 |
特防 |
素早さ |
なし |
0 |
18~19 |
先 |
後 |
先 |
30 |
ウエイト |
パ |
6~7 |
0 |
後 |
先 |
4~5 |
リスト |
10~11 |
パ |
0 |
後 |
先 |
4~5 |
ベルト |
10~11 |
6~7 |
パ |
後 |
先 |
4~5 |
レンズ |
6~7 |
0 |
先 |
パ |
4~5 |
後 |
バンド |
6~7 |
0 |
先 |
後 |
パ |
4~5 |
アンクル |
10~11 |
6~7 |
0 |
後 |
先 |
パ |
全てについて、性格:図太い |
考察
個体値について
まずは赤い糸なしの場合を見て考察していく。
BW2と異なる点 1, 素の遺伝箇所(A,B,S)にパワー系を持たせたとき、遺伝箇所が変わることがある 2, 素の遺伝箇所にパワー系を持たせたとき、そこが遺伝箇所の1, 2番目(B,S, パワー系が無効) であっても自然発生個体値が変わる 3, パワー系が有効の場合同士であっても、自然発生個体値が異なることがある |
1,2を考えるに、まず遺伝箇所の決め方が変わっていると考えられる。
特に、素の遺伝箇所にパワー系を持たせて遺伝箇所が変わるのはBW2の仕様では全く説明できない。遺伝箇所が重複した場合の処理が変わっていることの現れではないだろうか。
そこで、遺伝箇所が重複した場合の乱数列のスキップが、2項ではなく1項となっていると仮定してみる。
このように仮定すれば、とりあえず1,2には矛盾しないモデルができあがる。
2項スキップの場合、遺伝箇所が重複の場合もそうでない場合も結局は同じ乱数項をたどっていくことになるから、素の遺伝箇所にパワー系を持たせたとしても最終的に確定する遺伝箇所3つは変わらない。しかし1項スキップの場合は必ずしもそうではなくなる。
遺伝箇所の決定方法がBW2ベースで、大きな仕様変更がないとすると、この仕組みが妥当であると思う。
次に、自然発生個体値の変化について考える。
3について、これはBW2のように「自然発生個体値3つの値と順番だけが決まっている」と考えるとうまくいかないが、単純に「各能力値に1つずつ自然発生個体値が割り当てられている」と考えるだけで理解できる。
実際に、例えば6~7という個体値はHPにしかなく、4~5という個体値は特防だけに現れている。
また、自然発生個体値3つの値とその順番だけを取り出してみると、
[0, 20~23, 4~5]
[6~7, 20~23, 4~5]
[6~7, 0, 4~5]
[6~7, 0, 20~23]
となりあまりにも不自然である。
では、ここまでの仮定から孵化乱数列を推定してみる。検証結果とうまく合う孵化乱数列が存在すれば、仮定の正しさを裏付ける1つの根拠になる。
そして、次のような孵化乱数列を設定するとうまくいくことが分かった。
※10/30追記:コメントにて指摘された誤りを修正しました。
乱数列 |
遺伝箇所 |
遺伝先 |
自然発生 |
r[n-1] |
C |
|
|
r[n] |
S |
後 |
|
r[n+1] |
D |
後 |
|
r[n+2] |
B |
先 |
|
r[n+3] |
B |
先 |
10~11 |
r[n+4] |
A |
先 |
6~7 |
r[n+5] |
先 |
0 |
|
r[n+6] |
18~19 |
||
r[n+7] |
20~23 |
||
r[n+8] |
4~5 |
||
r[n+9] |
|
||
r[n+10] |
|
|
30 |
1番目の遺伝箇所を決める項をr[n]とした。
無性別(メレシー)孵化のときは始点が1つ前の項にずれているようなので、この始点をr[n-1]とした。
無性別孵化については次の見出しで詳しく説明する。
赤い糸なし・パワーアンクルありの場合 遺伝箇所2番目:r[n]⇒S 重複のためn += 1として再試行 遺伝箇所2番目:r[n+1]⇒D 遺伝先: r[n+2]⇒先 遺伝箇所3番目:r[n+3]⇒B 遺伝先: r[n+4]⇒先 自然発生個体値-HP:r[n+5]⇒0 自然発生個体値-攻撃:r[n+5]⇒18~19 自然発生個体値-防御:r[n+5]⇒20~23 自然発生個体値-特攻:r[n+5]⇒4~5 自然発生個体値-特防:r[n+5]⇒ 自然発生個体値-素早さ:r[n+6]⇒
⇒タマゴの個体値は、0 - 18~19 - 先 - 4~5 - 先 - パ |
赤い糸なしについては、この他にもウエイト、リスト、レンズ、バンドについて検証結果と完全に一致する。
赤い糸ありについては、孵化乱数列のとり方が何通りもありそれを一意に定めるのが難しいため割愛するが、同じ個体値はおおよそ同じ箇所に出現していることを考えると、この仮定を裏付ける結果であったと思う。
さて、仮定の正しさを論じたすぐ後なのだが、実はパワー系なしとベルトの場合については、この理論と結果が完全には一致しない。以下にパワー系なしの場合のパラメータ決定の様子を示す。
|
となり自然発生個体値の一部が1つずれている。パワーベルト使用時も同様に1つずれるのだが、この原因については不明。
おそらく何らかの例外規則があり必然的にずれが発生しているのだろうが、自分では思いつかなかった。このずれの原因を探るのが当面の課題になりそうである。
以上をまとめると、個体値決定におけるBW2との相違点は、
・遺伝箇所が重複した場合、乱数列を2項ではなく1項だけ飛ばす処理となっている。
・自然発生個体値は、各能力値に1つずつ割り当てられている
である。
特性・性格・性別について
これらについては当初あまり重視しておらず、本見出しでは無性別孵化のときの個体値のずれだけをまとめるつもりであったが、検証で興味深い結果が現れ、また無性別孵化の際の個体値ずれも包括するような結論が出たので考察してみる。
ここでもやはりシステムはBW2ベースだと考えて、BW2の時点での仕組みを参考にする。
BW2では性格→特性→遺伝箇所→自然発生個体値の順にパラメータを決めた後、タマゴを受け取った瞬間に性格値が決まりそれから性別・個性が決定されていた。
XYではタマゴを受け取った瞬間に決まるパラメータはなく、タマゴの全パラメータはタマゴができる瞬間に決まっているらしい。そのため、性格値・性別・個性の決定が前半の処理のどこかに挿入されているはずである。
そして、この3つに注目して検証結果を振り返ってみると、以下の点が気になった。
1, 赤い糸・パワー系を使用しても特性・性別は変わらなかった 2, 親を無性別に変えると性格が変わった。 (また、本検証以前より判明していた事実として、) 3, 赤い糸の有無によって色違いが否かが変わる |
順番に考察していく。
1から、特性・性別は遺伝箇所よりも前の段階で決まると推測できる。ここで、「前の段階」とは時間的な意味ではなく、「前の乱数項」という意味である。
特性については本検証で得られる情報はなかったが、性別については考察に値する情報が得られた。
個体値決定についての考察で、無性別であるメレシーで孵化した場合は乱数列の始まりが1つ前にずれるとだけ書いた。この原因が何かを考えた結果、正にこの性別決定が原因ではないかという考えにいきついた。
つまり、性別が存在するポケモンを孵化する場合はその性別決定のために乱数が1つ消費される。しかしメレシーなど無性別ポケモンの場合はその処理がないため、その消費が行われない。結果として両者で、1番目の遺伝箇所を決定する乱数項が1つずれるという仕組みである。
それでは、無性別ではなく性別が片方しかないポケモンの孵化でも同様のずれが起きるはずである。
それを確かめるために、追加で検証を行った。
0 - 18~19 - 先 - 後 - 先 - 30
となり、メレシーの場合と一致した。
よって、無性別ポケモンの孵化で起きる個体値のずれは性別決定によるものだという推論は正しかった。
2について。これも検証中少し気になっていた部分である。なぜなら、BW2にてメタモンを親に使うと今作での無性別孵化のように個体値がずれるが、そのときに性格は変わらなかったからである。
1と逆の考え方をすると、性格が性別より後の段階で決まっていると推測できる。
しかし、性格は赤い糸等を使用しても変わらないから、遺伝箇所よりは前の段階だともいえる。
となると、性格を決める乱数項は、1番目の遺伝箇所を決める項(遺伝箇所の始点)という可能性が高い。
BW1の孵化乱数を思い出していただきたい。変わらずの石を使わない場合、性格は1番目の遺伝箇所と同じ項で決まっていた。XYになって再びこの仕様に回帰したものと思われる。
|
最後に3についてである。
赤い糸の有無によって色違いが否かが変わるというのは、本検証より前に”奇跡的”に確かめることができた。となると、色違いかどうかを決めるのは性格値であり、赤い糸によって変わるのは遺伝箇所の個数であるから、性格値だけは遺伝箇所より後に決まっているということになる。
とはいえ、この段階では既に特性・性格・性別が全て決まっている状態なので、性格値の値にあまり意味はない。既に決まったこれらのパラメータと整合性をとりながら、色違いかどうかを判定するためだけに値を出力しているのだろう。
さて、以上の情報を集約すると各パラメータの決定順を推測できて、それは
特性→性別→性格→遺伝箇所→自然発生個体値→性格値
という順である。
性別については、その処理を行う必要がない場合は乱数を消費せずそのまま次の段階に進む。
特性については、おそらく特性が1つのポケモンに対しても他と同様に処理される(経験則)。
前後に特殊な処理が入る可能性はもちろんあるが、とりあえず今挙げたパラメータについてはこの順で確定である。
非常に有益な情報を得ることができたと思う。
後書き
結論だけ書けばいいって?
せやな
<link href="親の預け方によるタマゴの各種パラメータ変化の検証.files/filelist.xml" rel="File-List" /> <link href="親の預け方によるタマゴの各種パラメータ変化の検証.files/editdata.mso" rel="Edit-Time-Data" /> <link href="親の預け方によるタマゴの各種パラメータ変化の検証.files/themedata.thmx" rel="themeData" /> <link href="親の預け方によるタマゴの各種パラメータ変化の検証.files/colorschememapping.xml" rel="colorSchemeMapping" />