Introduction
A few days ago I submitted a movie #8149: eien86 & mscroggs's NES Pac-Man (Namco) "single level" in 00:44.18 that solves a single level of Pac-Man, under the impression it was the fastest route. I was wrong since Randil had already produced a much faster movie with a better route. Here I take that route and transcribe the pellet order into JaffarPlus to solve the level by having a reward function (r) with the following shape:
r = #PelletsInPathEatenInOrder * 1000.0 + distanceToNextPellet
The PelletsInPathEatenInOrder rewards the bot for every pellet eaten in the (reversed) optimal path, and not for any other pellet which is out of order in the optimal route. The distance to the next pellet is the manhattan distance from the center of pacman and the position of the next pellet in the route. The result is a movie that's 20 frames faster. I am in favor of adding Randil as co-author, if they and the judge considers it fair.
Regarding several comments my previous submission received regarding the unacceptability of the movie because it doesn't solve the entire game, I cite the recent jurisprudence on the acceptability of single-level submissions where the game does not have an ending. This case is debatable, since Pac-Man has no ending. I cite Wikipedia that cites someone else:
I argue that single level is as fair as category as overflow%.
Comparison Movie
Software + Hardware
Rom Information
Rom: Pac-Man (Tengen)
- headerless rom hash: SHA1:A34E68372082513209A795786C8EEA493CC2CD14
- headerless rom hash: MD5:C4AE6CC4E981A8316429572409018DC8
- PRG (8KB) + CHR hash: SHA1:96C8879B8F0C70803A5F7754D53F8BD60F016163
- PRG (8KB) + CHR hash: MD5:E6EE06910B926DB6A19F1F1C3A3EB21D
Emulator
- EmuHawk 2.8.0 (Core: NesHawk)
Routing Bot
- Bot: JaffarPlus
- Routing Core: QuickNES
- Platform: 'The Jaffanator' - AMD Ryzen Threadripper 3990X (64 cores, 128 threads) + 256Gb RAM (Average Exploration Performance: 1.35M States/s)
Re-record count is 78552719565