Submission #1186: FractalFusion's NES Monopoly in 00:55.55

Nintendo Entertainment System
baseline
(Submitted: Monopoly (U).nes USA)
FCEU 0.98.12
3333
60
2079
Unknown
Submitted by FractalFusion on 9/8/2006 1:37 AM
Submission Comments
  • Is a demonstration
  • Bankrupts three (3) CPU players after end of input
  • Manipulates luck
Recorded in FCEU 0.98.16, but works in any version.
This run does not aim for fastest time.
Monopoly source (new files and old updated files; the last one vanished): http://www.savefile.com/files/36316]. It's the same as in my cancelled submission.
See /HomePages/FractalFusion/Source/Monopoly for the source.

You would think manipulating six rolls at once after end of input is impossible. Even BasicBot and the delay search program monopolysolve.cc would not work.
However, I found a solution.
The program used was monopolysolve2.cc. Given a starting point (9000 iterations from the beginning seed) and using a search distance of 100000, the program takes a random RndVal1 seed and tests, for all 256 possible RndVal2 values, whether it produces the six rolls necessary to bankrupt the three CPUs. Each CPU must roll either 3+3, 4+4, 5+5, or 6+6, followed by 1+1, 1+2, or 2+1 (but 3+3 -> 1+1 is disallowed)[1]. The program did output the following:
Done delay 5000
5 6 3 CB4129 5F 8039
Done delay 10000
6 4 3 390B11 8D 14372
Done delay 15000
5 3 5 ED528 D2 19135
Done delay 20000
5 4 5 CD8061 C6 20317
3 5 5 F8D5FC 54 22506
Done delay 25000
Done delay 30000
Done delay 35000
Done delay 40000
4 5 6 3F22E1 28 44982
4 5 6 3F22E1 E6 44982
Done delay 45000
Done delay 50000
Done delay 55000
Done delay 60000
Done delay 65000
Done delay 70000
4 5 4 86E5D2 92 73504
Done delay 75000
4 3 5 8F02CE A4 75846
Done delay 80000
Done delay 85000
Done delay 90000
5 4 6 369A91 42 94740
5 4 6 369A91 64 94740
5 4 6 369A91 DC 94740
Done delay 95000
Done delay 100000
done

I took the first strategy, 5 6 3 CB4129 5F 8039, with a RndVal1 iteration delay of 8039.
After testing that the strategy worked (by using cheats to set up the CPUs, then poking the random seed values in), I constructed the run.
I wait at the name screen to manipulate three cards. Preparing to roll the dice in hand (on my last move) is the fastest way to iterate RndVal1, but it also affects RndVal2, so I carefully set up RndVal2=5F (by entering and exiting the menu just before CPU rolls), then spend enough time to get RndVal1=CB4129. These values appear three frames after the movie ends, just before RAM(27) increments to 1.
I redid the run after learning of the "hurry" option for the CPU, and trying different cards allowed me to avoid bad delays (i.e. RndVal1 and RndVal2 were well-suited) so I didn't have to mess around while waiting.
Here is how the run goes:
H: 1+1 to comm chest (grand opera). Gain $150. $1650
H: 4+4 to just visiting.
H: 1+5 to St. James (buy). $1470
C1: 2+4 to Oriental (buy).
C2: 1+3 to income tax.
C3: 4+6 to just visiting.
H: 1+1 to Tennessee (buy). $1290
H: 2+2 to chance (back 3 to New York) (buy). $1090
H: 2+1 to chance (advance to go). $1290.
H: Buy 12 houses.
C1: 5+5 to St. James, $750 rent.
C1: 1+1 to Tennessee, bankrupt.
C2: 6+6 to St. James, $750 rent.
C2: 1+1 to Tennessee, bankrupt.
C3: 3+3 to St. James, $750 rent.
C3: 2+1 to New York, bankrupt.
I may consider cancelling my other submission (#1166, not the one I already cancelled), but I will wait and see.
Thanks to the Monopoly competitors for the strategy, thanks to adelikat for telling me about the "hurry" option, and thanks to everyone else who contributed ideas.

[1]: No longer disallowed if "grand opera" card is taken.

Cancelled. A better strategy awaits ... no longer. See submission #1199.
Last Edited by on 1/1/2022 6:13 PM
Page History Latest diff List referrers