Hatena::ブログ(Diary)

アーマーの雑記 このページをアンテナに追加 RSSフィード Twitter

2009-07-07

[]このカビゴンは光ったけど自爆する!

694 名前:ゲーム好き名無しさん[sage] 投稿日:2009/06/21(日) 20:31:10 ID:eMUbTLS40

上で話題になっていたので、ちょっと調べた計算式のような物を書いてみます。

あまり確認してなくて、非常に怪しいのでとりあえず簡単に書いてみます。

手持ちのデータなどあったら検証を兼ねて比較してみてください。間違ってたらぜひ教えてほしいです

(中略)

エメラルドのタマゴの性格値(仮説)

 下位2バイトはその時点での乱数値を65534で割った余りの値に1を足した物。

 上位2バイトはその時点での、起動時からの経過フレーム数をシードとした乱数。(この乱数は通常の物とは独立しています)

 例えば600フレーム目にタマゴが出来たなら上位2バイトは0x28C8となり、

 下位2バイトは600フレーム分の乱数消費にNPC移動などの乱数消費を加えた分の乱数が設定されます。

※ここでいう乱数では計算結果の上位2バイトのみ使っている考えてください。

アユザックさんのデータを借りて検証。

 理論値理論値実験値
F性格値上位2バイト性格値下位2バイト性格値下位2バイト
479120dd750475928
48053d3b3feba2728
48195992cc5e88029
482d760caf5e88028
4831926b6bb 
4845aeca16f 
4859cb2fc93d1a528
486de79fab5 
487203ffe1a 
4886205f202dd2030
489a3cc5fcadd2029
490e592cd23dd2028
4912758c9ef 
492691f409a175d,335528,29
493aae5e9b5335528
494ecabdbaad06428
4952e726e70 
4967038fcee 
497b1fe5aa1cd0e28
498f3c4472 
499358b5f7a26c6,525b28,29
500775186684dd29
501b9178af7 
502fade99e470cc28
5033ca4a3c51c1828
5047e6a114f 
505c031f38d 
5061f766c 
50743bd4759 
5088584ba2746d029
509c74a6738c5b329
510910e880 
5114ad68141578529
5128c9d6b57578528
513ce63d1a590b528
5141029eae1 
51551f0807d 
51693b6790c 
517d57cf68 
5181743dd20 
5195909143c 
5209acf175d472529
521dc953355472528
5221e5cd064d06928
5236022a34a 
524a1e8eaf430328
525e3afcd0e1aec28
52625753c69fd4328
527673b26c6 
528a902525b 
529eac84dd 
5302c8e70cc2a9828
5316e551c18 
532b01b5d8d 
533f1e1a0c3 
53433a7d684 
535756ea222 
536b7347a6e 
537f8fa46d0 
5383ac1c5b3 
5397c8735b6 
540be4d5785 
5411490b5 
54241daf39e 
54383a0c147 
544c5678f5a 
54572dc496 
54648f3bcfa 
5478ab9f3e2 
548cc8065b 
549e464725 
550500cd069 
55191d3135e 
552d3994303 
553155f1aec 
5545726fd43 
55598ecbdd1 
556dab22439 
5571c79e9 
5585e3f2a98 
  • 理論値の性格値上位2バイト=((F*0x41C64E6D+0x6073)>>16)&0xFFFF;
  • 理論値の性格値下位2バイト=((seed[F]>>16)+1)&0xFFFF;
    • ただし、
    • seed[0]=0
    • seed[F+1]=(seed[F]*0x41C64E6D+0x6073)&0xFFFFFFFF;

理論値の性格値下位2バイトと実験値の性格値下位2バイトの差がレスで言及されている“NPC移動などの乱数消費”ということになるか。

“NPC移動などの乱数消費”は起動時間が長いほど増えるので、性格値上位と性格値下位の差は起動時間にだいたい比例すると思われる。

試したことないけれど、色違いを出す作業は

  1. あるフレーム帯での差を計る。(上記データのフレーム帯では28程度)
  2. その差を考慮して性格値の候補を計算し、色違いを見つける。
  3. 上位と下位が狙いと合致するタイミングでタマゴを作る。

という流れかな。

コメントレス

  • 砕氷グレイシアさん
    • 機能重複などで不要になったツールは消しています。必要なツールはその文章の引用元、2009年4月28日の記事からどうぞ。
    • 時間の設定方法はそれでわからなければ他の資料を当たるか諦めてください。
  • beamさん
    • その通りです。

砕氷グレイシア砕氷グレイシア 2009/07/07 21:15 返信ありがとうございます。
おかげで何となく流れは分かりました。

それで、いざやってみようと思ったのですが、

2.3

以下のような時間(以降☆)を計算する。

(月×日+分+25(※1))の下位1バイト(16進数表記の下2桁)=狙いの初期seedの上位1バイト(上2桁)

時=狙いの初期seedの中1バイト(16進数表記の上から3,4桁目)

西暦=狙いの初期seedの下位2バイト(16進数表記の下4桁)-603(※2)+2000

EX

狙いの初期seedが0x1B0E0295の場合

2058年10月25日14時8分

月×日+分+25=10×25+8+25=256+27=0x100+0x1B=0x11B→0x1B

時=14=0x0E

西暦=2058=661-603+2000=0x0295-603+2000


この逆算の仕方が分かりません;
このブログ内に一応、seed逆算の記事はありましたが、どうやらそのアプリは消えているようでした。

どうやって時間を出せばよいのでしょうか?

beambeam 2009/07/08 06:28 はじめまして、いつも拝見させて貰ってます。
便乗質問で恐縮なのですが「初期seed調整.xlsx」について質問があります。
秒数が25の理由が以前の記事に
>今回は10秒に起動して連打すると、25秒に“つづきから はじめる”を選択できることを利用するので25とした。
とあるのですが
今回試しに狙う初期SEEDをC10C0FA5 年を2008 秒数を25にしたところ
待ち時間が71.13 と出ました。
この場合は25秒を指定する意味はなく、適当な秒数を入力して
出力された結果通りの起動時間とつづきを押す時間を使えばいいのでしょうか?
変な事言ってたらすいません。

beambeam 2009/07/09 11:40 返答ありがとうございました