Did you play Monopoly when you were younger? If internet lore is to be believed, the game is the source of 50% of the arguments in this country, and I think maybe even the cause of one of the world wars. As we played it, the game always ended up with two final barons duking it out. We would get crazy sometimes and make a “Double Monopoly” board by putting two boards together and move the pieces in a figure-8. Turns out, if you actually play Monopoly by the rules (auctioning property, no money pot on Free Parking, housing scarcity, etc), it doesn’t actually take that long to finish a game, but nobody I’ve ever talked to ever played that way. No, instead I built a more fun “solution” to this endless game. In the end-game of Monopoly, there is very little strategy to employ or decisions to make. Simply role the dice and hope your opponent hits your properties more than you hit his, which is fairly easy to let a computer simulate. The only decision to make is when to risk buying more houses if you are low on cash.
With the simulator that I’ve built, each player can set a specific risk aversion number (how much cash they want to maintain in-hand) and let the computer handle the rest. First, load a pre-built board or build your own, fill out the player information and the state of the game board. Then, click Simulate and enter the number of times to run the simulation. The simulator will then run that many games, resetting from the starting point you created each time, and averaging the statistics across the games. Use it to settle arguments and see how much time you could save.
Silliness aside, this project was a marrying of my desire to settle Monopoly arguments and to learn how to better work within the Angular framework. The project taught me a lot, even if the UI/UX of the site is, frankly, pretty rough. I may come back and do some touch up work over time, but for now the simulator is functional, and I wanted to show it off because I think it’s interesting. I recommend using the Download Board button to download any custom board states you create so that you can run simulations on it again later. Also, if you don’t believe the outcome, feel free to double check the simulation by checking the “Keep Detailed Logs” checkbox and running a single run to see the play-by-play logs.