User

Luckytyphlosion/RNG Glitches: Difference between revisions

From The Rockman EXE Zone Wiki

< User:Luckytyphlosion
No edit summary
Line 15: Line 15:
* Battle selection, GMD contents
* Battle selection, GMD contents
* Can only choose 4th code for chips from a redraw.
* Can only choose 4th code for chips from a redraw.
Risch — 03/13/2022
A quick search of the dumped file with 10000 seeds does show that ThunderMan and KendoMan never show up together with JackBomber. But that still makes me curious as to how exactly this happens
Erothaur — 03/13/2022
There are literally no frames yeah
Risch — 03/13/2022
Idk how RNG carryover works exactly, I know something about the power of 2 denominator results in a bias if the same random value is used multiple times. But looking at the boards, I get that kinda vibe, since it seems JunkMan and KendoMan go together always,  ProtoMan and ColdMan always go together, then with Red Sun, its Search and Kendo together, and Thunder and Cold together always
Erothaur — 03/13/2022
Yup, looks that way
Lots of frames for the seed we currently use though


== EXE4.5 ==
== EXE4.5 ==

Revision as of 16:58, 1 November 2022

All Games

  • Shuffle Bias. See this explanation. MMBN1 is affected less as it swaps 60 times instead of ~30 (depends on game).

MMBN1

MMBN2

  • Although Chip Traders are coded to have up to 6 codes per chip, only the first 5 codes of any chip can drop. This applies to both normal draws and redraws; unlike later games, you cannot get the 6th code through a redraw. RetroChip Traders work differently and do allow you to get 6th code (thanks Greiga Master). TODO: do normal chip traders list * code in their reward lists?

MMBN3

  • BugStyle movement bug selection: Initial call has mask 0xf, selects movement bug if value is [0x4, 0x9]. Subsequent call has mask 0x2, 0x0 gives up movement bug, 0x1 gives down movement bug Doesn't skew.
  • Although Chip Traders are coded to have up to 6 codes per chip, only the first 5 codes of any chip can drop. This applies to both normal draws and redraws; unlike later games, you cannot get the 6th code through a redraw. Traders do list * code in their reward lists.

MMBN4

  • Battle selection, GMD contents
  • Can only choose 4th code for chips from a redraw.

Risch — 03/13/2022

A quick search of the dumped file with 10000 seeds does show that ThunderMan and KendoMan never show up together with JackBomber. But that still makes me curious as to how exactly this happens

Erothaur — 03/13/2022

There are literally no frames yeah

Risch — 03/13/2022

Idk how RNG carryover works exactly, I know something about the power of 2 denominator results in a bias if the same random value is used multiple times. But looking at the boards, I get that kinda vibe, since it seems JunkMan and KendoMan go together always, ProtoMan and ColdMan always go together, then with Red Sun, its Search and Kendo together, and Thunder and Cold together always

Erothaur — 03/13/2022

Yup, looks that way

Lots of frames for the seed we currently use though

EXE4.5

  • Tournament selection, TODO rediscover this.

MMBN5

  • GMD contents
  • Can only choose 4th code for chips from a redraw.

MMBN6

  • JP only: Can only choose 4th code for chips from a redraw.

OSS

  • GMD contents (Dump)
  • Game reseeds using MAC address, potential abuse. Code is below
int sub_2001324() {
   byte[] macAddress = new byte[6];
   RTCDate rtcDate = new RTCDate();
   RTCTime rtcTime = new RTCTime();
   
   RTC_GetDateTime(&rtcDate, &rtcTime);
   OS_GetMacAddress(&macAddress);
   
   int macSum = macAddress[0]
       + (macAddress[1] << 8)
       + (macAddress[2] << 16)
       + (macAddress[3] << 24)
       + macAddress[4]
       + macAddress[5];
   int timeSum = rtcTime.second
       + 60 * rtcTime.minute
       + 3600 * rtcTime.hour;
   int dateSum = rtcDate.day
       + rtcDate.month
       + rtcDate.year;
   
   return macSum + timeSum + dateSum;
}