atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
TAS動画まとめ @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
TAS動画まとめ @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
TAS動画まとめ @ ウィキ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • TAS動画まとめ @ ウィキ
  • 乱数解析の編集履歴ソース
「乱数解析」の編集履歴(バックアップ)一覧に戻る

乱数解析 - (2008/07/26 (土) 19:42:30) のソース

**ある程度のゲーム知識が必要になります
*あくまでもエミュを使用して調査した物であり、実機とは異なっているかもしれません
----
*事前調査
何も1から自力でやるのではなく、すでに誰かが解明しているものならば
わざわざ自分でやらなくても良いのです
(マイナーなゲームだと望みは薄いですが)
Google先生に聞いてみると乱数表は既に解析されているようです
※初出はEDRというサイトらしいですが既に閉鎖しているようです
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|CENTER:EDR乱数表|
|00|55|11|67|23|79|35|91|46|02|58|14|70|26|82|37|
|93|49|05|61|17|73|28|84|40|96|52|08|64|19|75|31|
|87|43|99|55|10|66|22|78|34|90|46|01|57|13|69|25|
|81|37|92|48|04|60|16|72|28|83|39|95|51|07|63|19|
|75|30|86|42|98|54|10|66|21|77|33|89|45|01|57|12|
|68|24|80|36|92|48|03|59|15|71|27|83|39|94|50|06|
|62|18|74|30|85|41|97|53|09|65|21|76|32|88|44|00|
|56|12|67|23|79|35|91|47|03|58|14|70|26|82|38|94|
|50|05|61|17|73|29|85|41|96|52|08|64|20|76|32|87|
|43|99|55|11|67|23|78|34|90|46|02|58|14|69|25|81|
|37|93|49|05|60|16|72|28|84|40|96|51|07|63|19|75|
|31|87|42|98|54|10|66|22|78|33|89|45|01|57|13|69|
|25|80|36|92|48|04|60|16|71|27|83|39|95|51|07|62|
|18|74|30|86|42|98|53|09|65|21|77|33|89|44|00|56|
|12|68|24|80|35|91|47|03|59|15|71|26|82|38|94|50|
|06|62|17|73|29|85|41|97|53|08|64|20|76|32|88|44|
使い方はとりあえず置いておきます
この乱数表に対してよく言われているのが
「大→小→大→小を繰り返している」
ということです(サーチする時に参考になるので覚えておきましょう)
乱数表がわかったので、後は現在の乱数がわかれば運操作できるかもしれません
乱数はゲーム中にフレーム単位で変化するらしいです
(FE聖戦などのフレーム経過で変化しないものもある)
乱数はどこかのアドレスに入っているはずなので
改造コードをサーチするような感じで判明するでしょう
----
**ここからエミュの出番です
*乱数アドレスをサーチ
とりあえず動かして"ゲーム部分"まで進めます
タイトル画面やデータ選択画面等でサーチするのは賢明ではありません
具体的にいうと
"第一章の初めの会話が終わってカーソルが動かせるようになった所まで"進めます
***上部メニューから Cheat → Search for New Cheats(active)を選択
するとサーチウインドウがでてきます
各オプションは
-Comparison Type(検索方法)
--Not Equal To(不一致)
-Compare To(どれと)
--Previous Value(前の数値)
-Data Type(データ形式)
--Unsigned(符号なし)
-Data Size(データサイズ)
--1 byte(1バイト)
に設定します
各意味の説明は省きますが
**"常に変動している数値"はこうやってサーチする
と覚えてもいいかもしれません(見つからなかったらデータサイズやデータ形式を変えてみましょう)
右上にあるResetボタンを押してからゲームを少し動かします
その後、Searchボタンを押すと何個かのアドレスに絞れます
今回のケースでは9個に絞れました
(場合によって違いますが、だいたい似たような結果になります)
更にゲームを動かしてみましょう
サーチウインドウではリアルタイムに数値が変わっていきます
その中で
-ランダムに数値が変わっているもの
-変化が早いもの
が乱数と思われるアドレスです
結果として
-7E046B
-7E046C
が候補として残りました
これらをそれぞれ選択した状態で右にあるWatchボタンを押すことで
常に画面に表示されるようになります
*コマ送りで数値を観察
Pauseキーでゲームが一時停止されます
その状態で\キーを押すと1フレームずつ進められます
しばらくポチポチ押して乱数を観察してみましょう
7E046Cの数値が大→小→大→小を繰り返しているのがわかると思います
試しにこのアドレスの数値を固定してみましょう
改造コードでいうと"7E046C53"です
※試し斬りの前にQSしておきましょう(Shift+F10でセーブ F10でロード)
マルスで下の盗賊を攻撃してみます
すると何度やっても必殺がでるはずです
(出ない場合は改造コードが正しく入力されているか、改造コードがチェックされているか、Cheat → Appry Cheats がチェックされているかを確認してください)
つまりこれが乱数のアドレスということです
----
乱数を見ていると、EDR乱数表にはない数値がでてきます
それは実際の乱数は0~255であり、EDR乱数表は見やすいように0~99に直した物だからです(多分)
これでは乱数から乱数表の位置がわからないので、自力で乱数表を作成しなければいけません
で、出来たものがこれ
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|CENTER:自力乱数表|
|000|143|030|173|060|203|090|233|120|007|150|037|180|067|210|097|
|240|127|014|157|044|187|074|217|104|247|134|021|164|051|194|081|
|224|111|254|141|028|171|058|201|088|231|118|005|148|035|178|065|
|208|095|238|125|012|155|042|185|072|215|102|245|132|019|162|049|
|192|079|222|109|252|139|026|169|056|199|086|229|116|003|146|033|
|176|063|206|093|236|123|010|153|040|183|070|213|100|243|130|017|
|160|047|190|077|220|107|250|137|024|167|054|197|084|227|114|001|
|144|031|174|061|204|091|234|121|008|151|038|181|068|211|098|241|
|128|015|158|045|188|075|218|105|248|135|022|165|052|195|082|225|
|112|255|142|029|172|059|202|089|232|119|006|149|036|179|066|209|
|096|239|126|013|156|043|186|073|216|103|246|133|020|163|050|193|
|080|223|110|253|140|027|170|057|200|087|230|117|004|147|034|177|
|064|207|094|237|124|011|154|041|184|071|214|101|244|131|018|161|
|048|191|078|221|108|251|138|025|168|055|198|085|228|115|002|145|
|032|175|062|205|092|235|122|009|152|039|182|069|212|099|242|129|
|016|159|046|189|076|219|106|249|136|023|166|053|196|083|226|113|
これで乱数表と乱数アドレスが揃いました
後はこれらの使い方です
具体的にいうと計算方法を解析します
先ほどの改造コードで、なぜ必殺が出たのでしょう?
まず固定した数値「83」
乱数表の一番下の段の右から3番目にあります
そこからの乱数を書き出してみると
083 226 113 000 143 030
となっています
ここで怪しいのは4番目の「000」
試しに4番目が「255」になるように「82」で固定してみると通常攻撃になります
これを踏まえて調査していきましょう
----
*乱数と命中率、必殺率の関係を調査
サンプル
|>|>|>|>|>|CENTER:命中率が83、必殺率が10の時|
|結果|固定した乱数|2番目|3番目|4番目|5番目|
|通常|082|225|112|255|142|
|必殺|083|226|113|000|143|
|必殺|108|251|138|025|168|
|通常|109|252|139|026|169|
このケースでは必殺がでる許容範囲が0~25のようです
必殺のことは置いといて、命中率を見てみましょう
|>|>|>|>|>|CENTER:命中率が83、必殺率が10の時|
|結果|固定した乱数|2番目|3番目|4番目|5番目|
|通常|185|072|215|102|245|
|ミス|186|073|216|103|246|
|ミス|225|112|255|142|029|
|通常|226|113|000|143|030|
3番目の乱数に注目します
255と000で結果が変わっています
命中する許容範囲が0~215のようです
命中率を変えてサンプルをとってみます
|>|>|>|>|>|CENTER:命中率が95の時|
|結果|固定した乱数|2番目|3番目|4番目|5番目|
|通常|215|102|245|132|019|
|ミス|216|103|246|133|020|
|ミス|225|112|255|142|029|
|通常|226|113|000|143|030|
許容範囲が0~245に広がっています
どうやら3番目が命中、4番目が必殺の判定に使用する乱数で
ゲームでの数値(0~100)が大きいと乱数の数値(0~255)も大きいということのようです
ここでEDR乱数表と自力乱数表を見比べてみます
|自力|EDR|
|025|09|
|215|83|
|245|95|
となっています
合っているようで微妙に違っています
EDRでは0~99なので(ゲーム数値-1)で見るはず
つまり必殺率10ならEDRの0~9で必殺のはず
しかし命中83ならEDRの0~82で命中のはずなのに
83で命中しています
これは計算式が違うからです
----
*各種計算式
**情報提供により、正確な計算式がわかりました
コメントで情報提供してくれた方、詳しく教えてくれた方、ありがとうございました
*命中率
**(乱数×100)÷256(小数点以下切捨て)≦実効命中率
実効命中率というのは戦闘画面で表示される命中率のことです
&s(){(実効命中率+1)×2.56=命中度(小数点以下切捨て)}
&s(){乱数≦命中度で命中}
&s(){命中率83なら83+1で84}
&s(){84×2.56で215(小数点以下切捨て)}
&s(){{これで調査結果と合いました}
&s(){命中率+1ということは命中率が0の場合おかしくなるのではないか}
&s(){と思う方もいるかもしれません}
&s(){計算してみると}
&s(){0+1で1}
&s(){1×2.56で2}
&s(){となり、乱数が0~2の時に命中してしまうことになります}
&s(){やってみるとわかりますが、実際に命中します}
&s(){命中が99の場合も+1で100になり}
&s(){100×2.56で256}
&s(){乱数は0~255なので100%命中します}
&s(){(この辺のバグっぽい挙動はあまりサンプルをとってないので間違っている可能性があります)}
*必殺率
**(乱数×100)÷256(小数点以下切捨て)<実効必殺率
&s(){実効必殺率×2.56=必殺度(小数点以下切捨て)}
&s(){乱数≦必殺度で必殺}
&s(){必殺度が0だと出ない}
*成長率
**(乱数×100)÷256(小数点以下切捨て)<成長率
&s(){成長率×2.56=成長度(小数点以下切捨て)}
&s(){乱数≦成長度で成長}
&s(){成長度が0だと成長しない}
----
*乱数の使用順
まだ調査中であるため間違っている可能性が大きいです
**暫定乱数判定使用順
|>|攻撃した側|>|攻撃された側|>|再攻撃|>|>|>|>|>|>|>|成長|
|命中|必殺|命中|必殺|命中|必殺|力|技|速|運|守|魔|HP|武|
*乱数が飛ぶケース
-攻撃された側が死亡する場合の攻撃された側
-攻撃された側が反撃不能の場合(間接攻撃や無装備)の攻撃された側
-命中しない場合の必殺
-ダメージが0の場合の必殺
-再攻撃がない場合の再攻撃
-成長しない場合の成長
*敵軍ターンで乱数が飛ぶ現象
敵軍ターンでは2フレームにまたがって乱数判定計算する場合があり
その間で「1フレームごとに乱数が進む」という処理が入ることによって
乱数が1つ進むことがある
この現象により、本来ありえない事(低い成長率のパラメータが同時に上がる等)が起こるかもしれません
----
#pcomment(reply,noname,fem04)
LINE
シェア
Tweet
TAS動画まとめ @ ウィキ
記事メニュー

メニュー

タグ検索 :



検索 :

トップページ


TAS動画とは?


TAS制作記

+ 表示
はじめてのTAS FE紋章 製作記

TAS製作者名鑑


TAS動画一覧

  • 新着動画
  • 全動画五十音順
- 機種別

FC/SFC/GB/GBA

N64/PS/NDS

MD/PCE/その他

+ ジャンル別
ACT/RPG/ARPG/その他
+ シリーズ別
マリオ/ロックマン/サガ
ドラキュラ/メトロイド
ゼルダ/ドラクエ/FF
ポケモン/カービィ/

Movieファイル


today -
yesterday -
totall -

テンプレ等

  • タイトルページ作成/修正ツール
  • 動画ページ作成/修正ツール
  • 簡易新規動画ページ作成ツール
  • タイトルページの作り方
  • 動画ページの作り方
  • タイトルページ
  • 動画ページ
  • テストページ
  • TAS制作者様へ


編集者連絡用

更新2013-02-13 08:00:56 (Wed)

更新履歴

取得中です。
ここを編集
記事メニュー2
人気記事ランキング
  1. FC ロックマン1
  2. TAS製作者名鑑
  3. GBA
  4. MD 孔雀王2
  5. タイニー・トゥーン アドベンチャーズ(海外版) in 20:40.68 by Twisted Eye
  6. NDS テトリスDS
  7. SFC
  8. FC ゴルゴ13 第一章 神々の黄昏
  9. ゴルゴ13 第一章 神々のTAS昏【完成版】(1/2)
  10. 超魔界村(海外版)(特殊) in 17:03.00 by Ferret Warlord
もっと見る
最近更新されたページ
  • 592日前

    コメント/トップページ
  • 2394日前

    fem04
  • 2456日前

    FC
  • 2739日前

    ロックマン4(海外版) in 34:00.02 by GlitchMan
  • 3765日前

    【TAS】アトランチスの謎 in 02:21.27
  • 3765日前

    【TAS】アトランチスの謎 in 02:21.07
  • 3893日前

    シリーズ別一覧
  • 4330日前

    TASさんの休日 PCエンジン YsI・IIを遊んでみた
  • 4330日前

    PCE Ys I・II
  • 4330日前

    SFC 美少女戦士セーラームーン TAS 28:58
もっと見る
人気タグ「コナミワイワイワールド1」関連ページ
  • コナミワイワイワールド 1P TAS(30:34) 一応更新版
  • コナミワイワイワールド1(国内版)(2P) in 30:58.67 by fuzi2
  • FC コナミワイワイワールド1
  • コナミワイワイワールド1(国内版)(1P) in 34:24.33 by FunkDOC
  • TASさんのワイワイワ-ルド ノーアイテム縛りプレイ【完全版】(1/2)
もっと見る
人気記事ランキング
  1. FC ロックマン1
  2. TAS製作者名鑑
  3. GBA
  4. MD 孔雀王2
  5. タイニー・トゥーン アドベンチャーズ(海外版) in 20:40.68 by Twisted Eye
  6. NDS テトリスDS
  7. SFC
  8. FC ゴルゴ13 第一章 神々の黄昏
  9. ゴルゴ13 第一章 神々のTAS昏【完成版】(1/2)
  10. 超魔界村(海外版)(特殊) in 17:03.00 by Ferret Warlord
もっと見る
最近更新されたページ
  • 592日前

    コメント/トップページ
  • 2394日前

    fem04
  • 2456日前

    FC
  • 2739日前

    ロックマン4(海外版) in 34:00.02 by GlitchMan
  • 3765日前

    【TAS】アトランチスの謎 in 02:21.27
  • 3765日前

    【TAS】アトランチスの謎 in 02:21.07
  • 3893日前

    シリーズ別一覧
  • 4330日前

    TASさんの休日 PCエンジン YsI・IIを遊んでみた
  • 4330日前

    PCE Ys I・II
  • 4330日前

    SFC 美少女戦士セーラームーン TAS 28:58
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  2. まどドラ攻略wiki
  3. MadTown GTA (Beta) まとめウィキ
  4. R.E.P.O. 日本語解説Wiki
  5. シュガードール情報まとめウィキ
  6. ソードランページ @ 非公式wiki
  7. ヒカマーWiki
  8. Dark War Survival攻略
  9. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  10. リオンGTARP
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  6. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. 検索してはいけない言葉 @ ウィキ
  8. Abiotic Factor 日本語攻略Wiki
  9. 発車メロディーwiki
  10. モンスター烈伝オレカバトル2@wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  3. 沼 忌三郎 - ストグラ まとめ @ウィキ
  4. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  5. 機体一覧 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  6. 上田 さん - ストグラ まとめ @ウィキ
  7. モンスター一覧_第2章 - モンスター烈伝オレカバトル2@wiki
  8. 女神アルテミス - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  9. 無幻銃士ダルタン - モンスター烈伝オレカバトル2@wiki
  10. 諸葛孔明〔エルメロイⅡ世〕 - Fate/Grand Order @wiki 【FGO】
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.