【初代ポケモン】野生エンカウントで最高個体が出ない理由

ア▶イス
17 Apr 202428:26

Summary

TLDRこの動画スクリプトでは、ポケモンの個体値と乱数に関する深奥な解説が行われています。個体値の意味や計算方法、さらにはゲーム内で乱数がどのように機能するかについて詳述されています。スロットやエンカウントの仕組み、Dサムの調整、状況再現技術など、ポケモンを効率的に育成するための高度な戦略が紹介されています。視聴者はこれらの技術を駆使して、理想のポケモンを捕獲する方法を学びます。

Takeaways

  • 🔍 スクリプトはポケモンの個体値と乱数に関する詳細な解説で構成されています。
  • 🎲 個体値はポケモンの強さに影響を与える先天的な要素で、ゲーム内でのエンカウント時にランダムに決定されます。
  • 👶 初代ポケモンゲームでは個体値を後から変更する方法がなく、そのバリエーションは4ビット(0-15)で表現されていました。
  • 📊 3世代以降のゲームでは個体値のバリエーションが32段階(0-31)に拡張され、アルファベットの'V'まで表現可能です。
  • 🤔 ゲーム内でのエンカウントで最高個体値のポケモンが現れないことについて、スクリプトはその理由を乱数の性質とその生成方法に関連付けています。
  • 💡 乱数はコンピューター上では疑似乱数として生成され、特定の規則に基づいて動作します。
  • 🔧 ポケモンゲームでは正乱数と不乱数の2種類の乱数が使用され、これらはディバイダーレジスタの値に依存して生成されます。
  • 🔄 エンカウント値や個体値の決定は正乱数と不乱数の組み合わせによって行われ、これらの値はゲームの進行度やプレイヤーの操作に応じて変動します。
  • 🕵️‍♂️ スクリプトでは乱数を操作する技術、特にDサム(正乱数と不乱数の合計)のマニピュレーションや状況再現技術について説明されています。
  • 🛠️ 状況再現はハードリセットを用いて、ゲーム内の乱数を一定のパターンに固定化する手法で、これにより特定の乱数パターンを再現することができます。
  • 🎯 Dサムマニピュレーションや状況再現技術は、ゲーム内での特定の乱数パターンを狙う際に役立ちますが、使用には難しさや制限があります。

Q & A

  • ポッポの個体値を最大にするにはどうすればよいですか?

    -ポッポの個体値を最大にするには、野生でのエンカウントではなく、シンボルエンカウントや特定のアイテムを使用して捕獲することで実現できます。また、バイナリエディタを使用して直接個体値を編集する方法もあります。

  • 個体値とはどのようなものですか?

    -個体値とは、ポケモンの基本的な強さを表す値で、攻撃、防御、素早さ、特殊攻撃などのステータスに影響を与えます。個体値が高いほど、そのステータスは高くなります。

  • ポケモンのステータスはどのように計算されますか?

    -ポケモンのステータスは、産地と呼ばれる2つの数値(種族値と個体値)に基づいて計算されます。これらの値は、ポケモンのタイプや性格、努力値(EV)と共に、ステータス計算式を用いて最終ステータスに変換されます。

  • エンカウント時に乱数はどうやって生成されますか?

    -エンカウント時に使用される乱数は、ディバイダーレジスタの値に基づいて生成されます。ディバイダーレジスタは一定時間ごとに増加し、その値が特定の範囲を下回った時にエンカウントが発生します。

  • Dサムとは何ですか?

    -Dサムとは、正乱数と不乱数の合計値のことです。ゲーム内で使用される乱数がDサムを基準に動くため、Dサムを予測することで乱数の動きを把握することができます。

  • Dサムマニピュレーションとは何ですか?

    -Dサムマニピュレーションとは、ゲーム内で使用される乱数の動きを調整することを指します。プレイヤーはDサムを一定のパターンで動かすことで、特定のポケモンとのエンカウントを操作することが可能です。

  • 状況再現とはどのような技術ですか?

    -状況再現とは、ゲームの乱数の動きを固定化する技術です。特定の入力をすることで、ディバイダーレジスタの値を固定化し、乱数の生成を予測可能にします。

  • ポケモンのエンカウントスロットはどのように決まりますか?

    -エンカウントスロットは、乱数によって決まります。各マップにはスロットが複数存在し、乱数がその範囲内を選ぶことで、どのスロットのポケモンとのエンカウントが発生するかが決定されます。

  • 個体値の最大値はどのくらいですか?

    -個体値の最大値は、ポケモンの種類やゲームのバージョンによって異なりますが、初代ポケモンでは16進数で'4F'(10進数で79)が最大値です。3世代以降では、0から31の32段階でアルファベットの'V'が最大値を表します。

  • 最高個体値のポケモンはなぜなかなか現れないのですか?

    -最高個体値のポケモンは、乱数の性質上非常に稀にしか現れないためです。個体値は乱数によって決定されるため、最高値を獲得する確率は非常に低く、プレイヤーが遭遇できる機会は限られます。

Outlines

00:00

😀 ポケモンの個体値と乱数に関する解説

第1段落では、ポケモンの個体値とその上限について解説しています。個体値は先天的な強さの指標で、最高個体値のポケモンはなかなか現れません。また、乱数の概念とゲーム内での使用法についても触れています。ポケモンのステータスは産地と呼ばれる3つの数値から計算され、個体値はその1つです。初代では個体値の変更ができないため、最高個体値が出現しない理由についても説明しています。

05:02

🔍 乱数の生成方法とエンカウントの仕組み

第2段落では、乱数の生成方法とエンカウントの仕組みについて詳細に説明しています。ディバイダーレジスタの値をもとに正乱数と不乱数を作り、これらを使ってエンカウントのタイミングや個体値を決定します。エンカウント値に応じて出現する個体値の数が変わり、最高個体値が出現しない理由が乱数の規則性にあると指摘しています。

10:03

📉 乱数の可視化とエンカウント値の影響

第3段落では、乱数の動きを可視化し、エンカウント値が個体値に出現する範囲にどのように影響するかについて解説しています。エンカウント値が小さいほど、個体値の範囲が絞られ、最高個体値が出現しやすくなるという理論を紹介しています。また、個体値の計算方法や環境ごとのディバイダーレジスタの変動量の違いについても触れています。

15:04

🚫 野生エンカウントでの個体値の限界

第4段落では、野生エンカウントでの個体値に制限があることと、その限界について説明しています。個体値はエンカウント時に決まり、乱数によって決定されますが、野生でのエンカウントでは個体値に上限が設けられています。一方で、シンボルエンカウントやバグなどの方法で捕まったポケモンには個体値の制限がありません。

20:06

🔄 乱数の予測可能性とDサムの概念

第5段落では、乱数が予測可能であることと、Dサム(正乱数と不乱数の合計)の概念について解説しています。Dサムの周期を読み取り、エンカウント時に出現するポケモンを調整する方法についても説明しています。また、戦闘時のDサムの動きや、スロットの出現率との関係についても触れています。

25:08

🎲 エンカウント調整の方法と状況再現

第6段落では、エンカウント調整の方法と状況再現の技術について解説しています。Dサムマニピュレーションと呼ばれるエンカウント調整方法や、状況再現でディバイダーレジスタの値を固定化し、乱数を予測する技術について紹介しています。これらの技術を使った場合の利点とデメリット、そして応用範囲についても議論しています。

Mindmap

Keywords

💡ポッポ

ポッポはポケモンの一つで、草むらでよく出現する。ビデオでは、ポッポを育成しようとする試みが紹介されており、個体値の最適なポッポを見つけることが目的です。

💡個体値

個体値はポケモンの潜在能力を示すパラメーターで、ビデオでは個体値が最大のポケモンを捕まえることの難しさを説明しています。個体値が高いほどポケモンは強いとされています。

💡乱数

乱数はコンピューターが生成する数値で、ビデオではポケモンの個体値やエンカウント時に重要な役割を果たします。ビデオでは乱数の性質と、ゲーム内のエンカウントシステムとの関係について解説されています。

💡エンカウント

エンカウントはゲーム内で野生のポケモンに出会うことです。ビデオでは、エンカウントの仕組みや、乱数とエンカウント値がどの程度出会う可能性を決定するかについて説明されています。

💡Dサム

Dサムはビデオ内で使用される用語で、正乱数と不乱数の合計値を指しています。ビデオでは、Dサムを予測することで特定のポケモンとのエンカウントを操作することができると紹介されています。

💡Dサムマニピュレーション

Dサムマニピュレーションは、ビデオで紹介される技術で、Dサムの値を操作して希望するポケモンとのエンカウントを誘導する手法です。ビデオでは、この手法を使って特定の個体値のポケモンを捕獲する方法が説明されています。

💡状況再現

状況再現はビデオ内で触れるテクニックで、特定の操作を繰り返すことで、同じ乱数の系列が生成されるようにすることで、ゲーム内の特定のイベントを誘導する手法です。ビデオでは、ゴミ箱の抽選位置を固定させる例を通じて説明されています。

💡エンカウント値

エンカウント値は、特定のマップ上で野生ポケモンとの出会う確率を決定するパラメーターです。ビデオでは、エンカウント値が小さければ小さいほど、希望するポケモンとの出会いが容易になる理由が解説されています。

💡乱数の性質

ビデオでは、乱数がどのように生成されるか、そしてその性質がゲーム内の個体値やエンカウントに与える影響について説明されています。乱数はコンピューター上で生成されるため、完全に無秩序ではなく、一定の規則性があるとされています。

💡シミュレーション

シミュレーションは、ビデオ内で使用される言葉で、ゲーム内の乱数を予測したり、エンカウントを操作するために行う仮想的な実験や操作を指しています。ビデオでは、シミュレーションを通じて、特定のポケモンとの出会いを操作する方法が紹介されています。

Highlights

ポケモンの個体値は先天的な強さを表し、同じ種でも個体値が高いポケモンの方が強い。

初代ポケモンでは個体値の変更が不可能で、ステータスはランダムに割り当てられる。

3世代以降のポケモンゲームでは個体値の表現範囲が32段階に拡張されている。

ポケモンのエンカウントはマップごとのエンカウント値によって決まり、乱数により発生する。

個体値の生成は正乱数と呼ばれる特定の乱数アルゴリズムによって決定される。

最高個体値のポケモンは特定のマップでは出現しないという事実が明らかにされた。

乱数はコンピューター上で生成されるため、完全な無秩序ではなく一定の規則がある。

ポケモンゲームの乱数はディバイダーレジスタの値に依存し、その値は時間経過で増加する。

エンカウントの乱数生成は正乱数と不正乱数の組み合わせで行われ、これにより個体値が決定される。

個体値の出現はエンカウント値に依存しており、値が大きいほど出現する個体値の種類が増える。

野生エンカウント以外でのポケモンの獲得は個体値に制限がなく、最高個体値も出現可能である。

Dサム(正乱数と不乱数の合計)の値は一定ではなく、繰り上がりや繰り下がりによって変動する。

Dサムマニピュレーションはエンカウント調整のための技術で、Dサムの値を推定しエンカウントを操作可能。

状況再現はディバイダーレジスタの値を固定化することにより、乱数を予測可能にする技術。

状況再現はハードリセットが必要で、Dサムマニピュレーションと比較して使用環境が限定的である。

個体値の追求に状況再現やDサムマニピュレーションは有用だが、ゲーム全体での活用は限られる。

ポケモンゲームにおける乱数の理解は、個体値追求やエンカウント調整において重要な役割を果たしている。

Transcripts

play00:02

なあ霊夢よ何よ最強のポッポを育成する

play00:05

ためにさっきからこ1時間ほど草村で粘っ

play00:07

てるんだがなかなかいいポッポが出ないん

play00:09

だよなネズミでもいいんだけどそれって

play00:12

個体値が全部マックスのポケモンを捕まえ

play00:14

たいってことそうだぜなかなか現れないん

play00:17

だよなとても残念なお知らせだけど魔理沙

play00:20

いくら粘っても草村のエンカウントでは

play00:22

最高個体のポケモンは出てこないわよな

play00:25

なんだってというわけで今回はどうして

play00:27

最高個体が出ないのかその他乱数に待ある

play00:30

お話をしていきたいと思いますそれじゃあ

play00:32

ゆっくりしていってねまず個体値とは何な

play00:36

のかこれはポケモンをプレイしたことある

play00:38

人なら説明なんていらないと思うけど一応

play00:41

少しだけ触れておきましょうポケモンの

play00:43

ステータスは産地と呼ばれる3つの数値

play00:45

から計算されていますこれは初代から最新

play00:47

作で共通のシステムのはずなので有名です

play00:50

ね個体値は3地の1つで文字通り個体ごと

play00:53

の強さを表す値です同じポケモンであって

play00:56

も個体値が大きいポケモンは小さい

play00:57

ポケモンに比べて強いですこれは先天的な

play01:00

もので初代では後からここを変更すること

play01:03

はできません正規ではの話ですがね初代で

play01:06

は攻撃防御素早さ特殊の核ステータスに

play01:09

ランダムに4ビットずつ割り当てられてい

play01:11

ますHPはHPはそれぞれのステータスを

play01:14

見て計算されるので独立して用意はされて

play01:17

いないわね4ビットなので0から15まで

play01:19

の16段階が表現できよくこれを16進数

play01:22

で表すので全てのステータスが最大の15

play01:25

だった場合4fと呼んだりするらしいです

play01:27

ねこれが初代の最高個体値です3世代以降

play01:30

は0から31の32段階だから

play01:33

アルファベットのVまで存在しているんだ

play01:35

よな実に贅沢ですねというわけで個体値の

play01:38

話でしたとりあえず例が弱くて15が強い

play01:41

ということだけ知っていればいいですで

play01:43

最高個体が出ないというのはどういうこと

play01:45

なんだよそもそも個体値というのは

play01:47

ランダムな値つまり乱数によって決められ

play01:49

ているものですこの乱数に規則があるなら

play01:52

全然ありえない話ではないと思わない思わ

play01:54

ないぜじゃあまずは乱数の解説からし

play01:56

ましょうね乱数は4で字のごとく乱れた数

play01:59

のことで完全に無秩序なランダムな数値

play02:02

ですポケモンに限らずいろんなところで

play02:04

使われているのは皆さんもご存知の通りだ

play02:06

と思います大多数のゲームで乱数が使われ

play02:09

ていますよね初代ポケモンで言うならどの

play02:11

タイミングでエンカウントが起こるのかと

play02:13

か口ジムのゴミ箱の位置とかスロットとか

play02:16

ま本当に色々ですしかしながらゲームで

play02:19

使われる乱数はコンピューターで機械的に

play02:21

作るものなので乱れた数とは言え度必ず

play02:23

規則ができてしまうんですね

play02:25

コンピューターで作ると乱数は乱数でも

play02:27

疑似乱数になってしまいますその速が邪魔

play02:30

して最高個体が出現しないのですと言われ

play02:33

てもなでは初代ポケモンではどのような

play02:35

乱数の作り方をしているのかを見てみ

play02:37

ましょうまずディバイダーレジスタから値

play02:39

を取り出しますはあ日本語で文集レジスタ

play02:43

一定時間が経つと1つずつ増えていく数値

play02:45

ですかなり早いスピードで足されているの

play02:47

で乱数を作るのに持ってこいですタイマー

play02:50

みたいなものだと思ってくれればいいわよ

play02:52

例えば最初にここの値を見た時は例だった

play02:55

けどしばらくしてもう1度来てみたら3に

play02:57

なってたみたいな感じの数値なんかか

play02:59

すでに乱数してないかもうそれっぽいけど

play03:02

ねただこれだけだと1つずつ足されるだけ

play03:04

なので乱数にしてはあんまり乱れてないわ

play03:07

だからここにもう1つ計算を加えていき

play03:09

ます取ってきたディバイダーレジスタの値

play03:11

を足します何にだよ前回の乱数2です前回

play03:15

作った乱数にディバイダーレジスタの値を

play03:17

加えることで新たな乱数を作るのです

play03:19

なるほど前回の乱数を再利用するんだな

play03:22

こうすればより乱数っぽく乱れた動きに

play03:25

なりそうですよね足し算で作られたこちら

play03:27

の乱数を正乱数と呼ぶことにします正しい

play03:30

乱れとはこれかにってことは不もあるのか

play03:33

はいその通り実は初代ポケモンには乱数が

play03:35

2種類存在します正乱数とツオなす不乱数

play03:39

ですこちらは正乱数とは反対に

play03:41

ディバイダーレジスタの値を前回の不乱数

play03:43

から引くことで新しい乱数を作っています

play03:46

これが乱数の作り方です意外と単純だな

play03:49

その割には結構ランダムな値が出てくるん

play03:51

ですよ何せこのディバイダーレジスタが

play03:54

かなり高速で動いているもんだからね

play03:56

じゃあ規則なんてなさそうじゃないか最高

play03:58

個体なんて割と出てくるもんじゃないのか

play04:01

ではさらに踏み込んでエンカウント時の

play04:02

状況で考えてみることにしましょうか

play04:05

さっきちょっと触れた通りどのタイミング

play04:07

でエンカウントするかというのも乱数で

play04:09

決まっています具体的には各マップにエン

play04:11

カウント値という数値が決められていて

play04:14

それを乱数が下回った時にエンカウントが

play04:16

発生するという仕組みですここで言う乱数

play04:18

というのは正乱数の方で不乱数は使いませ

play04:21

ん一方の個体値も正乱数で決められます

play04:24

個体値は攻撃と防御素早さと特殊でペアが

play04:27

2つあるので2回乱数を生成する必要が

play04:30

ありますここでは攻撃と防御のペアをAB

play04:32

素早さと特殊のペアをSCCと呼ぶことに

play04:35

しますSC1の方がABよりも先に生成さ

play04:38

れいずれも正乱数で決まりますそしてエン

play04:40

カウントが決まった後割とすぐに個体値も

play04:43

決まるのでエンカウントに使った乱数の次

play04:46

の次にSCさらに次にABが決まります

play04:49

なんで1回余計なのを挟むんだこれはマ

play04:51

フレーム乱数が生成されるからねおそらく

play04:54

乱数をより乱数垂らしためのものでここで

play04:56

は特に何かに使われる乱数ではないわ

play04:59

ダミー乱数ってわけだてことはエカウント

play05:02

の乱数と個体値は1つ飛ばして生成され

play05:04

てるんだなそうそしてそれぞれ

play05:06

ディバイダーレジスタが大体これくらい

play05:08

ずれるわではAB1とSC1がいずれも

play05:11

最大のFF重心数で255だったと仮定し

play05:14

てみましょう後ろから空白を埋めていき

play05:16

ます正乱数は直前に作った乱数に

play05:19

ディバイダーレジスタを足したものです

play05:21

からAB1では直前の乱数はSC1の

play05:23

255でそれにディバイダーレジスターを

play05:25

足したものが255になればいいわけです

play05:28

ね255から25になるってことは何も

play05:31

足されていないなつまり例が足されたと

play05:33

いうことになりますここでのディバイダー

play05:35

レジスタは例だと分かりましたさっきも

play05:37

言った通りディバイダーレジスタがどれ

play05:39

くらいずれるかというのは分かっているの

play05:41

でこれで計算に必要なディバイダー

play05:43

レジスタが全て特定できますねではさらに

play05:46

前を考えますここで使われる直前の乱数は

play05:49

-2を足されて255になる数値を考えれ

play05:51

ばいいので257になりますねこの257

play05:55

というのはダミー乱数なので一旦無視して

play05:57

さらに前を考えます直前の乱数は-47を

play06:01

足されて257になる数値になりますので

play06:04

304ですねこの数字がエカウントに使わ

play06:07

れる乱数です実際のゲームの計算では

play06:09

256以上の数値はオーバーフローして

play06:12

全て256で割ったあまりの数値になり

play06:14

ますので34は48になりますエン

play06:17

カウントの乱数が48ってことはエン

play06:20

カウント値が49以上のマップじゃないと

play06:22

乱数が下回るってことはないからそもそも

play06:25

エンカウントが起こらないはずだよなその

play06:27

通りところが正規のマップでのウト地は

play06:30

最大でも30で49以上のマップは存在し

play06:33

ませんだから最高個体値は出ないという

play06:35

わけよなるほど乱数がディバイダー

play06:37

レジスタに依存しているからこういうこと

play06:39

が起こるんだな確かに規則ができちゃう

play06:41

わけだそして容易に想像できることですが

play06:44

出現する個体値の個数はエンカウント値に

play06:46

依存していますエンカウント値が大きく

play06:49

なれば許容できる数値も増えるからね

play06:51

例えばエンカウント値が5の19番水道は

play06:53

全部合わせて2560種類の個体値が出現

play06:56

しますがエンカウント値が30のサファリ

play06:59

ゾーンではは

play07:02

89607821

play07:12

[音楽]

play07:14

種類あるうちの最大でも

play07:28

89607821対しては個人的には少し

play07:30

会議的です後で触れるけどバージョンや

play07:33

環境によっては状況も変わるしちょっと

play07:35

周りくすぎる気がするのよね後から最高

play07:38

個体が出ないと判明したというのならまだ

play07:40

納得できるんだけど確かに最高個体値を

play07:43

出さないだけなら直接分岐して弾いちゃえ

play07:45

ばいいよなそしてさっきの計算をまとめる

play07:47

と出現する個体値なのか判別する式を

play07:50

立てることができますABB値は攻撃下

play07:52

16+防御SC1は素早さか16+特殊と

play07:56

して扱いますそしてTというのはさっき

play07:58

言った環境ごとに異なる値もい環境ごとの

play08:01

ディバイダーレジスタの変動量です赤緑青

play08:04

では45後期機カバでは48というように

play08:06

少しだけ違っています64のポケモン

play08:09

スタジアム金銀内のGBビルでプレイする

play08:11

とさらに22から26ほどずれるようです

play08:13

ねそして面白いことにポケモンによっては

play08:16

GBビルでなら最高個体も出現する計算に

play08:19

なりますいや出るんかい冒頭で出ないって

play08:21

言い切ってたじゃんあれはちょっと嘘です

play08:24

64でプレイする環境が揃っていないので

play08:26

きちんと検証はできていないけどねその他

play08:29

ゲームキューブのゲームボーイプレイヤー

play08:30

やスーパーファミコンのスーパーゲーム

play08:32

ボーイなどでもポケモンをプレイできる

play08:33

けどいずれも環境が揃っていないので未

play08:36

検証ですすみません今はなきバーチャル

play08:39

コンソールでは実機と同じ結果だったので

play08:41

最高個体はおそらく出ませんま環境によっ

play08:44

ちゃ最高個体も出るってわけだなちょっと

play08:46

安心したぜそうね少なくともGBビルで

play08:49

なら出そうなのでどうしても正規で欲しい

play08:51

人はポケスタ金銀で頑張りましょうでは式

play08:54

の方に戻りますま後の変数は見てもらって

play08:56

の通りで左辺を計算してエンカウントを

play08:59

下回ればその個体値は野生で出現すると

play09:01

分かりますいやちょっと図鑑番号とか1回

play09:04

も話に出てきてないけどあそうそう実は

play09:07

図鑑番号も少しディバイダーレジスタの

play09:09

動きに関わっていてね個体値の乱数を作る

play09:12

前に図鑑番号を検索するプログラムがあっ

play09:14

て図鑑番号が大きいほど検索に時間が

play09:17

かかるからそれも計算に入れているという

play09:19

感じです本当にただそれだけだよただし

play09:22

ミュのPは-2化石型と幽霊型結盤波-7

play09:26

として計算してくださいまあどれも野生で

play09:29

出るわけないから関係ないなそれと

play09:31

ディバイダーレジスタは多少値が前後する

play09:33

ので左辺に1から6を足した数値でも確認

play09:36

するとより確実ですNはそのための数値で

play09:39

1から6が入ります念のため式が正しいか

play09:42

試してみ

play09:44

ましょう今ちょうど手持ちにポッポがいる

play09:47

ので個体値を見てみます見事に最高個体

play09:51

全頭な改造個体ですね化け物では比較対象

play09:54

として新たに草村のポケモンを捕獲します

play09:57

今回1番道路の草村なでエンカウント値は

play10:00

25でコラッタかポッポが捕獲できます

play10:03

コラッタが出てきました

play10:05

ね早速個体値を確認しましょう絶妙に強い

play10:09

個体だなABが176SC値が189で

play10:13

コラッたの図鑑番号は19なので左辺は6

play10:16

ですねエンカウント値が25なので

play10:19

ちゃんと下回っていますお次はポッポ

play10:22

こちらも個体値を確認してみ

play10:25

ましょうこれまた微妙な強さABが177

play10:29

SCが107ポッポの図鑑番号が16なの

play10:32

で左辺は14これもエンカウント値を

play10:34

下回っています確かに草村でエンカウント

play10:37

するポケモンは式に当てはまっているよう

play10:39

だなこれで分かるように野生エンカウント

play10:41

では出る個体値と出ない個体値があるわけ

play10:43

ですしかしながら個体値に制限があるのは

play10:46

野生エンカウントのみでその他シンボル

play10:48

エンカウントやバグなどで捕まえた

play10:50

ポケモンは個体値に制限がありません

play10:52

例えばミュリアポケモンを呼ぶ笛フィフス

play10:54

法なんかで捕まえたポケモンは個体値の

play10:56

制限はなく何でも出てくるわよあはEV

play10:59

アラプラスコイキングとかNPCから

play11:01

もらうポケモンもねこれは言うまでもない

play11:04

と思うけどエンカウント値の制限がない

play11:06

からですそっちはのびのびと厳選ができ

play11:08

るってことだなそうね好きなだけ厳選して

play11:11

ちょうだい

play11:12

話はちょっと変わるけど初代ポケモンでの

play11:15

乱数はある程度予想できるというのは知っ

play11:17

ているかしら条件にもよるけどそうなのえ

play11:21

さっきの乱数の作り方に戻るけど前回作っ

play11:24

た乱数にディバイダーレジスターを足し

play11:26

たり引いたりするという点で正乱数と不

play11:28

乱数の作り方ってかなり似ているわよね

play11:31

それが何だというんだ同じ値を足したり

play11:33

引いたりするということは正乱数と不乱数

play11:36

を足し合わせるとディバイダーレジスタが

play11:37

相殺されると思わない思わないぜ値を使っ

play11:40

て考えると分かりやすいわ正乱数の初期地

play11:43

が2フラ数が3ディバイダーレジスタが例

play11:45

だとして考えてみましょう乱数の生成1回

play11:48

ごとにディバイダーレジスタが2ずつ動く

play11:50

と考えると正乱数と不乱数はこのように

play11:53

計算できますねこの正乱数と不乱数を

play11:55

それぞれ足し合わせるとおお全部後になっ

play11:58

たぞなるほどほど正乱数と不乱数の合計で

play12:01

は同じ数の政府が揃っているから例が足さ

play12:03

れているのと同じなんだなそうです合計は

play12:06

一定になるので片方の乱数が特定できれば

play12:09

もう片方の乱数も予測できるというわけ

play12:11

です海外では正乱数と不乱数の合計のこと

play12:14

をDサムと呼んでいますがしかし実際には

play12:18

そううまくはいきませんなんで実際にはD

play12:20

サムは一定にならないからです先ほどから

play12:23

普通にディバイダーレジスターを足したり

play12:24

引いたりしていますが実際の計算ではここ

play12:27

はただの足し算や引き算ではありませ直前

play12:30

の計算で繰り上がりや繰り下がりがあった

play12:32

場合1つ余分に足したり引いたりすると

play12:34

いう足し算と引き算になっていますこれは

play12:36

8ビットで収まらない計算をするために

play12:38

用いられる命令ですがここでは乱数の動き

play12:41

がさらに複雑になるように使われている

play12:43

ようです実際これのせいでDサムが余分に

play12:46

増えたり減ったりするので予測が難しく

play12:48

なっていますただしフィールドにいる時は

play12:51

確定で正乱数の直前の計算で繰り上がりが

play12:53

ないので素直にディバイダーレジスタを

play12:55

足します乱数は正乱数不乱数の順に計算さ

play12:59

ので正乱数の計算で繰り上がりがあった

play13:01

場合は不乱数は1つ余分に引かれます

play13:04

繰り上がりがあるかないかは1/2なので

play13:06

2回に1回ほどDサムが減っていくという

play13:08

計算です実際にどのようにDサムが動いて

play13:11

いるのか確認してみましょうまずは

play13:13

フィールド上のDサムの動きを見てみ

play13:15

ましょうね1番上がDサムでその下が正

play13:18

乱数さらにその下が不乱数です下2つは

play13:21

いかにも乱数って感じの動きですがDサム

play13:24

は実に綺麗に減少しているのが分かります

play13:26

ね乱数らしからぬ動きだな1フレームに

play13:29

1度乱数が生成されるので2フレームに

play13:31

1度Dサムが減少する計算

play13:34

ですでは今度は戦闘時のDサムの動きを見

play13:37

てみ

play13:38

ましょうあれ増えてないか増えているわね

play13:42

実は状況によってDサムの動きが変化し

play13:44

ます後で説明するけど増加時は速さが減少

play13:47

時の1/2ぐらいになっているはずです

play13:50

面白いねさてしっかり綺麗に動いているの

play13:53

が分かりましたね減少したり増加したりで

play13:55

動きが違うのは直前にある計算の違いです

play13:58

さ説明した通り直前の計算で繰り上がりや

play14:01

繰り下がりがあった場合でちょっと多めに

play14:03

正卵数の方に足されるので動きに違いが出

play14:06

ますここで言う直前の計算というのは何も

play14:08

正乱数や不乱数の計算に限った話ではなく

play14:12

あらゆるプログラムの計算のことを指して

play14:14

います具体的にはスプライトモードによっ

play14:16

て増加化減少化が決まるわねスプライト

play14:19

モードに関して詳しくはこの動画を見て

play14:21

欲しいんだけど直接表示モードの時は直前

play14:23

の計算で繰り下がりが必ず起こるように

play14:26

なってますそのため正卵数の方の足し算で

play14:29

で1つ多く足されるのでDサムが増加し

play14:31

ますフラ数の方は正乱数の計算の

play14:33

繰り上がりに依存するので変わらず減少し

play14:35

ますが必ず1つ多く足される正卵数と

play14:38

1/2の確率で減少するフラ数では正卵数

play14:42

の方が増加量が多いので少しずつDサムが

play14:44

増加していくというわけです戦闘中の他に

play14:47

もポケモンを開いた時やポケ線で回復する

play14:49

時なども直接表示モードになるのでDサム

play14:52

が増加していきます減少の時は大体6.4

play14:55

秒が周期ですね増加は12.8秒ぐらいか

play14:58

な一応計算上では6.318秒と13.1

play15:01

秒が周期になるはずですが若干ずれてい

play15:04

ますなんでなのかなよくわからんが途中の

play15:07

1/64っていうのは何だああ正乱数と

play15:10

フラ数で同じディバイダーレジスターを

play15:12

足したり引いたりするって説明したんだ

play15:14

けどフランスの計算をする途中で

play15:16

ディバイダーレジスタが足されるパターン

play15:18

もあってねそうするとフランスの方が1つ

play15:21

多く引かれちゃうんだよねそうなる確率が

play15:24

1/64はあなるほどフランスの方が後に

play15:27

計算されるからそうなるんだなもし計算の

play15:29

順番が逆なら増減も逆になっていた

play15:32

でしょうねただしこれらは全て赤緑青盤の

play15:34

話でピカ板だと若干違いますピカ版では

play15:37

直前にある処理でプレイ時間の管理を行っ

play15:40

ていてこの処理では大抵の場合繰り下がり

play15:42

が起こるようになっていますてことはD

play15:44

サムは増えていくのかそういうことになる

play15:47

わね赤緑青番と同様に直前に繰り下がりが

play15:50

あると生卵数が1つ多めに足されるのでD

play15:52

サムが増加します増加の速さは大体赤緑青

play15:55

番の増加と同じぐらいですでですよこのD

play15:59

サムの周期さえ読めれば乱数が予測できる

play16:01

ような気がしてきませんかまあ確かに正

play16:03

乱数や不乱数と比べたら穏やかで規則的に

play16:06

動いているわけだしできないことはないの

play16:08

かDサムの代表的な利用例として

play16:11

エンカウントするポケモンの調整に使われ

play16:13

ますエンカウントするポケモンの抽選には

play16:15

フラ数が使われています具体的には

play16:18

エンカウントできるポケモンはマップごと

play16:20

に10引分種類とレベルが設定されていて

play16:22

それぞれこのように区画された範囲の中

play16:25

から1つが選ばれますこの区画はスロット

play16:27

と呼ばれていますこの区切り方なんか変

play16:30

スロットの大きさによって出現率が変わり

play16:32

大きいほど出現しやすいポケモンですフラ

play16:35

数が大きくなるほど細かく区画されていて

play16:38

出現率は低くなっています例えばフラン数

play16:40

が151だった時はスロット4なので緑番

play16:44

の2番道路ならレベル4のコラッタが出る

play16:46

といった具合ですフラン数が51なら

play16:48

スロット2のレベル3のポッポですね

play16:50

そしてこのフラン数はエンカウントを

play16:52

起こすか決める正卵数と同期です

play16:54

エンカウント値を下回った正卵数と

play16:56

スロットごとの数値の範囲の不乱数どちら

play16:59

もそれなりに限られた値になりますよね

play17:01

つまり1度エンカウントすればおよそのD

play17:03

サムが推測できるんですよなるほど正乱数

play17:07

と不乱数が同時に分かることでDサムが

play17:09

計算できるってわけだな正乱数がエン

play17:11

カウント値を下回った時のみエンカウント

play17:13

が起こると考えるとスロットのフラ数は

play17:16

その同期なのでDサ引円カウント値がフラ

play17:18

数になりますよねDサムが推定できていて

play17:21

なおかつエカウント値は固定という条件を

play17:24

考えるとDサムごとのフラ数の値もおよそ

play17:27

特定ができるわね要するにDサムの値ごと

play17:30

にエンカウントしやすいポケモンが変わっ

play17:31

ていくというわけですグラフで見ると

play17:34

分かりやすいですね横軸がDサムの値で

play17:36

縦軸が遭遇率ですこれはエンカウント値

play17:39

25の2番道路の草村のグラフになります

play17:42

この遭遇率はエンカウント値が小さくなれ

play17:44

ばなるほどよりフラ数が絞り込めるので

play17:46

エンカウント値が小さいマップほどD

play17:48

SAMでのエンカウント調整がしやすく

play17:50

なるはずですとはいえこれはDSAMが

play17:52

完璧に計算できた場合の確率で実際はここ

play17:55

まで正確に調整することは難しいですなぜ

play17:58

ならスロットやエンカウント値の大きさに

play18:00

よってずれが生じるからですね例として

play18:02

エンカウント値25の2番道路でのエン

play18:04

カウントを考えますレベル3のコラッタが

play18:07

出現したとするとエンカウントが起こった

play18:09

時の正乱数のトリール値の範囲は0から

play18:11

24スロットが1の時フラ数の範囲が0

play18:15

から50なのでDサムは0から74と結構

play18:18

差があります74もずれるとかなり状況が

play18:20

違うようだなそうねこのグラフで言うと山

play18:23

1つ分ぐらい違うからうまく調整ができて

play18:25

も失敗することもあるわただしこれは極端

play18:28

なで小さい範囲を持つスロットならその分

play18:31

乱数のトリール範囲も小さくなるのでD

play18:33

サムの差も狭まりますエンカウント値も

play18:35

同様に小さいほど正確に定まりますねま

play18:38

細かい条件は色々ありますが要は運です

play18:41

結局そこに行きつくのかとはいえ調整をし

play18:44

なければ絶対に出現しないタイミングも

play18:46

ありますからそれを回避する上では重要な

play18:48

操作になりますねとりあえず調整の方法を

play18:51

説明しましょうまず先ほど見てもらった

play18:53

通りDサムは6.4秒ほどで一周するよう

play18:56

に減っていきますということは1度棒のD

play18:59

サムまで待ったらあとは6.4秒ごとに

play19:01

草村を歩いたりその場で方向転換すれば

play19:04

ずっと同じDサムのままエンカウントを

play19:06

待つことができそうですね6.4秒という

play19:08

のは大体お花や水のタイルが計算上19回

play19:11

動くぐらいの長さなので測るのが難しい人

play19:14

はそれを見て動くのもありです今回はその

play19:16

方法で時間を測ることにします2番道路で

play19:19

調整していきます狙うは最小スロットの

play19:22

レベル5キタPですまずは適当にエン

play19:24

カウントしてDサムを推定しますレベル5

play19:26

コラッタはスロット8なのでフランスは

play19:29

229から241ですエンカウント値は

play19:32

25なのでDサムは229から265

play19:35

ぐらいですねスロット10のキャタPを

play19:37

捕まえたいとなるとDサムは253から

play19:40

279が理想なのでそれに合わせますなん

play19:43

やかんや計算して出した表がこちらです

play19:45

今日が次回エンカウントしたいスロットで

play19:48

列が今回エンカウントしたスロットを表し

play19:50

ます今の状況は今回のスロットが8で次回

play19:53

のスロットを10にしたいのでお花が30

play19:56

回動くのを待ってから歩くのを始めると

play19:58

いうです感じなのですがこの表通りに動く

play20:01

とどういうわけかスロットが1つ分ずれて

play20:03

しまいがちですスロットにを出したい場合

play20:05

はスロット3の行を見るとうまくいくん

play20:07

ですよねなんじゃそりゃですのでスロット

play20:10

10を出したいならスロット1の行を見る

play20:12

とうまくいくはずですそしてこの表り待っ

play20:14

たら18回お花が動くのを待って歩くと

play20:17

いう動作を繰り返しますこうすることで

play20:19

理想のDサムを連続で出していくという

play20:21

流れです待時間が長いなまあ気長にやって

play20:24

いき

play20:26

ましょう今度はスロット7です遠からずだ

play20:29

なスロット7なので今度は29回待ちます

play20:32

これの繰り返しであんまり面白みがないの

play20:34

で出てくるまで早送りし

play20:37

ましょうそれからなるべく最速で逃げ

play20:39

られるように入力する必要がありますこれ

play20:42

はできるだけ戦闘時間を均一にして差が出

play20:44

ないようにするためねポケモンがボール

play20:46

から出てくるアニメーションが始まって

play20:48

から十字キーを右下に長ししていれば勝手

play20:51

に逃げるにカーソルが合うので早く逃げる

play20:53

ことができますカーソルがあったと思っ

play20:55

たら十字キーを離してすぐにAボタンを

play20:57

押すと最速ですただしポケモンの鳴き声の

play20:59

長さによっても戦闘時間が変化するので

play21:02

この票はあんまり役に立たないかと思い

play21:04

ますあくまでポッポで戦闘を始めた時専用

play21:07

の表だと思ってください当然だけど周期の

play21:10

違うピカ板では全く役に立たないから注意

play21:12

してね調整のコツとかないのかまあなんと

play21:15

言っても数え間違えないことかな周期さえ

play21:18

きっちり抑えられていれば割となんとか

play21:20

なるからそこまでシアな調整ではないわよ

play21:22

ふんピカなら周期も遅いからさらに簡単に

play21:26

なると思うわさあ時は来た

play21:34

ついにスロット10のレベル5キャタピー

play21:36

です記念に捕まえておきましょうしかし

play21:38

だいぶ手こずったようだなえ調整をしたと

play21:41

はいえ結構苦戦したわね時間で言うと大度

play21:44

先生を9.5人撃破するぐらいかな本当に

play21:46

調整できてんのかよま完璧に調整ができた

play21:49

としてもスロット10は最大で12.5%

play21:52

しか出ないからしょうがないよそんなもん

play21:54

かね一応個体値のチェックばっちり正規

play21:58

個体です特殊はもうちょっと頑張って

play22:00

欲しかったなというわけでDサムの調整

play22:03

でしたこれが今回のエンカウントの内訳

play22:05

です最初の1回を除いてスロット10が

play22:08

出るまでに36回もエンカウントしてい

play22:10

ます確率で言うと2.7か元が256で

play22:15

1.2%だから一応それよりは大きいけど

play22:18

調整したにしてはしぼすぎる気がするな

play22:20

まあ思考回数もかなり少ないからなんとも

play22:22

言えないわねでも内訳を見ると極端に偏り

play22:25

があるのが分かるでしょう確かにスロット

play22:27

2から5当たりががかなり少ないな逆に

play22:30

スロット1は出すぎているぐらいだぜ

play22:32

スロット1はスロット10の隣なので調整

play22:34

がうまくいったエンカウントがそれなりに

play22:36

多いような気がしますスロット1と2は

play22:38

大きさが同じはずなのにこんなに顕著に差

play22:41

が出るのが面白いねとはいえDサムの誤差

play22:43

にしてはかなりバラついているからやはり

play22:45

完璧に調整するのは難しいということね

play22:48

やっぱ秒数でのカウントは精度が落ちます

play22:50

なもっと正確な数え方があるのか一般的な

play22:54

のは歩数調整ね何ほ草村を歩いて何ほ草村

play22:57

以外を歩くかみたいに歩数で時間を測る

play22:59

方法があるわプレイ環境に左右されにくく

play23:02

て正確に測れるのがメリットねデメリット

play23:05

としては洞窟とかマップ全体でエン

play23:07

カウントできる場所では使えないことかな

play23:09

どちらにも利点があるってことだなこの

play23:11

一連のエンカウント調整のことを海外では

play23:14

Dサムマニピュレーションと呼ぶそうです

play23:16

乱数を読めるってことはもっといろんな

play23:17

ことに応用できそうだよなと思うかもしれ

play23:20

ないけど意外にも使い勝手は良くはないね

play23:23

なぜならDサムを推測するためには正乱数

play23:25

と不乱数が同時に分からないといけない

play23:27

からね正乱数はともかくフラン数が使わ

play23:30

れる場面って意外と少ないからDサムが

play23:32

計算できるのってレアパターンなのよ私が

play23:35

知っている中でフラン数が使われているの

play23:37

はエンカウントスロット以外では口ジムの

play23:39

ゴミ箱とトレーナーIDぐらいだししかも

play23:41

分かったところで正乱数か不乱数のどちら

play23:44

かが何らかの制限を受けていないともう

play23:46

片方の推測ができないからDサムを読む

play23:48

意味がないっていうねそれはあんまり

play23:50

美味しくないなその代わりと言ってはなん

play23:53

だけど状況再現という技があります原理が

play23:56

同じかは知りませんが近頃スカーレットと

play23:58

バイオレットでも流行っているようですね

play24:00

なんだそれ文字通りだけど状況を再現する

play24:03

のよ散々説明しているように乱数は

play24:05

ディバイダーレジスタの影響を強く受けて

play24:08

いますねディバイダーレジスタというのは

play24:10

時間によって変化するものですので乱数の

play24:12

動きは時間によって左右されるわけです

play24:15

じゃあその時間をいつも同じにできれば

play24:16

乱数も同じように動くのではというのが

play24:19

状況再現ですははあなるほど理屈は分かっ

play24:22

たけどそんな簡単にできるもんなのか

play24:24

ディバイダーレジスタって結構高速で動い

play24:27

てるんだろ簡単にできますともそう初代

play24:30

ポケモンならねまあ見てもらった方が早い

play24:32

でしょう口ジムのゴミ箱で実験します口

play24:35

ジムのスイッチの位置も当然乱数で決まっ

play24:37

ているのでこれを状況再現で固定すると

play24:40

いう試みですゴミ箱の位置は口ばしてィの

play24:42

マップに移動するかはれを低かで最抽選さ

play24:45

れますとりあえずは状況再現なしで様子を

play24:48

見ましょう

play24:49

かこれは8番のゴミ箱ですね最抽選させて

play24:54

もう1度どこが選ばれるか試します2つ目

play24:57

のスイッチを外したことによって最抽選さ

play24:59

れましたが条件を同じにするために外に出

play25:02

てもう1度最抽選させ

play25:04

[音楽]

play25:08

ます衛星観念はどうなってんだこのジム

play25:11

こんな大量のゴミ箱何に使っているん

play25:13

でしょうか

play25:15

ねありました12番のゴミ箱ですこれで

play25:19

ランダムに抽選されていることが分かった

play25:21

ので今度は状況再現を使ってみますハード

play25:24

リセットをして特定の入力をし

play25:27

ます

play25:32

すぐにゴミ箱を抽選させます今から絶対に

play25:35

ゴミ箱の位置を当てて見せる見て

play25:38

てほらねすごいどうしてそんなことを知っ

play25:41

ているんですかもしかしたらたまたま8番

play25:44

だっただけかもしれないのでもう

play25:51

1度また8番です

play25:54

おおダメ押しにもう

play25:57

1度

play26:00

[音楽]

play26:07

また8番かこれが状況再現ですこんなこと

play26:11

ができるのは別に回答をフォローしている

play26:13

からではなく入力さえしっかりできれば誰

play26:15

でもできますあの入力方法に種があると

play26:17

いうわけだなそうです原理はさっきも触れ

play26:20

たけど要はディバイダーレジスタの動きを

play26:22

固定化すれば乱数も固定化されるという

play26:24

理屈ですこの入力をすると必ず最速で

play26:27

オープニングを終了できるので

play26:29

ディバイダーレジスタやその他プログラム

play26:31

の動きがいつも同じになり乱数も固定化さ

play26:33

れますそれによって乱数で定まるゴミ箱の

play26:36

1も8番で固定になっているわけですね

play26:39

すげえじゃん状況再現これさえできれば

play26:41

ポケモンで使われる大体の乱数の調整が

play26:43

可能になりますRTAでもこれを使った

play26:46

カテゴリと使ってないカテゴリが分かれる

play26:48

こともあるほど強力な裏技ですねぶっ壊れ

play26:51

だな汎用性が高くかなりいろんなところで

play26:54

応用ができますじゃあDサム

play26:55

マニピュレーションをするより状況再現の

play26:57

方がいいじゃないか状況再現のデメリット

play27:00

の1つはハードリセットが必要な点です

play27:02

電源やら何やらを落としてディバイダー

play27:04

レジスターをも例に戻す必要があるからね

play27:07

環境によってはうまくハードリセットが

play27:09

できなかったりRTA的にはリセットする

play27:11

とその分ロスになったりするというのが

play27:14

状況再現よりもDサムマニピュレーション

play27:16

を選ぶ理由かなそもそもルールで禁止され

play27:18

ていたら状況再現は使えないしね適材適所

play27:21

というわけかというわけでここまでのご

play27:24

視聴ありがとうございました今回は乱数に

play27:27

まつわるお話でしたあんまりバググっぽい

play27:29

話ではなかったけどお楽しみいただけた

play27:32

でしょうかまあしようかって言われると

play27:34

ちょっとどうなのかとも思うけどなもし

play27:36

個体値の一部が捕獲できないのが想定され

play27:38

ていた仕様ならどうしてそのようにして

play27:40

いるのか理由を知りたいところです普通は

play27:43

プレイヤーの操作できる半中じゃないんだ

play27:45

しちょっと理不尽すぎる気がするのよね

play27:47

しかしまあ状況再現という便利な方法も

play27:50

あることだし正直そこまで困ることでは

play27:52

ないけどなもし最高個体値のポケモンが

play27:55

欲しいならフス法なりポケモンを呼ぶ笛

play27:57

なりで厳選しましょうもしくはバイナリ

play27:59

エディタで直接いじりましょう正規で

play28:01

欲しいだろ64を買いましょう無理なら

play28:04

諦めましょう辛いぜできないものは仕方

play28:07

ありませんね次回のアップデートに期待

play28:09

することとしますそれじゃあここまでのお

play28:11

相手はアイスでし

play28:12

[音楽]

play28:25

Rate This

5.0 / 5 (0 votes)

هل تحتاج إلى تلخيص باللغة الإنجليزية؟