ぽけどころ

ポケモンについて深く考える

フィールド上で発生する鳴き声処理についての調査結果

 

はじめに

 フィールドでたまに発生するポケモンの鳴き声(101番道路にいるとたまにポチエナの鳴き声がするみたいなやつ)の処理が気になったのでちょっと調べてみました。正直あまり有用ではない鳴き声の処理を忘れないようメモしておきます。

 

事前にわかっていたこと

・そのMAPにいるポケモンの鳴き声のみする(エンカウントテーブル参照?)

・特性:むしのしらせのポケモンが「てもち」の先頭にいると、野生のポケモンの鳴き声がよく聞こえる(ポケットモンスターエメラルド公式完全クリアガイドより一部改変して引用)

 

鳴き声の発生判定

 結論から言うと、解析によりこのようにわかりました。

 

 

 つまりは通常時1200~2400Fごとに1回鳴き声の判定が行われて、特性:むしのしらせのポケモンが「てもち」の先頭にいるとその半分(600~1200F)ごとに1回判定が行われるようです。確かに攻略本に書いてある通り鳴き声がよく聞こえるようになってますね。これが1→1→2→1の最後の1消費の部分ですね。ではその前の2消費は何に使われているか調査しました。2消費のうちの1つは 鳴き声の定位決定。

212に近いほど左から、299に近いほど右から鳴き声が聞こえます。もう1つは音量決定でした。

というわけで2消費で鳴き声の内容を決めていたわけです。 

 

鳴き声の種類判定

 発生判定を調査中...

どうやら1種類のポケモンの鳴き声のみを永遠と鳴らし続けているらしいです。んー...さすがにこれはおかしくないですか????

 というわけで、考えられることを列挙。

・鳴き声処理の3消費に鳴き声の種類判定は含まれていなさそう→鳴き声の種類は何かを契機に変化(鳴き声の種類を保存しているアドレスがあって、それが更新されるタイミングがあるはず)

・鳴き声の種類はそのMAPに出現するポケモンの種類のみ→エンカウントテーブルを参照してそう

 ・エンカウントテーブルはMAPごとに決まっていて、MAP遷移時に変化する

・単純にポケモンにエンカウントしたら変化する可能性

 

そして実機調査...

 思った通りMAP遷移で鳴き声が変化しました。MAP遷移時に謎の消費がいくつかあったらしいので、そのうちの1つだと思われます。

 

まとめ

・鳴き声処理の順番は、定位決定→音量決定→間隔決定

・定位は212~299の88種類

・音量は50~79の30種類

・鳴き声間隔は1200~2400F(むしのしらせ時600~1200F)

・鳴き声の種類はMAP遷移時、エンカウントテーブルを参照してそう?(処理は未検証)

 

最後に

私の興味本位の実用性のない調査に付き合っていただいたRosenwaldt先生、夜綱先生、ありがとうございました。おかげで私の手を汚さずに済みました(?)