Submission #9144: FractalFusion's NES Monopoly "7 CPUs" in 01:37.45

Nintendo Entertainment System
Monopoly
7 CPUs
BizHawk 2.8.0
5857 (cycle count 523266115)
60.09962367027928
1792
PowerOn
Monopoly (USA)
Submitted by FractalFusion on 6/25/2024 5:17 AM
Submission Comments
I did a vs 4 CPU player TAS a long time ago. But why stop there? Might as well go all the way and beat 7 CPUs (max possible).

Goals

  • 1 human player vs 7 CPUs.
  • Aims to win the game by fastest input (minimum input frames).

Strategy

The strategy in the 4 CPU TAS of everyone double-landing on orange properties required manipulating 8 rolls after the end of input. Extending the same strategy to 7 CPUs is clearly not viable. So I changed the strategy.
The new strategy has the following general idea:
  • Get a light blue monopoly on the first turn, and set up hotels.
  • Have players land on the light blue monopoly.
  • Then get the orange monopoly on the second turn, and set up hotels.
  • Then have those same players land on the orange monopoly (after end of input, of course).
This strategy has the upside of being much easier to manipulate, and also reducing the fastest completion time / RTA-ending time of the TAS (I'll get to that later). But you might be wondering: How do I get a light blue monopoly on the first turn? Seems impossible, doesn't it? Well, this is where Ollie comes in. Simply have Ollie land on one of the light-blue properties (Connecticut Avenue is the most convenient for this strategy), and then trade for it! Note that the trade has to occur before the player lands on the other light blue properties. So this TAS starts unusually with Ollie going first and the player going second.
All the other CPU players will either:
  • roll 9 to land on Connecticut (with hotel) followed by a 7, 9 or 10 to any orange property (with hotel), or
  • roll 8 to land on Vermont (with hotel) followed by a 11 to New York (with hotel).
Note that Oriental/Vermont to St. James/Tennessee doesn't work, because that would leave them with $0 (not bankrupt according to the rules of the game).
Because the roll that takes them to the orange properties occurs after the end of input, that has to be manipulated all together. So the strategy is for the 6 CPU players other than Ollie to have their rolls manipulated to be 7, 9, 10 or 11. For Ollie, the previous strategy of double-landing on orange properties applies (1+1 or 2+2 followed by 1+1 or any 3).

Manipulating the ending

I used the Lua script monopoly_7cpus_ending.lua (link below) to find possible endings that work. Keeping in mind a "reasonable" TAS of everything but the ending places the RNGa index at around 18xxx, only the endings that have an initial RNGa index of >18900 are viable. But there is also the RNGb value which cycles independently of RNGa. Not all results have RNGa and RNGb values that work out.

Manipulating the run before the ending

Now that I have possible endings, I used the Lua script monopoly_7cpus_starting.lua (link below) to manipulate the rest of the run.
I already had a general strategy for manipulation: I just need the first Chance card to be "Go back 3 spaces" (to optimize getting New York quickly on the player's second turn), Ollie rolls 9 to get Connecticut which I trade for, I pick up the rest of the light blue properties and St. James (3+3 -> 1+1 -> non-double (ND) 8), 6 CPUs roll 9 or ND 8 (mostly 9). Second turn: Ollie rolls either 3 or 5, I pick up the rest of the orange properties (1+1 -> ND 4) and finish the run.
There were some adjustments made to the Lua script, because it is not possible to determine which ending results are reasonable without optimizing the rest of the run!
After playing with both scripts, I chose an ending which worked out relatively conveniently:
RNGa: 19091, RNGb: 37, sum1: 10, sum2: 7, sum3: 11, sum4: 7, sum5: 10, sum6: 9, sum7: 2
Note: The RNGa and RNGb given are the indices, not the values themselves. "sum*" is the dice roll that the respective CPU player needs to roll at the beginning of their final turn. So the 3rd CPU player after me needs to roll 11 (thus must be situated on Vermont for the final turn) and Ollie needs to roll 2 (1+1) and so must be on Virginia Ave for the final turn for this ending to work. The program doesn't report Ollie's final roll but it is a 2 (1+1).
Then I chose a result from the other script that has very few delay frames. However, I would need to "stitch" the two results together, so there is a bit of waiting as the run gets closer to the end of input.
For those who examine the monopoly_7cpus_starting.lua script closely, you may have noticed that the script has a section where four CPU die rolls are manipulated all at once without any break in-between. That is the four CPUs who move after the player, who need to roll 9, 9, ND 8, 9 respectively (you can also see this happening in the video). Actually this is something I found completely by accident while trying more reasonable manipulations. Normally you would press Select (call player's own menu) to break the CPU die rolls to manipulate them but that costs a bit of time. For reference, the probability of all four rolls being 9, 9, ND 8, 9 is (4/36)^4 = 1/6561.

Lua scripts used:

What about fastest completion time / RTA-ending time?

Even though this TAS aims for fastest input (as opposed to fastest completion time / RTA-ending time), I think this TAS is surprisingly not too far from the ideal fastest completion time. For one, the majority of CPU players go out in two die rolls, the minimum possible without trading or other trickery.
It is theoretically possible to set up a light purple monopoly with hotels on the player's first turn, and only use that monopoly to bankrupt everyone, but this is far more difficult and requires having at least two CPU players go around the board maybe using Chance cards; I haven't explored it completely so I don't even know if it is feasible. TLDR: There is currently no evidence that the light purple monopoly hotel strategy is actually faster.
Last Edited by FractalFusion 27 days ago
Page History Latest diff List referrers