DS版FEの乱数


FIRE EMBLEM@2ch2掲示板 > DS版FEの乱数
全部1- 最新50

DS版FEの乱数

1: 1 JnY4VaGM:08/08/12 00:56 ID:IA
DS版FEの乱数生成部分の解析を行うスレです。

ちょっとトライしてみませんか。

2: 1 JnY4VaGM:08/08/12 00:57 ID:IA
■進め方(メモリーサーチ)
下記のステップでチェックするのがよいかなと。番号が若いほど重要と思われ。案募集中。

@過去と同じではないかをきちんと確認する
 ttp://pikaroom.ciao.jp/ 参照。
Aカスタマイズされた過去と同一のアルゴリズム
  →メモリ上の値の持ち方にクセがあるので、それで探してみる
B一般的な乱数アルゴリズム
  →専用のメモリサーチツールを作るのが近道だと思う。
   (このようなツールを探したが、見つからなかった)
Cカスタマイズされた一般的な乱数アルゴリズム
  →上記ツールをちょっと改造すればある程度まで対応できるはず。
D独自の新規の洗練されたアルゴリズムとかハードウェア生成
  →正直、諦めよう。しかし、洗練されてない可能性もあるかと。

■進め方(コード変換)
Bすでに判明済みの成長率などの値などからコードを追うことで
乱数のメモリアドレスを特定する方法もあるが。。
(例えば、LvUP時にちょうど8回アクセスがあった場所を検索出来るようになればいいと思われる)

■乱数消費タイミング計測
@どういうときに消費されているかを確認する。
重要そうな順としては、
・エミュレータのセーブ&ロードでの乱数再現性のあるなし
・フレームが異なることでの乱数の変化
  (同じ行動だが、時間をずらす)
・セーブポイント、章開始時、中断データからの乱数再現性のあるなし
・ステータス画面等からの復帰時の乱数再現性のあるなし

3: 1 JnY4VaGM:08/08/12 00:58 ID:IA
■参考リンク
・B、C時に役に立ちそうなもの
多分以下のどれか。
DSの開発環境持っている方いましたら、どういうのが確率高そうなのか教えてください。
ttp://msdn.microsoft.com/ja-jp/library/system.security.cryptography.aspx

Category:乱数 - Wikipedia
ttp://ja.wikipedia.org/wiki/Category:%E4%B9%B1%E6%95%B0

・全般的に役に立つかもスレ
【DS】FE新・暗黒竜と光の剣 改造コードスレ
ttp://game14.2ch.net/test/read.cgi/gameurawaza/1217947512/
NintendoDS(NDS)非公式開発 Part3
ttp://pc11.2ch.net/test/read.cgi/gamedev/1207605913/
GC版FEの乱数
ttp://bbs.2ch2.net/test/read.cgi/emblem/1112636106/l50
GBA版FEの乱数完全マスター!!
ttp://bbs.2ch2.net/test/read.cgi/emblem/1097677546/l50

4: 手強い名無しさん:08/08/12 21:18 ID:hU
>中断データからの乱数再現性のあるなし

だが、エミュレータを使ってレベルアップ前のユニットを用意して
中断データから何度も試してるけどステータスの上がり方は
一緒な感じ

封印から乱数調整しないといけない体になって
ストーリーが進まなくなって困ってるんだが
DSでもできるのかな
ここ数日手探りで乱数調整を試してるけど
今までの単純な○×法じゃできない感じがする…

>>1氏の解析期待してるわ

5: 手強い名無しさん:08/08/13 00:51 ID:8M
そもそも移動コースは乱数と無関係っぽい

>>・エミュレータのセーブ&ロードでの乱数再現性のあるなし
再現性あり

>>・フレームが異なることでの乱数の変化
>>  (同じ行動だが、時間をずらす)
乱数は変化せず

>>・セーブポイント、章開始時、中断データからの乱数再現性のあるなし
中断即再開は乱数は変化せず
中断後リセットを挟むと変化する

章開始直後レイピアで突くのを繰り返してみたが必殺が出たり出なかったり

>>・ステータス画面等からの復帰時の乱数再現性のあるなし
乱数は変化せず

リセット以外では変化しない?


ざっと調べた感じだと
乱数の調査&調整手段が限られていそうで
実機での調整は現実的ではない仕様のような気がする

6: 1 JnY4VaGM:08/08/14 00:36 ID:Fs
お、反応があってうれしい。

>>2はあくまで私の思ったパターンなので、
人によって違うと思っています。私は苦手。
違う案がある場合はさっくりそちらを優先してほしいです。
(事実、過去の判明分は上記のやり方とは違うはず)

あと、>>3のMSDNのは乱数じゃなく暗号になってますね。間違い。
乱数ライブラリは単純なロジックでよいせいか、「一般的な乱数アルゴリズム」ってあまりないっぽい。
やるとしたらMTとXorshiftでのメモリ上の値の持ち方を前提としたサーチするぐらいでよさげ。
(つまり値サーチじゃgdgdになりそうなので、アドレス単位でRead/Write回数を計上出来るようにして特定する)

7: 1 JnY4VaGM:08/08/14 00:46 ID:Fs
>>5
>そもそも移動コースは乱数と無関係っぽい
まじっすか。
確かに、やたら、○や×が連続することが多かったなぁ。

移動経路で特定出来ないとなると、戦闘結果とか宝とか召喚とかでしょうか。
Wifi対戦での戦闘結果から乱数位置を特定する方法もありそうです(少なくともGBAと作りが同じなら出来るw)

8: 1 JnY4VaGM:08/08/14 01:42 ID:Fs
やっぱり実機で乱数位置を特定する手段を発見したい。

フレーム単位で消費するとかはないようなので、あと少し。
何か1つうまいのが見つかればどうにかなりそう。
戦闘結果からの特定だとボスチク&闘技場でしか使えないし、
そもそもそこまで頑張ろうとする人は多分少ない。

以下にある消費契機から、本当に消費されていないかチェックしたい。
ttp://holy.wonder-egg.com/pukiwiki/pukiwiki.php?%CD%F0%BF%F4%BE%C3%C8%F1%B7%C0%B5%A1

バトルマップだと以下しかない。>>5さんの話から少し埋めました。
残りの「?」部分を試せないでしょうか?
今回増えた機能で足りない分あるかも。タッチペンでXXするとか。

× カーソル移動(Bダッシュ時も含む)、
? マップメニュー、
? 部隊一覧(一覧内のあらゆる画面の表示)、
? 状況、辞書、設定の表示
? 敵味方のステータス画面の表示、
× 時間の経過、
? キャラをクリックした時に出る移動範囲の表示。
? 未行動者選択、
? Rボタンによるステータス表示
? 持ち物の閲覧、交換、輸送隊による所持アイテムの交換、
? 武器、道具の購入、
? アイテムの整理

9: 1 JnY4VaGM:08/08/17 13:03 ID:FU
いくつか確認しました。結果は以下です。

84%の命中&13%の必殺が発動するかどうかで確認しているため、
89%前後の確立で正しいと思われ。
ほとんど2回ためしてあるので、もう少し確率高いかもしれません。

× マップメニューの表示
× 部隊一覧(一覧内のあらゆる画面の表示。ソート実行も含む)
× 敵味方のステータス画面の表示(そもそも上部にデフォルトで出る)
× 時間の経過
× キャラをクリックした時に出る移動範囲の表示。
× Rボタンでの上部パネル表示画面変更
× Lボタンでの未行動者選択
× 輸送隊からアイテムを受け取る
× 輸送隊にアイテムを預ける
× 持ち物を複数所持時に装備の変更
× 持ち物を捨てる

× 武器屋入る(だけ)
○ 武器屋の商品を見る(買い。実際にモノは買わない)
× 武器屋で売るために持ちもの選択画面を表示する(実際にモノは売らない)
○ 武器屋の売るために持ちもの選択画面を表示し、武器選択後の「はい」「いいえ」まで表示する。
  (実際にものは売らない)
× 環境での速度、アニメ表示の設定変更
× 指南の表示
× タッチペンでの画面上部に表示される、「A」「B」「X」「R」の選択。
○ 家に訪れる(村ではない)
× 中断後→Wifi対戦、ワイヤレス対戦での編成画面の表示→再開

上記のうち、○になっている箇所について、何か消費される理由が心当たりある方いますか?
(例えば、時によって、売値が変わるとか、村のメッセージが変わるとか)

10: 手強い名無しさん:08/08/20 06:33 ID:9I
> × 武器屋入る(だけ)
入るだけでも、すぐに出ないで数秒待ってから出ると乱数が変化しているようです。

家に訪れた場合もですが『まばたき』をするたびに乱数を1個消費しているようです。
まばたきのタイミングでも決定しているのでしょうか。

11: 手強い名無しさん:08/08/21 23:11 ID:oM
まばたきとかないわw

12: 1 JnY4VaGM:08/08/30 01:44 ID:co
まばたき 乱数 の検索結果 約 1,490 件中 1 - 10 件目 (0.27 秒)

まばたきをすると乱数が消費されるのであれば、
まばたきの仕方を乱数で変えているのかもw
しかし、ジックリ目を凝らしてみても、まばたきの仕方はほぼ同じでした。
まばたき間隔はそこそこ定期的だけど変わるようにも見えなくない。

>『まばたき』をするたびに乱数を1個消費しているようです。
1個ってどうやって分かりました?

13: 1 JnY4VaGM:08/08/30 02:47 ID:co
以下を確認しないとあきらめ切れない。

中断→対戦を行う→再開をエミュレータのセーブロード機能を使えば、
中断時に乱数を保存している/していないが分かるはず。

■保存している場合(再生時に読み込まれる)
GBAと同じつくりなら、「乱数位置を特定するために一時的に中断」が
出来たはず。
(あるなら)サウンドルームのランダム再生機能や対戦によって乱数位置を特定後、
再開する手が取れると思っています。

■保存していない場合(再生する直前の位置が再生しても引き継がれる)
・ワイアレス通信で相手側ホストで開始、即中止。
 で、相手側ホストの乱数位置でいつでも出来る可能性がある。
(エミュレータでwifiやワイアレスの再現出来ますか?
 出来ないなら実機が必要)
・「保存している場合」と同様の手も打てる

そういえば、GBAで戦闘前のデモなどで乱数消費の有無がかわったのも
「まばたき」だったのでしょうか。

14: アイマス信者:09/04/04 13:25 ID:H6
R18指定満載無料で抜ける
http://from-lady.com/
捨てアド登録おk
現役アニメコスプレ風俗嬢がめっちゃ可愛い
遠●凛で検索するとモザ無しあるよ
他スレに凛ちゃんのアイマスコス貼ってありますぉ

15: 巨乳マニア:09/04/15 11:38 ID:/I

巨乳、巨尻マニァにはたまらない
http://www.pochat.tv/index.asp?acd=4tqk
エロ可愛い女の子が沢山います
巨乳爆乳好きはここしかない

R18指定満載無料で抜けるのはここ
http://from-lady.com/
遊びにいって損はないっすよ


続きを読む
掲示板に戻る 全部次100 最新50
名前: E-mail(省略可): ID非表示