TASVideos

Tool-assisted game movies
When human skills are just not enough

Submission #1011: Acmlm's NES Monopoly in 00:30.03

Console: Nintendo Entertainment System
Game name: Monopoly
Game version: USA
ROM filename: Monopoly (U).nes
Branch:
Emulator: (unknown)
Movie length: 00:30.03
FrameCount: 1802
Re-record count: 546
Author's real name: Jean-Fran├žois Lapointe
Author's nickname: Acmlm
Submitter: Acmlm
Submitted at: 2006-03-14 03:22:29
Text last edited at: 2011-01-02 01:06:02
Text last edited by: Nahoc
Download: Download (869 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

(Link to video)

Yet another improvement, by 16 frames, still using the same strategy. The time is now 00:30.03 (1802 frames) ... almost under 30 seconds, but unless I missed something unexpected, I don't think it's possible to do any better.

I spent the last 1-2 days figuring out the game's randomness completely (different variations and frame timings) by looking at the code and memory viewer, and made a program that simulates it. Then, given the initial random values, it tries all possible timings that lead to victory and only keeps the fastest one ... doing about 500000 re-records worth of work in 15 seconds.

The result was only 10 frames faster than on the last run, but it should be optimal. Then right when I was going to record this run to submit (after finding and testing the best combination), I found another way to manipulate the card order: when entering the player's name, both the amount of letters I enter and the time between each (including End) affect it. Trying different ones until I found a pattern in the results allowed to save 6 more frames.

The delays are now down to this:

Total: 32


Bisqwit: Processing.

Similar submissions (by title and categories where applicable):