Submission #6420: Aran_Jaeger & Le_Hulk's SNES The Great Waldo Search in 01:04.68

Super Nintendo Entertainment System
baseline
(Submitted: Great Waldo Search, The (USA).sfc USA)
lsnes rr2-β23
3887
60.0988138974405
3600
Unknown
Submitted by Aran_Jaeger on 6/10/2019 11:40 PM
Submission Comments
Aran Jaeger's comments:

About the game

Just like in the Where is Waldo? books, The Great Waldo Search is about finding characters and objects hidden within comic images. There is five images in total, each with a few different distributions of how Waldo, Whitebeard's scroll, 150 points plates, and clocks are placed on them. There is a Normal mode and an Expert mode in the game, and in the latter, one is supposed to find Waldo and Whitebeard's scroll each time in order to proceed. As opposed to the first 4 images that one can pick in any order, some kind of Waldo parade image in which one has to find the real Waldo (who is missing a shoe) amongst Waldo doubles will always be the final image to test the player.

Game objectives

  • Emulator used: lsnes rr2-beta23 (core: bsnes v085 (Compatibility core) )
  • Aims for fastest real-time
  • Uses hardest difficulty

General comments about the game elements & optimization of the movie

  • CRC32:EB49F246 (checksum)
This movie improves the movie that I only put up on the Userfiles by 8 frames (from 3895 to 3887 frames). Overall, the initiation of the first image search aswell as the 2nd image search was delayed by 1 frame each, for image pattern RNG-manipulation reasons. All other image searches (from the 3rd to the 5th) were started as soon as possible when the respective load times to put up the menu screen finished. An initial Start press to advance past the title screen can be anywhere within the 540 to 599 frames range, and it seems that for the making of this TAS, the specific frame in which Start is pressed in this range didn't matter. Switching between images in the menu to start or continue with a different image costs seconds of time and consequentially isn't a viable option for a real-time completion oriented TAS. With A-presses or B-presses one can collect items on an image if they are close enough to the magnifying glass, and each such attempt to find an item will cost some time (represented on a yellow clock on the bottom left of the screen), but only if one misses.

Magnifying glass movement on images

Holding down the Y button in combination with directional input allows to move the magnifying glass at a faster speed across an image. Hence one wants to hold Y for faster magnifying glass movement over the screen to reach the 2 collectible items, Waldo & Whitebeard's scroll, faster. Only in cases in which one has to zigzag (when 1 collectible item is to the left of the magnifying glass's initial position and the other item to the right of it) by initially moving the magnifying glass in one direction for the first item and then turn around to move the magnifying glass to the opposite direction sideways alongside an image, one wants to release Y for 1 frame (2 or more frames didn't seem to be viable anymore in any case) on the way to the 1st collectible item, but only if it still allows to collect the 1st item in the same earliest frame as if Y were held, in order to have the magnifying glass in the moment of collection placed slightly further towards the opposite direction that one wants to move to afterwards, in the hope of then being able to collect the 2nd item 1 frame earlier. I had to pay close attention to the frame-by-frame magnifying glass movement, because A-presses at certain frames, aswell as certain rapid A-presses together over certain time periods during image searches can cause the screen to freeze for 1 frame, so that the magnifying glass is stopped for 1 frame from moving, which had to be avoided, because apparently, lsnes doesn't always catch these kinds of frames, and doesn't list them as additional lag frames among other lag frames. In regards of RNG-manipulation for the purpose of obtaining favourable patterns of collectibles for later image searches, even the smallest 1 frame time-loss due to freeze-frames from badly placed A-presses constitutes a restriction to the set of A-press patterns that are available for attempts of manipulating the image pattern RNG, since as soon as an A-press pattern for RNG-manipulation has a freeze-frame as by-product, one might aswell forego the on-image RNG-manipulation and instead delay the start of the next image search by 1 frame to use this 1 frame for the much more effective RNG-manipulation on the menu screen. Moving the magnifying glass up or down while carrying it sideways over the screen can in some cases allow to dodge collectible clock items that can trigger a separate search for another sprite on the image, allowing to use A-presses for RNG-manipulation during times where the magnifying glass normally would move over a clock. But there is also other clocks (with the same look) that don't represent hindrances but just add more time (1 full yellow clock range each) for searching after Waldo and Whitebeard's scroll. The sideways and vertical movement of the magnifying glass seems to work independent of each other, so that moving diagonally apparently doesn't make the magnifying glass move slower or faster sideways compared to moving it straight horizontally.

RNG-manipulation

There appear to be essentially 3 way to manipulate the RNG that determines the patterns of collectibles that one gets on future images. The first option would be to simply add blank frames before advancing in the game, which is to be avoided and substituted with RNG-manipulation via button presses of which there seems to be 2 kinds:
(i) In the frame-range starting from the 1st frame at which one can press Start to make the game switch from the menu screen to the start of the next image search, up to the last frame strictly before Start actually is pressed to do so, one can use Up, Down, Left, Right, A, B, X, Y, L, and R in any combination for RNG-manipulation. However, it seems that some button presses are equivalent to each other (like A and B, for example) or take priority over other button presses (so that other button presses aren't accounted for anymore) regarding RNG-manipulation. Since this method requires delaying the start of the next image search, it is to be avoided aswell where it is possible.
(ii) As it turns out, and as Le Hulk observed in his previous submission, the pattern in which A-presses (for collecting objects that are close enough to the magnifying glass) are spread out during the process of searching for Waldo and Whitebeard's scroll (also referred to as image search) on any given image (from the first to the fourth, to manipulate patterns from the 2nd to 5th image) can barely allow to change the next image's pattern. I say barely, because experience with trying to use this method shows that most of the time when one changes the frame in which an A-press occurs, it seems to have no effect, whereas method (i) usually allows to get around 3 different patterns with different button-press combinations on just 1 menu-frame before the Start press. In fact, I have spent probably around one to one and a half hour with roughly 1000 to 1200 A-press pattern changes (which include changes in the total A-press count, aswell as if I'd take a 150 points plate or not, or pick up a clock along the way or not, for more variance) during the first image search in an attempt to get the best pattern for the 2nd image without having to delay the initiation of this 2nd image search by 1 frame, and even though it seems that I got 4 of the 5 different patterns for the 2nd image, I was unable to get the desired result this way. Maybe though there is a fundamental reason, based on how the logic (that I don't know the details of) for the RNG works, which was preventing me from getting the outcome I wanted. Regarding on-image RNG-manipulation, the direction buttons and X,L,R, and Select seem to be effect-less, and B aswell as A+B presses seem to be equivalent to just using A instead.

Miscellanous details

For any image search, there seems to generally exist a certain frame (usually 1 or 2 frames after the last frame in which the game can be paused with Start during an image search) after the last A press (to collect the 2nd item among Waldo & Whitebeard's scroll) where it makes a difference if there is at least 1 button that is pressed (but not held from earlier on already) in this frame or not. And if there happens to be a button-press in that frame, then the load time until one can press e.g. Start to advance past the next scoreboard screen is shorter by 2 frames and sometimes 1 frame (probably because the game has some input-related checks only set up for every 2nd frame). I stumbled over this during input-spam tests(*). Only regarding the manipulation of the pattern of collectibles for the 1st image via method (i), the B button cannot be used unless at least in combination with A, because otherwise the menu will go back 1 step and puts up the option again where the player can choose between Normal and Expert mode. But for all later images, the game will not do this anymore, so B can be used for RNG-manipulation there. It seems that the specific score value with which an image search is finished can delay or shorten the time that it takes until one can advance past the next scoreboard screen by 1 frame. Normally, using up all A-presses in the time that is available during an image search helps to be able to advance past the next scoreboard screen earlier, but this isn't always the case, so that the total number of A-presses for RNG-manipulation isn't as restricted to a certain number of misses together with A-presses that don't cost time due to collecting items from the screen with them. However, finishing an image search with more remaining time can cause a higher/different score value, which apparently in some cases can in itself force a frame-delay for advancing past the next scoreboard (for which a particular case seems to be the passing of the 1st image with at least 2200 points). In some situations it can be that the last A-press that is done for an image search can be within a 2-frames range while the frame at which the scoreboard screen that follows afterwards can in both cases be advanced in the same earliest frame. The load times starting from the fade-out of scoreboard screens to the frame in which the next image search can be initiated appears to be consistently 146 frames (and only at the completion of the 1st image search towards the start of the 2nd, 1 frame is delayed for RNG-manipulation).
For some further information, one can check out my post in the The Great Waldo Search thread: Forum/Topics/20440. However, some statements from there are to be seen as corrected or updated with the information from this submission text.

Experimentation and optimization tests

Finishing the 4th image search that provides even 3 clocks on the magnifying glass's way towards Waldo for the shortest pattern with higher score values has been tested, but no earlier advancing past the next scoreboard screen was possible that way, and with higher score values it only seemed to get worse instead. Also finishing the 4th image search with lower score values, by collecting clocks to be able to waste more magnifying glass searches which reduce the score has been tested, but the next scoreboard screen couldn't be passed earlier that way. I tested if Waldo or Whitebeard's scroll can be collected at the same earliest frame individually on different images, independently of the magnifying glass's height in the frame of collection, but this is actually not the case: Apparently at least Waldo can be collected slightly earlier (when he's approached from the right) if the magnifying glass is near the lower part of his sprite, and the earlier collection is not due to a faster magnifying glass movement sideways in general when it moves diagonally, since adding further vertical movement inputs will not keep the earlier Waldo collection possible if the magnifying glass's height on screen is near the top of Waldo. At least once on image 3, it occured that keeping a Left-press at the last A-press needed for completing the image search allowed for an earlier advancing past the next scoreboard screen (and no other buttons on that frame would have the same effect, and button presses on nearby following frames neither), while releasing Left (the direction that the magnifying glass was previously moving) would delay it. And as consequence of the observation of this effect, I tested on other images if this would matter for optimization, but only noticed that the effect could aswell be vice versa (on image 2) where leaving out Left at the last A-press is helpful. It was tested for all 5 images if starting to hold in a direction already before an image search starts allows to move the magnifying glass earlier, but this is not the case, and it was tested if the 2nd collectible (Waldo or Whitebeard's scroll) on any image can be collected with an earlier A-press, but this isn't the case either. Then it was tested if there were any remaining freeze-frames where the magnifying glass doesn't move, but there is none. Finally, it was confirmed that substituting some or even all A-presses on images with B-presses seems to have no effect on the RNG and doesn't allow earlier advancing through scoreboard screens. In the end, I tried to standardize/normalize the A-press patterns during image searches in a canonical way back from how they ended up chaotically due the attempts to manipulate the RNG, so that all A-presses are shifted as much as possible towards the beginning of an image search, leaving only input gaps where it seemed necessary, aswell as leaving late A-presses where it seemed necessary in order to keep the RNG-manipulations. (I'd also have example movie files that correspond to most of the above observations, in case anyone is interested.)
(*) With input-spam tests, I'm referring to a quick and easy method to check the stability or consistency of the length of load times (to a certain extent) aswell as potential desynchronizations that may occur later in a TAS, where I would put up lsnes' input editor window, make a savestate at the beginning of a given load time e.g. at the end of a level, before something new starts, and I would just hold the fast-forward key and spam inputs with mouse-clicks on the input editor window while the movie is running to check if the earliest input after a load time could then take effect even earlier, or if it would need to be delayed or if it stays unchanged, aswell as if anything afterwards changes, and if there is a change that can be observed (after reloading my savestate at the beginning of a load time a few times to go over the procedure of spamming inputs a couple of times), I'd reduce the random inputs to localize which inputs specifically had an effect.
I did not put together or use a RAM watch, even though normally I'm interested in finding corresponding addresses for game elements, but it just seemed rather excessive for a game like this.

Potential improvements

It might be possible to reduce that 1 frame delay that was used to get the correct pattern of collectibles for the 2nd image, possibly via some outlandish A-press pattern during the first image search (for which finding a memory address that corresponds to the RNG might help, but my memory search attempts failed to identify it), but only if one can keep the saved frame past the remaining images that likely would again need to be manipulated for their optimal patterns.
Maybe there could be a 6th pattern of collectibles for 1 or more images (which I doubt), but if so, it would also need to allow for an even faster collection of Waldo and Whitebeard's scroll than the other 5 patterns.
It might be possible to find a different RNG-manipulation with A-presses during some of the first image searches that generate the same patterns for the remaining images but allows to avoid some of the 1-frame delays for advancing past the scoreboard screens that may exist for the 1st, 3rd, 4th and 5th image (with each load time taking 107 frames instead of 106 frames as for the 2nd image), provided the time-save can be kept, potentially by keeping the score value as small as possible at the same time (even though the collection of 150 points plates doesn't increase the score value by much in relation to how fast the score value grows overall throughout the image searches). At least for the 4th and 5th image, I can confirm (from a previous, slower TAS) that the load times can be 1 frame shorter each, at the same time.
Suggested screenshot frames: 540, 876, 1565, 2202, 3153, 3410, 3885.

feos: Awesome job improving that usefile, and nice research too! This movie is done on the hardest difficulty, so I can accept it now. Still no enthusiastic feedback, hence Vault.
fsvgm777: Processing.
Last Edited by adelikat on 10/31/2023 5:54 PM
Page History Latest diff List referrers