Submission #1183: FractalFusion's NES Monopoly in 01:10.82

Nintendo Entertainment System
baseline
(Submitted: Monopoly (U).nes USA)
FCEU 0.98.12
4249
60
1052
Unknown
Submitted by FractalFusion on 9/5/2006 11:57 PM
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 v15 and probably in all versions.
Monopoly source (new files and old updated files; the last one vanished): http://www.savefile.com/files/36316---
See /HomePages/FractalFusion/Source/Monopoly for 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). 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. Otherwise, I mess around while waiting. Rolling the dice is the fastest way to iterate RndVal1, but it also affects RndVal2, so I carefully set up RndVal2=5F, 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 may consider cancelling my other submission, but I will wait and see.
Thanks to the Monopoly competitors for the strategy, and thanks to everyone who contributed ideas.

Cancelled. Could be made cleaner. See submission #1186.
Last Edited by on 1/1/2022 6:13 PM
Page History Latest diff List referrers