DISCLAIMER

If you plan on encoding this movie, please stop your encode on frame 85049 so that the "The End" frame is displayed for exactly one second. Thank you. This TAS should sync in any resolution or with any GLideN64 plugin settings as long as "UseDefaultHacks" is set to "True". If you would like to change the plugin settings for playing back the movie, remember to remove or edit the SyncSettings file from the .bk2, otherwise it will use the default settings included in the movie file. However, the default plugins settings for this movie file follow this page as a reference (https://tasvideos.org/EncodingGuide/VideoDumping#N64 ), so that HD encodes made without modifying or removing the movie's SyncSettings.json file will turn out great!
You can also find the the bizhawk emulator used to make this TAS, the TAS movie file, an FFV1 lossless encode, lua scripts, and ffmpeg on my archive page: https://archive.org/details/mm-n64-any-archive

Where can I watch it?

Commentated Uncommentated

Wait, haven't I seen this TAS before?

This is an updated version of our N64 any% (classified as game end glitch) TAS of The Legend of Zelda: Majora's Mask which has better entertainment value (in my opinion) and very slightly better optimization. The only actual optimizations applied to this movie in comparison to the last movie was 1 frame in entering file 1, 6 input frames in the skull kid fight, and 1 frame entering file 2. The remaining frames that were saved came from less loading times that were due to having less controllers plugged in as well as from loading zone lag manipulation. Below, you will find the same or very similar information regarding the exploits used in this run in comparison to the slower TAS. Some minor edits have been made to the previous submission's notes to provide more clarity.

Movie Details

  • Emulator: Bizhawk 2.6.1
  • Core Type: Pure Interpreter
  • Active Video Plugin: GLideN64
  • Controllers: 1 and 3
  • Game Version: Japanese 1.0
  • Rom SHA1: 5FB2301AACBF85278AF30DCA3E4194AD48599E36
  • Profile: N64 Tool-assisted Speedruns
  • Required Plugin Settings: UseDefaultHacks TRUE
  • Frame Count: 81,846
  • Rerecord Count: 46,295

RAM Memory Addresses used

  • 1EF48C - Current File (8 Byte, Hex, must be viewed in hex editor)
  • 50B28C - Secondary File (8 Byte, Hex, must be viewed in hex editor)
  • 3FFFC4 - X (4 Byte, Float)
  • 3FFFC8 - Y (4 Byte, Float)
  • 3FFFCC - Z (4 Byte, Float)
  • 1EF46C - Time of Day "ToD." (2 Byte, Unsigned)
  • 40005E - Facing Angle "FAC. ANG." (2 Byte, Unsigned) (2 Byte, Hex)
  • 400A74 - Movement Angle "MOV. ANG." (2 Byte, Unsigned)
  • 400A70 - Speed "SPE." (4 Byte, Float)
  • 3E704A - Vertical Camera "VERT. CAM." (2 Byte, Unsigned)
  • 3E704C - Horizontal Camera "HORI. CAM." (2 Byte, Unsigned)
  • 1EF49A - Rupee Count "RUPEES" (2 Byte, Unsigned)
  • 3FF3B0 - Room Number "ROOM" (1 Byte, Unsigned)
  • 1EF506 - Bomb Ammo (1 Byte, Unsigned)
  • 3E89C4 - Bomb Actor Count "BOMB ACTORS" (1 Byte, Unsigned)
The names of each address were shortened to reduce the amount of text being displayed while making the TAS.

Glitches, Techniques, and Game Mechanics

  • Textboxes and Cutscenes: A little known mechanic about textboxes and cutscenes, is that advancing textboxes on the earliest frame possible is not always necessary for triggering the next textbox on the earliest frame, because the game has a timer for how long it has to display the cutscene the textbox is displayed on. This is why you sometimes see some delayed textboxes, because they didn't need to be cleared on the first frame possible to achieve the best time. And in terms of textbox mechanics, normal textboxes can be advanced by pressing A, B, or C-up at the end of the dialogue, although some textboxes can be "quick-text" where pressing B will immedietly display all the textbox, allowing you to advance the textbox much sooner than normal textboxes.
  • File Name Code: File names can be used to write code when setup properly, and whenever a file is created, its name is written into an unused portion of memory until the game is reset. Because the current file name you are playing on is always loaded somewhere else in memory, this gives us access to 2 file names to point to using SRM.
  • Curved Backwalking: Holding slightly down and to the left or right relative to link and the current camera when z targeted allows you to curve the momentum of your backwalk. This is important for crossing long distances that aren't completely straight, such as the beginning of lost woods, or for when you need to open a door and using sidehops puts link too far away from the door to outspeed backwalking.
  • Curved Sidehoping and Backflipping: Holding any direction (that isn't the last frame of the sidehop/backflip) allows you to shift the movement angle. This is important in sections where you shouldn't move in a straight line, such as in the next area of the lost woods where link sidehops across the stumps.
  • Untargeted Initial Sidehops/Backflips (I don't have a good name for this): When you sidehop or backflip by pressing A without being in a targeted state and retarget by pressing Z afterwards, it causes your current movement angle to shift in the direction you were sidehoping/backflipping towards. For example, if you were to do an untargeted sidehop to the left and retarget, your next sidehop would act as if link had turned slightly to the left, putting him slightly down of left relative to the initial sidehop.
  • Untargeted Deku Sidehops/Backflips: If deku link is not targeted while airborne during a sidehop/backflip, he will turn in the moving direction until retargeted. This is useful because every other form of link has to land on the ground before being able to make any significant changes to the direction of their sidehops, which costs 2 extra frames, though it may only cost you one frame since link continues moving on the frame you change his facing angle.
  • Z-targeting with walls: Pressing Z-target while up against a wall will force links facing angle to align with the wall. If you do this during an untargeted sidehop, it also shifts link's momentum towards the wall. This is useful during fox's TAS of the stock pot inn, where he uses this technique to fall forward under the upper wall to get around a corner faster.
  • Z-Sliding: Pressing Z every other frame allows you to retain your current speed without being affected by slopes. By pressing Z during the 2nd input frame of an untargeting visual frame, you can Z-Slide without losing your speed while z-target is being locked on an object, such as the dog in south clock town. Z-slides are typically done out of a backwalk or a Hyper Extended Superslide, though it can be performed from most grounded movement.
  • Superslide: A superslide occurs when link rolls into a grabbable object while shielded, then grabs the object with A and then takes recoil damage from an explosion. The superslide will end if you let go of the R to stop shielding, causing link to stop by picking up the item that was superslided off, even if it isn't currently loaded. This is one of the most common ways to perform Stale Reference Manipulation.
  • Hyper Extended Superslide: HESS for short, rolling into any kind of damage source during one of two correct frame of link's roll animation and holding the extended superslide position (which requires a minimum of 16x, as opposed to Ocarina of Time's 8x) on the control stick, will momentarily cause link to gain -18 speed, allowing link to quickly travel backwards using methods like the extended superslide position or Z-sliding to retain the speed. His directions can be controlled by holding ESS in the opposite direction of where link needs to be pivoted. Holding Z in this state will allow you to move in the opposing direction of the control stick without changing link's facing angle.
  • Extended Superslide Position: ESS for short, holding a minimum of 16x on the analog stick in any direction that isn't link's facing angle will cause link to turn to the direction of the analog input relative to the camera. This is mostly useful for maintaining the negative speed gained from HESS's, but it can be used for ESS-twisted sidehops/backflips as well.
  • ESS-Twisted Sidehops/Backflips: Holding the ESS position on the analog stick until link's movement angle has shifted will allow you to change link's facing angle and use Z to target on the same frame. If you backflip or sidehop during this time after changing link's facing angle this way, link will shift his current facing angle to the pre-targeted facing angle. This can be entertaining to see during playarounds but can also be useful in some circumstances where you are not traveling in a straight line. But this technique unfortunately seems limited to a certain range of angles depending on the current camera.
  • Gainer: If you target a wall and backflip without holding Z and retarget the wall on first frame of the backflip, you can use the backflip to climb low hanging ledges that could be otherwise unreachable. An example of this being useful would be the platform in front of the clock tower doors, which is otherwise unreachable without using the business scrub deku flower (which would cost time), or using a gainer on the wall closest to the silver rupee chest in east clock town as zora link to reach the chest faster.
  • Lost Woods Tatl and Deku Flower Skip (very precise movement): It is possible to skip Tatl's textbox near the deku flower and the flower itself at the end of the lost woods using a precise backwalk around the textbox trigger in combination with a VERY precise spin-jump to popup on the ledge.
  • Escaping East Clock Town: It's possible to easily escape east clock town by backwalking against the guard on the side of the entrance closest to the milk bar/inn. This is used to collect rupees outside of clock town as well as skip the north clock town introduction cutscene.
  • RNG Manipulation: It's possible to manipulate seemingly random events in the game without losing time by making analog inputs while an area is being loaded, giving you a different RNG seed. This was used to manipulate the bombers kids to be farther away from link so that pressing A to sidehop does not trigger their textboxes, as well as before 2nd cycle Termina field to get two bomb drops and before the observatory to get the blue rupee drops from each pot to be directed towards link. These manipulations are done using a lua script that generates random inputs between up, down, left right, upleft, upright, downleft, and downright.
  • Loading Lag Manipulation: To start explaining this section, first let's get one thing out of the way. Majora's Mask does not load area's in the same way as Ocarina of Time. You may enter a load zone and end up outside on one frame, but if you enter that load zone and make a any kind of input right before the loading starts, you may end up coming out a frame later, or sometimes a frame sooner than you would have if you had not held any inputs. RNG manipulation, which is done by making inputs while the game is loading, seems to affect future loading zones and how they react to inputs being made before the load. You can end up in a circumstance where performing RNG manipulation causes the first, second, or third loading zone from that point to have an unpreventable extra frame of lag, but it's completely unpredictable, which means it has to be accounted for by testing it manually. But some loading zones have a "cursed seed", which is a scenario where no matter how many manipulations you perform with your current RNG, there is no way to accomplish your desired result. This TAS had a cursed seed, which occurs after the 2nd hard reset, in which we need to collect two RNG bomb drops in Termina field and manipulate the pot drop trajectories to hit link. While only testing random inputs from the loading zone to Termina field, it was impossible to guarantee those results. So I began doing RNG manipulations in earlier loading zones so that we would have a different seed to use when we manipulated in the loading zone to termina field. In earlier loading zones, such as the load to clock tower and the load to south clock town, performing the RNG manipulation would cause us to be cursed with an unremovable lag frame in the load to termina field. But then I did 5 different manipulations with the loading zone to east clock town and we still ended up with a lag frame. Notice how I didn't say "unremovable" this time? Because certain lag frames can be remedied by making an input on the analog stick for at least one frame during link's state prior to the load while link is entering the loading zone. Based on my testing, your manipulated RNG can affect the loading zone lag as well, which was such the case with the RNG manipulated in the loading zone to west clock town from day 3, in which nearly every other RNG seed seems to have caused a lag frame upon re-entering SCT with the same inputs. In short, to optimize for loading zone lag, you should avoid holding inputs on the analog stick during link's uncontrollable state when entering a loading zone to prevent possible lag frames, but you should test to see if holding an input happens to cause your load to happen sooner and use that if it does. When factoring in RNG manipulation, you must take into account that the RNG could affect whether you get the lag frame or not (depending on the circumstances). Try to setup a scenario where RNG does not affect the lag, so that you can effficiently optimize RNG with lua scripting. Otherwise, you may be encountering frequent desyncs and wasted script time. This is not a well understood mechanic, as it seems I am the first person to have found it, so there's not much known about how it actually works. I can only suggest ways to get around the extra lag frame which can sometimes happen.
  • Input Lag: The previous events that have lead to the game's present state seem to affect which frames the game checks your inputs, even if there isn't any noticeable visual lag. This is noticeable during the heap setup for SRM, as executing the same input file even with a working RNG seed for aligned pot drop trajectories is nearly guaranteed to result in a desync during either the input change during the HESS, and sometimes during both the first and third backwalks as well. Because of input lag, whenever a new optimization was found to the run after the 2nd hard reset, I had to redo the inputs for manipulating the SRM heap due to different amounts of input lag each time. Despite coining the term "input lag" though, there is no in-game lag, the inputs are just processed on different frames.
  • Cutscene Skipping: The Happy Mask Salesman Cutscene can be skipped by never being on the cutscene trigger for more than one frame at a time. This can be done by continuously pausing the game to advance the game one frame at a time. Cutscenes that occur just after the game is saved can be skipped by hard-resetting the game, such as after exiting the clock tower for the first time or anytime after confirming the song of time textbox.
  • Stale Reference Manipulation: Often referred to as SRM for short, is a technique to write data to a referenced location that isn't pointing to the original actor it was supposed to point to. This can be used for various purposes such as modifying a chest's contents to rely on link's angle, run the current file names as code (N64 only), or even skip first cycle (Wii only).
  • Arbitrary Code Execution: Often referred to as ACE for short, is a technique available in few games, which allows controller inputs to be ran as code within the game. It is the most potent glitch any video game can have, as it allows literally anything within the limitations of the console/emulator to occur.

The Route

1st Cycle

  1. Setup File 1 to write the "080200BE AF801448" hex code.
  2. Get to clock tower from the lost woods.
  3. Skip the Happy Mask Salesman cutscene using pause buffers to prevent the game from having two frames of being in the cutscene trigger.
  4. Hard-reset the game after the game saves to skip a cutscene with Tatl.
  5. Reach night of the 3rd day by advancing time using grandma's stories and the scarecrows dancing.
  6. Collect the stray fairy in east clock town and escape east clock town.
  7. Collect at least 50 rupees by manipulating the RNG from the patches of bushes Termina Field and get the magic reward from the NCT great fairy.
  8. Buy the bomb bag from the bomb shop and use a gainer to reach the clock tower platform.
  9. Wait until midnight for the clock tower door to open (this is the main reason why first cycle takes such a long time to complete)
  10. After the clock door opens, shoot a deku bubble at skull kid and collect the ocarina of time.
  11. Learn the song of time and equip bombs along with the ocarina of time. This is the only pause in this TAS.
  12. Hard-reset after saving the game through confirming the song of time save prompt.
1st cycle is an unavoidable part of this TAS because there's no known way to become human without getting the ocarina and learning the song of time. If it was possible to get any mask at all as deku link, we could use a glitch with honey and darling minigame to become human, but currently there's no way to do that. So for now, the best thing we can do is use the NPC's around clock town to advance the in game time to night of the final day, and collect the bomb bag so that we can use bombs later on in the TAS. The best way to do this is to skip as much waiting time as possible using grandma's 2nd story that advances to the next day and the scarecrow's dancing which advances by 12 hours each. Escaping east clock town allows us to collect the required rupees to buy bombs for later usage and skip the north clock town entrance cutscene by entering from Termina field.

2nd Cycle

  1. Setup File 2 to write the "0807BD23 3C1C8017" hex code.
  2. Load file 1 and enter the clock tower.
  3. Learn the song of healing and obtain the deku mask.
  4. Leave Clock Town through the east entrance and obtain 2 bomb drops from the closet patch of grass via RNG Manipulation.
  5. HESS using the nearby chuchu as a damage source and clip behind the fence around the observatory using an acute angle with the wall, and then use a Z-slide to redirect link's movement angle to reach the observatory door faster.
  6. Manipulate the Actor Heap using bombs between observatory (room 1) and the hideout (room 0).
  7. Trigger SRM by supersliding off of a pot using a bomb that is placed to apply recoil link to link without breaking the pot
  8. Release the Z button while the camera is inverted to twist the camera away from the observatory and cull (unload) the pot by having it off-camera.
  9. Re-enter the observatory and drop the SRM within a certain range of angles to point to the moons tear draw function.
  10. Make link's last targeted angle either EE8C, EE8D, EE8E, EE8F or EE90 in hex and face angle 0807.
  11. Pull out the ocarina to pan the camera with link's current facing angle to load the moons tear draw function.
  12. Use the two loaded file names to allow controller 1 and controller 3 to write inputs that can be ran as code.
In the 2nd cycle, now that we can become human, after making it to the observatory and doing some heap manipulation, we can trigger the SRM glitch I mentioned earlier. We can use this glitch to get the game to run controller 1 and 3's inputs as code, and load the end of the credits. The credits noticeably doesn't have any music, because we didn't warp to the start of the credits that triggers the music. This is because at the start of the credits, there are multiple textboxes that require inputting A, B, or C-up to advance, and TAS timing ends on the last frame of input, not the first frame of the credits, unlike RTA timing. We also warp to the end specifically because otherwise the credits do not play out correctly, and the player will regain control of link during the credits.

Technical Explanation of Total Control ACE, by Seedborn

By passing through a loading plane while grabbing a pot, Link is in the state of 'holding' an actor which is no longer loaded. By loading other actors at an offset in that space, the properties of the grabbed item that Link is supposed to be affecting (e.g. position, rotation) become ways of writing over the new actors' data. We take advantage of this by corrupting a pointer to the function that draws the Moon's Tear present in the observatory. We redirect this pointer into Link's instance, and by manipulating his angles further redirect execution to the controller inputs.
Filenames in the game are 8 bytes, and so can be used to form mips instructions (within the limits of the Japanese characterset). Fortunately, Majora's Mask keeps a stale copy of the name of the last created file in RAM, which allows us to use the names of two separate files to form these instructions. When we redirect the game's execution to the controllers, the first thing that controller 1 does is jump to the secondary file name, which then jumps to the primary file name and then away to normal execution. Along the way we are able to erase an instruction that suppresses input from the other three controllers, which means that now we can form instructions using multiple controllers (only the inputs of controllers 1 and 3 are 4 byte-aligned in RAM, so only those two can form full instructions).
Reserving controller 3 for a jump to safe execution, controller 1 can form nearly arbitrary instructions each frame. This allows us to write a small snippet of code which, when executed, sends us to the final cutscene of the credits (and also removes the usual fadeout).

Contributors to this TAS

  • Türkenheimer helped me determine the fastest combination of file names for triggering the total control ACE.
  • Rylie walked me through how the heap manipulation worked and explained how the angles could be setup.

What is Each Author Responsible For?

  • I, Edwin Bruce Shankle IV, TAS'd the 1st lost woods section, the 1st half of the 2nd lost woods section, movement to the inn, movement to WCT from ECT, night 3, and 2nd cycle, except for the last ACE angle, as well as the RNG manipulation for the two bomb drops in Termina field and the pot rupee spawn trajectories. I've also redone this entire TAS several times due to re-optimizing, desyncs, finding better file names, having the wrong file name to begin with, etc. This may be 6th or 7th time redoing this, but it is my BEST! At this point, if this run is ever beaten without any new strategies, it will be from lag reduction in some way that isn't currently known about.
  • Fox TAS'd the 2nd half of the 2nd lost woods section, the pause buffered HMS CS skip, the stock pot inn movement, and the movement to the scarecrow shop. There's no way this TAS would have as much optimization as it does today without Fox's help, he essentially TAS'd the two most precise tricks in the entire run which I don't think anyone else could pull off as well as he did.
  • Andzura TAS'd the flower angle to sync fox's inputs for 2nd half of the 2nd lost woods section, lua scripted RNG manipulation for the two bomb drops in termina field, lua scripted rupee spawn trajectories in the observatory, found the input for the last angle before Seedborn executed ACE, and researched the heap manipulation. He has ran his lua scripts for this movie several different times, I really appreciate how much work he has put into making this TAS possible.
  • Seedborn TAS'd the inputs for total control Arbitrary code execution to load the end of the credits using controllers 1 and 3. He also wrote the technical explanation of ACE for this submission, and looked over this submission with me for a little bit, as well as providing the addresses for file name 1 & 2 and discovering ACE in the first place. He's the real legend here.

Closing Notes and 1st Cycle Skip

I hope you had as much fun watching this TAS as I did making it! This is currently the most optimized N64 any% (referred to as game end glitch on tasvideos) TAS of this game, although I expect that if there is ever a Wii TAS of this game submitted, it will easily beat this run by several minutes even with much less optimization due to this new (new to me) method of skipping first cycle using a Wii-exclusive SRM that crashes on N64:
It's also possible to skip first cycle by using SRM to obtain a normal mask after collecting a map from tingle, as demonstrated by Türkenheimer today:
A similar approach used SRM in Grezzo's 3DS Remake of Majora's Mask to obtain the Keaton mask during 1st cycle, which if was possible in this run, would also allow us to skip 1st cycle by equipping the mask during the honey & darling mini-game on the third day.
If there becomes another method to perform SRM that allows deku link to turn human during 1st cycle, and it happens to not crash on N64, then this TAS will be outdated. Until then, I believe this TAS is up-to-date based on what we know about Majora's Mask today. This run is a giant leap for TAS optimization standards, yet we're still one small step away from first cycle skip, hence one of the reasons so many people found this TAS boring due to the abundance of mandatory cutscenes. I really hope that there is eventually a discovered way to skip first cycle in Majora's Mask, then we could go to the observatory right away and load the credits even faster. Or perhaps it would allow for an even faster way of demonstrating some of the crazy things that are possible using N64-exclusive Total Control Ace, such as this demonstration from Seedborn here:

Samsara: Delaying at the author's request until a final file is provided.
Samsara: It appears that there will be no further improvements, so replacing with the final file and resuming judgement.

slamo: Claiming for judging.
slamo: Nice improvement! The old run also syncs on 2.6.1, so there are no emulation differences to worry about here, this movie is just a pure improvement. Accepting to obsolete the previous movie.

EZGames69: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15651
Location: 127.0.0.1
Former player
Joined: 6/30/2010
Posts: 1107
Location: Zurich, Switzerland
This TAS synced for me in 2.8, so I was able to watch it. The route is very cutscene heavy and most of it is essentially a 20 minute long autoscroller. But despite all of this, I still found it entertaining due to the sheer amount of optimization in the parts where speed actually matters. I admit that I'm probably just biased here because I grew up with the N64 Zeldas, but for me, this TAS is entertaining enough for a "yes" vote. The movement is about as good as it gets and the downtime is used effectively to play around in various ways. Of course, I'm still hoping that First Cycle can eventually be skipped on N64. Until that happens, I'm happy to see every possible frame squeezed out of the autoscroller route!
Current project: Gex 3 any% Paused: Gex 64 any% There are no N64 emulators. Just SM64 emulators with hacky support for all the other games.
EZGames69
He/They
Publisher, Reviewer, Expert player (4482)
Joined: 5/29/2017
Posts: 2767
I've confirmed sync for this movie
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Post subject: UPDATE: FOUND A THREE FRAME IMPROVEMENT
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
I will improve this run by 3 frames soon by not using a backwalk to start the speed for entering clock tower from south clock town, I wasn't using the old inputs as a reference for this section and they actually beat this new run by one visual frame here, which is 3 input frames, or 3 out of 60fps. Will fix this ASAP! Please do not publish or encode this movie in it's current state! Please!
Post subject: This TAS has now been improved by 3 frames! You can dowload the movie file from here!
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
The movie is now finished with a final framecount of 81,847, or 22 minutes and 44.12 (rounded) seconds. I improved the 3 frames by entering clock tower with similar inputs to the previous movie that were faster than doing a backwalked z slide by one visual frame, which is 3 input frames. Download from here:: https://tasvideos.org/UserFiles/Info/637983642812531360 Also, TASVideos Staff, please replace the current submission movie with this file linked here! This is the most optimal version of the movie, it looks almost identical to what is submitted besides the section entering the clock tower. I have some other notes in the user file description. I also fixed the timing error I mentioned in the discord where I had not rounded the hundreth second, it is now properly named in an identical manner to how the previous MM g-e-g tas was named.
Post subject: New input-identical movie file with better SyncSettings! Also, a preview encode is uploading!
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
I've updated the movie file with this one here: https://tasvideos.org/UserFiles/Info/637984264275475069 that has better sync settings. Because as long as UseDefaultHacks is enabled, this movie seems to playback properly each time, so I replicated the settings found on https://tasvideos.org/EncodingGuide/VideoDumping#N64 while keeping UseDefaultHacks set to True, and I've also made a lossless FFV1 encode using this movie file, which is being uploaded to YouTube as you are reading this! Hopefully I can add it to the submission notes in a couple day or so, but it wll take some time due to the file size being 95.6GB. And if anyone encodes this movie, I recommend stopping on frame 85050! This will be exactly one second has passed after the last repeating frame is visible! And any tasvideos person reading this, can you replace the current submisison movie file with this one instead? The inputs and everything besides sync settings are completely identical to the previous movie linked in my previous post on this thread. But if you would prefer to replace using the movie that has default settings that's fine too, I would just prefer this one because of better plugin settings.
Post subject: The latest movie on userfiles may be missing header
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
I think I forgot to replace the movie's header when I was changing the syncsettings. Tonight I will replace the header in the .bk2 with the header from the previous userfile upload that has the lowest framecount and reupload to userfiles. Then I'll delete the previous file uploads to clear up confusion and add a link in another post on this thread and in the submission notes.
Post subject: The TAS is not ready! Do not download the movie yet!
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
I have found another frame that could be saved in file name 2! Please wait for us to get the rest of the TAS synced with this new frame save implemented, the RNG scripts have to be run again and I must redo the ACE HESS in observatory to account for lag frames. It will hopefully be ready in a couple days or so depending on when andzura can get around to scripting it and how lucky we get. Thank you for waiting!
Post subject: The TAS is now fully optimized and can be downloaded from userfiles! (last movie update)
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
The final version of the N64 Majora's Mask TAS under the branch "game end glitch" is now fully optimized, meaning we cannot figure out a way to save anymore frames on this TAS, with a total framecount of 81846 or 22:44.10 (no rounding in this time). I'm going to delete my previous posts regarding the old status of the movie file since it now ready. However, keep in mind the submission movie file has not been updated with this new, final movie file, so please download it from here for now: https://tasvideos.org/UserFiles/Info/637986252138083767 . This link is also included in the submission notes as well. This .bk2 file also has enhanced plugin settings which will look great in HD encodes. In fact, a high quality encode is being made right now and should hopefully get uploaded to my YouTube as an unlisted video within a few days or so. I'll be sure to make a post to notify you all when that is finished. Make sure to check "Watch Topic for Replies if you want to be notified, at least I think that's how it works. Also, make sure you playback the movie on bizhawk 2.6.1! It could potentially sync in other versions but some people have desynced in night 3 south clock town when they were using later bizhawk versions. I hope you are also all very impressed by the optimization of this movie, we've literally tried everything and can't beat the game any faster! I hope you appreciate this TAS as much as we do. Lots of things had to be redone to account for new optimizations as well as just for the sake of redoing some things just so that it's different from the last TAS! :) . Can't wait to share the encode with you all!
Post subject: The TAS file is now confirmed final, here's why (also, encode status)
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
I wasn't certain if the movie file that I recently uploaded to userfiles would be final or not, because I wanted to see if I could use a different form of movement to save time, specifically see'ing if using sidehops to reach the guard in the East Clock Town entrance would be faster than doing the backwalk due to accleration delay at the start of the backwalk. The timing was very close but backwalking was still faster. And it wasn't possible to get the chu chu to attack on an earlier frame with backwalking so sidehoping was still optimal there as well. I looked over the ACE section with RAM Watch to see if the pulls were ocurring on the first frame possible relative the loaded rooms and the loaded bombs counter and that at all looks good as well. Me and andzura already spent a lot of time making sure the angle changes were as optimal as possible in the old version of the TAS so I know that is good as well. And I tested each load zone before to see if there lag could be manipulated with an analog input prior to the loading, and there were no loading zones where such was the case besides the load to termina field from ECT, which was already taken advantage of. I know the file names are as optimal as possible because I took the time to check several different routes before and I tested alternative working names as well to determine that this is still the fastest working name for total control. I also looked at some sections in the lost woods intro prior to all this to make sure backwalking in some of those sections was still faster than sidehopping, which ended up only being the case due to the ending of a sidehop being at a bad distance away from a sliding door. I checked to see if there was extra loading lag incurred from the manipulation for the first bomber kid, and we seem to have gotten pretty lucky because most other RNG seeds manipulated from there would cause an unpreventable frame of lag upon entering south clock town for some reason, so by accident this part of the movie is actually optimized! In theory, the same is true for the 2nd bomber kid manipulation due to there being no lag difference 4 loading zones later without the manipulation. At this point, I won't ever be working on this TAS anymore. If I do end up working on TAS'ing Majora's Mask any% again, it'll be for the wii version using dolphin so we can skip first cycle and do lightnode SRM strats. This ought to stand as the N64 record forever, unless first cycle skip is actually figured out on the N64 version, in which case this run will be very obsoleted. So, I'm done with this TAS. Also, an encode of this TAS is currently being processed on YouTube (processed at 10% so far). It should be finished processing friday night, or roughly 09/15 8pm UTC at this link: https://youtu.be/SBrUGACcMDo . It was encoded in 4K with enhanced plugin settings. I'll make the .avi file available to download from archive.org for those who wish to save a lossless video of this TAS. I'll make a commentated version as well, but that will probably take at least a few days from now to make. Need to finish writing the script and having it proofread. The mentioned final TAS file is the most recent file I have uploaded to my userfiles, at the following link: https://tasvideos.org/UserFiles/Info/637986252138083767
Experienced player (804)
Joined: 2/5/2012
Posts: 1814
Location: Brasil
BruceShankle wrote:
Also, an encode of this TAS is currently being processed on YouTube (processed at 10% so far). It should be finished processing friday night, or roughly 09/15 8pm UTC at this link: https://youtu.be/SBrUGACcMDo . It was encoded in 4K with enhanced plugin settings. I'll make the .avi file available to download from archive.org for those who wish to save a lossless video of this TAS. I'll make a commentated version as well, but that will probably take at least a few days from now to make. Need to finish writing the script and having it proofread. The mentioned final TAS file is the most recent file I have uploaded to my userfiles, at the following link: https://tasvideos.org/UserFiles/Info/637986252138083767
encode is private, dont know if its what you wanted
I want all good TAS inside TASvideos, it's my motto. TAS i'm interested: Megaman series, specially the RPGs! Where is the mmbn1 all chips TAS we deserve? Where is the Command Mission TAS? i'm slowly moving away from TASing fighting games for speed, maybe it's time to start finding some entertainment value in TASing.
Post subject: An encode of the TAS is now available to watch on YouTube! Check it out!
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
Finally, this TAS can now be watched as a video! Here's the video link: https://youtu.be/SBrUGACcMDo It's already processed in 1080p, by the time you're looking at this message, it'll probably be in 4K. Yep, I really outdid myself this time with the encode quality. Hopefully this makes it a lot easier for ya'll to watch the TAS! I have this video in the submission notes now as well. Thought I'd let you know!
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
KusogeMan wrote:
BruceShankle wrote:
Also, an encode of this TAS is currently being processed on YouTube (processed at 10% so far). It should be finished processing friday night, or roughly 09/15 8pm UTC at this link: https://youtu.be/SBrUGACcMDo . It was encoded in 4K with enhanced plugin settings. I'll make the .avi file available to download from archive.org for those who wish to save a lossless video of this TAS. I'll make a commentated version as well, but that will probably take at least a few days from now to make. Need to finish writing the script and having it proofread. The mentioned final TAS file is the most recent file I have uploaded to my userfiles, at the following link: https://tasvideos.org/UserFiles/Info/637986252138083767
encode is private, dont know if its what you wanted
The reason it said private was because the video was still being processed and I had not saved the video's publicity setting yet. It's unlisted and the processing has finished, so you should be able to watch it now. Hope you enjoy!
Post subject: Remember to enable Non-VI Lag Frames for N64 encodes or it doesn't encode reset frames
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
In order for your encode to pick up on reset frames for N64 TAS's, you have to go to the N64 tab and enable Non-VI Lag frames so that it doesn't skip frames that playback in red upon hard resets. Hopefully now that you know about this, it will assist you in making your personal N64 TAS encodes timing-accurate with the framecount of your run. Because of this, I will be re-encoding the Majora's Mask any% TAS tonight. When I get up in the morning, if it finished, I will stop the AVI recording and begin uploading to YouTube. Also figured out an easy way to setup an encode of your TAS so that you can set it up and walk away without having to be present and stop it on the right frame after the credits. Simply find the framecount you want to stop the encode on, subtract that from the framecount of your TAS, then get that same number of input frames, make them blank if you have to, and splice them to the end of your input log. Or you could just do it the easy way and make a state on the last frame of your movie, read+write, change inputs to 0, wait till credits frame, guess I could have done that, but that might not always be optimal for games with longer credits. Hopefully you guys will be able to encode your N64 TAS's better now that you know about this little thing. I'll be sure to update the TAS submission notes once I get it re-encoded and link to the one with the reset frames included in the encode, and transfer the title/description/tags from the non-reset framed video to the reset frame video. Also, I appreciate the positive feedback on the TAS! I think besides optimization wise, I did a pretty good job of just making it look cooler in general. It might be harder to appreciate if you haven't seen the old TAS though, but several sections which tie with the old TAS just generally look cooler or show off the skill of a TAS better in my opinion. Also, now that I'm watching this in full-time, the way I ended the v2 clock tower playaround was way cooler than I thought it'd be! Anyways, with post again when the new encode is processed on YT! Good night TAS friends.
Post subject: Actually it's something different that causes reset frames to not get recorded: alternate sync
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
Colin (EZGAMES69) told me that the reason it's not recording reset frames is because of the option that syncs to audio because of audio not being generated during reset frames, but it's a little more complicated than that due to mupen emulation and how it handles audio in reference to video. You see, you want your audio to be encoded as alternate sync because otherwise it will get stretched with the video and have pitch problems and such. But the problem with having alternate sync on, is that it won't record the game during resets because... There's not audio here! So there's your problem. How do you solve it? I've heard splicing in reset frames and editing the audio file to have the proper delay is a good option. But I was thinking of making the video encode with alternate sync off, and then encoding the audio with alternate sync on so there's no pitch problems, and using the audio that has no alternate sync as a reference for how to edit the synced audio file to account for reset frames and then merge that with the video encoded with alternate sync off. In theory, I think this will work. As you can tell, I'm not a TASVideos encoder, but I think I might be able to get something of good quality with reset frames accounted for using a technique like this.
Post subject: New preview encode, and it will be available to download
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
This is a notification that I've finished uploading the new preview encode of this movie, will reset/power-on frames included in the video now. This was done by disabling "sync to audio", also known as "alternate sync" in previous versions of bizhawk below 2.6.1, because otherwise, the codec will drop frames during resets because there isn't any audio being played back then. I've also been told that it's usually better to have this option enabled to prevent issues with the audio due to it needing to stay in sync with the video, so I listened to the entire non-synced audio file to see if I noticed anything wrong, and I did not. Here's my final preview encode of this movie. This is what will also be linked in the commentated version of this TAS when I get the commentary for it spliced and uploaded to YouTube: https://youtu.be/Tjofk7oQpWs It's currently processed in 1080p. but it should soon be available in 4K since I've already given it several hours to work on processing the video. I'll be leaving the old encode available as unlisted so that anyone who's still using that link can still watch the movie faster without reset frames, and so they can use the description to access this correct encode. This encode is currently being uploaded to a page on my archive.org account, it will be available at this URL when it finishes for anyone curious in downloading it: https://archive.org/details/mm-n64-any-archive Please give it a couple days for it to upload though, archive.org seems to frequently run into networking errors where someone has to be available to click on "resume uploading", so it might take a while before. This page also has the required emulator to playback the movie, the movie file, and several useful lua and wch files for Majora's Mask that I found from kaztalek's github page. So if you want to playback the movie from yourself, you can just download from here and extract the folder from the zip. Although I've heard archive.org's speeds are not great though, maybe it would be faster to just download from the github releases page instead. And yes, I've just replaced the link in the sumission notes with this new encode. I got some decent recordings of my voice yesterday which I'll work on splicing together some more tomorrow for a commentated version. I'll be going over the history of the any% category, as well as giving some basic explanations of the techniques used in this TAS. Hopefully I can have it done sometime next week and make a public release on YouTube. I'll add it to the submission notes as well when I get it uploaded.
Post subject: Commentated version now available! Publishers, please include it in this publication.
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
That's right, the commentated version was recently uploaded to youtube about 3 and a half hours ago. It will be processed in 4K eventually, although right now you can see it in 1080p60. It's on my YT channel here: https://youtu.be/F3MHJNhwStM Uncommentated version: https://youtu.be/Tjofk7oQpWs Hopefully this makes the run a bit easier to understand and also gives some insight on the previous strategies used for any%. I hope everyone enjoys this TAS to the fullest! I've really put in a lot of effort this time to make it entertaining and as optimized as possible. This might be my last post in this thread if no one has any questions or if no one significant has any comments about this run, so see you later!
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15651
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4930] N64 The Legend of Zelda: Majora's Mask "game end glitch" by BruceShankle, Fox, andzura & Seedborn in 22:44.10
Joined: 2/1/2008
Posts: 347
The link to the submission notes in the publication description links to the previous run's submission.
<ccfreak2k> There is no 'ctrl' button on DeHackEd's computer. DeHackEd is always in control.
EZGames69
He/They
Publisher, Reviewer, Expert player (4482)
Joined: 5/29/2017
Posts: 2767
Fixed
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing