Submission Text Full Submission Page

Introduction

See #9499: eien86's NES Lunar Pool in 22:53.62 for a detailed explanation.
This movie goes for the "frictionless" category, where the friction factor is set to zero, making it a fun challenge. In terms of botting, the lack of friction made it easier. The reason is that the possible outcomes of any given shot are much more limited -- typically all balls except for one or two go into the pockets. Therefore, the exploration blows out much slowlier than otherwise.
Contrary to the any% movie, it is faster here to sink the cue ball into the pocket to reduce the score rate. There is no other way to reduce the rate since, given the nature of frictionless, at least one ball needs to enter a pocket (or the game enters an infinite loop)
To prevent infinite loops or very long sequences, I use a hash function to detect repetitions. Funnily enough, there are finite shorts that can reach almost half a million frames before stopping. Crazy.
Again, it's my privilege to bring obsoletion to this 15 year movie.

Comparison Video

The old movie is able to finish certain stages faster because the initial conditions carried on from the previous stage has an effect on the best possible solution. Also emulation differences make it so that executing a shot under the same conditions (angle, position, power, power increase/decrease direction) would result in different outcomes.

Software + Hardware

Rom Information

  • Name: Lunar Ball
  • ROM: Lunar Ball (J) [!].nes
  • SHA1: AA5C574A4743991A3523DFD78A39D782BEDE262A
  • MD5: 26F1B77980A216767EA63C41397476E5

Emulator

  • EmuHawk 2.10 (Core: QuickerNES)
Note on accuracy: this game is very sensitive to a correct timing emulation. A console-reproducible solution won't be possible unless using a highly-accurate emulator like NesHawk. However, since 1500M was made with an emulator that's arguably less accurate than the one I'm using, I think we're taking a step forward on that regard.
Ideally, I would be able to use NesHawk or Mesen as routing core. However, using those will be so comparatively slow that I will have to take several months to even come close to the quality of this solution. So in this case I valued solution quality to accuracy.

Routing Bot

  • Bot: LunarBot
  • Routing Core: QuickerNES
  • Platform:
    • 2 x AMD Epyc 7763 (128 cores, 256 threads) + 512Gb RAM
    • Exploration Rate: ~8k shots/s

nymx: Claiming for judging.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15774
Location: 127.0.0.1
This topic is for the purpose of discussing #9501: eien86's NES Lunar Pool "no friction" in 31:58.29
Dimon12321
He/Him
Editor, Reviewer, Experienced player (599)
Joined: 4/5/2014
Posts: 1264
Location: Romania
Oh, I was about to ask about a "no friction" run xD Thank you! I assume, "max friction", which Bisqwit didn't make, will not look much different from a casual play?
TASing is like making a film: only the best takes are shown in the final movie.
Editor, Experienced player (572)
Joined: 11/8/2010
Posts: 4046
That's an impressive timesave! The new, faster solutions manage to be a lot more entertaining too, at least for me. Thanks for doing this!
Challenger
He/Him
Skilled player (1727)
Joined: 2/23/2016
Posts: 1079
I watched both categories of this game, and thanks a lot for the comparison video. Pretty insane you defeated Lunar Ball two times: while the "normal" one has some notable improvements, this "no friction" run surprises me that some levels in the old run took forever to finish. Excellent job as always! Yes vote.
My homepage --Currently not much motived for TASing as before...-- But I'm still working.
Dimon12321
He/Him
Editor, Reviewer, Experienced player (599)
Joined: 4/5/2014
Posts: 1264
Location: Romania
Why did you sometimes shoot you ball into a hole slowly? Like, you could gain more power and save a couple of frames. So concerns shooting other balls and "dying" as a result. Stage 47 is very representative on this regard
TASing is like making a film: only the best takes are shown in the final movie.
eien86
He/Him
Judge, Expert player (2005)
Joined: 3/21/2021
Posts: 279
Location: Switzerland
Dimon12321 wrote:
Why did you sometimes shoot you ball into a hole slowly? Like, you could gain more power and save a couple of frames. So concerns shooting other balls and "dying" as a result. Stage 47 is very representative on this regard
It's hard to tell, but my theory is that I think it boils down to the emulation aspect. The game being so finnicky, perhaps this weird move enables the perfect setup for the next shot.
Dimon12321
He/Him
Editor, Reviewer, Experienced player (599)
Joined: 4/5/2014
Posts: 1264
Location: Romania
eien86 wrote:
It's hard to tell, but my theory is that I think it boils down to the emulation aspect. The game being so finnicky, perhaps this weird move enables the perfect setup for the next shot.
I didn't look closely, but don't the balls' positions remain unchanged as a result of a reset? Just a speculation. Maybe, there are some RAM addresses storing the process values of a hit and they are used for physics calculation for the next shot, yeah
TASing is like making a film: only the best takes are shown in the final movie.

1738029653