Posts for Migu

Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
jlun2 wrote:
I'm guessing without the practice ROM, the run doesn't sync on console? I have 0 idea what to make of a movie that console verifies on a practice ROM, yet doesn't on the original (unless I interpret it wrong.) Is it possible to extract the inputs from the macro to work on a non practice ROM? I'm very curious.
The practice ROM has its own "in-game" movie playback (and recording). It's not reading live controller inputs, it's essentially reading an input file from RAM. That's why it's able to sync on the practice ROM but not the real thing. In the first place, it might not be possible to re-create this run as a traditional TAS because GZ uses "hacks" to fix RNG at every scene transition, and emulators deal with RNG differently. But even if that's possible, true console verification still hasn't been achieved for this game as far as I know.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Looks great, Pancake! It would be cool if this can be published but even if not this is good documentation of the run. By the way I don't have any inputs - I just did the routing.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
New 150 star WIP: Link to video User movie #638678904087014846 Lately it's mostly me and Adeal working on it with Bobbybob and Rupa helping. In particular Rupa found a faster way to do most of the death star cancels, which you can see in TTM in the video, but also saved time in the previous stages which we included in the current file. It also made CCM faster as Yoshi again. Rupa also found that stereo sound decreases most load times by 1 frame (this seems to be true on console too). It only takes about 1 second to switch to stereo so not worth it for any% but easily worth it for 150 star.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Wow, that was quick after finding the save corruption! But I guess there wasn't much to optimize. So those 4 bytes are first set to 0 when you save (or earlier?) and then when you corrupt the save, as long as they stay 0, it works? I guess you can't change the map you saved on to something useful because you're only writing FF?
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Another 16f saved by Rupa and me (38f total over submission) User movie #638547225307611894
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
22f save by Rupa on 8 star door skip, maybe a little more optimization to come? User movie #638540982855021725
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
After almost a year... we're still making progress, in the middle of TTM 100 coins now. The route has changed a little bit: https://docs.google.com/spreadsheets/d/e/2PACX-1vQa-iasZF9joYZM4APcUnXFvmbbhnt_dfDOHBBS-eMkweCSTXiPHhQSE37Yqs2mB5h72Wyvr5P1fvro/pubhtml Most notably, it's faster to do all of CCM as Mario thanks to strats to get the red coins in ice blocks fast as Mario: Link to video It also might be slightly faster to collect Breathtaking View from the Bridge as Yoshi instead of Mario because of a glitch that shortens the mushroom transformation. We are also working on optimizing the 0 star run, but it's very hard to optimize the glitches since they are extremely precise. Here are some optimized segments: Link to video Link to video However the remaining clips are much harder to optimize. The fastest strat for entering the castle is to use this clip at 6:04: Link to video As you can see in the video, the clip requires you to reach a 1/64 x 1/64 x 1/64 unit^3 position with sufficient downward speed, and in order to actually reach the seam next to the door, you need high enough speed in the right direction as well. The last two clips are reverse 1 star door skip, which skips exiting course from PSS as in the current 0 star TAS: Link to video and the pillar clip near the WDW painting (same as current 0 star TAS). These two are more precise than the floor clips but should be considerably easier to optimize than the castle roof clip. We've also been working on a "3 star" run, which bans tunneling, and would follow the same overall route as the published run. Though we've found lots of timesaves since that was published, and it might be unique enough for a separate branch. There's also a 80 star run in progress, which bans glitches in the castle: Link to video
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
I'm really glad things are changing. I don't really have a design sense so I don't care much about the new look. A bunch of mostly minor things (a lot of them also in current site): On the home page, why are the links for more movies and more submissions just text, but "More WIPs" is a button? It would be better to be consistent imo. The random page links at the bottom of https://tasvideos.mistflux.net/WelcomeToTASVideos don't work. On the movies page, in the system tab, I think the system name should be a link to all movies on that system, and the (All) links are unnecessary. The Movies by Category tab has an unknown module error. I like that the game resources pages are separated into separate pages for each system, it's better than scrolling down a giant list. However on https://tasvideos.mistflux.net/GameResources/NES for example, that box under the edit button is unnecessary, that info is already on the main game resources page. And I shouldn't have to click again to see the list of NES games. Also it would be better if the games were organized in a grid with 3 or 4 per row, again so you don't have to scroll as much. And it would be nice if the game names had spaces instead of being the same as the game page name. I would love a way to go to the last post, as opposed to just the last page, of a forum thread. What is the point of the "Reset" button on the forums? It looks like it functions the same as the first page button. On the forum main page, it looks weird that some subforums (the ones with more description) take up more vertical space than the ones with no description. This might just be because I'm used the current forums though. On https://tasvideos.mistflux.net/Forum/Posts/New and https://tasvideos.mistflux.net/Forum/Posts/Unanswered I think there should be a link back to the forum main page. I know you can still click the forum link on the top but... that doesn't feel right. On publication pages, I think all of the buttons should open a new tab by default. Or even better, it would be really nice if you could see the submission details and comments, game history, and workbench poll on the publication page too, so you don't have to keep switching pages to see all the info about a pub. Ideally the Publication button shouldn't be there if it takes you to the same page. Sorry if this seems nitpicky, but it's my genuine feedback.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
New WIP for 150 star: Link to video http://tasvideos.org/userfiles/info/73810099246309097 We're going to try to optimize the coin RNG manip in THI 100 more before continuing - we just wanted to get decent RNG to show this off. Many of the remaining stars have been TASed already, see this spreadsheet: https://docs.google.com/spreadsheets/d/1nuYv9NNEV-YPSaXjjlEbzJ9QCvv6PazoPkAWMggWCf0/edit#gid=0
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Link to video I'm not sure how informative this is but should be a little helpful for anyone who wants to see the glitches more clearly. I'm also gonna make a commentated video explaining the glitches (mostly teleports) in more detail.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
A few things I've found to be useful since the last post: If the lower two bytes of the follow path position is exactly 0x8000 away from the lower two bytes of the bros' position, then their position is decreased by 0x8000. This "exact warp" can go through many more walls than non-exact warps. In fact it might actually be possible to go through any wall like this. Though since position is decreased, you can only go up or left. Luigi can use 49 emerge to cancel glitched movement and go to whatever floor he is above or below. To use this effectively, use 45 jump during the teleports, then press R twice after the last jump to get to 49. Unfortunately you can't get all the way to 45 during a normal-length high jump, so this is most useful when doing teleports in consecutive rooms: get 23 jump for the first room, then change to 45 when getting glitched movement again at the start of the second room.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
I tried using hat teleports in the rooms before teehee, it's possible but slower, even the room at 0:56, since it takes too long to change commands. If there was a way to keep glitched movement while gaining height then it would probably be faster since you could just continue to teleport the whole way. The spin jump was to set up the follow path but after doing more testing it's faster to just switch a few more times instead.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
I've been helping Potato with the TAS, mostly researching hat teleports, and I've found a lot about how they work. Bit of a long post. The first thing to understand is the follow path. It's a list of the 256 most recent x,y positions the front bro has been. Actually, on a frame of normal movement both bros advance 8 indices on the follow path. The front bro overwrites 8 entries and goes to the 8th one, and the back bro is just moved 8 entries ahead. They're 64 entries, or 8 frames apart. So the whole list is looped every 32 frames. When Luigi is underground and their speed is halved, they each advance 4 entries per frame. The follow path is "reset" often: this means that the first 64 entries are overwritten with 64 equally spaced positions between the bros, with the front bro at entry 64 and the back bro just behind entry 1 (where entry 0 would be if it existed). Resets happen when entering a new area, switching, and finishing a bros move such as high jump, spin jump, mole, or mini. The magic happens when Mario uses a glitched hammer on Luigi and then high jumps on him and gets off, causing Luigi to move at half speed while Mario retains normal speed. The high jump resets the follow path, so Luigi is at 64 and Mario is at 0. After a frame of walking, Luigi advances 4 to 68 and Mario advances 8 to 8. Each frame the distance between them shrinks by 4, so after 16 frames of walking they both end up at entry 128. The next frame of walking, Mario is moved to entry 136, and this actually happens before Luigi overwrites the 4 entries ahead of him. This can cause a teleport because the position at entry 136 may be far away. In this glitched movement state, Luigi actually has normal speed in the air. So if Luigi jumps, moves for one frame, and then moves for 16 frames after landing, the bros will coincide at entry 136 instead, and then Mario will warp to entry 144. So we can warp to any entry on the follow path (that's a multiple of 8) by moving for different amounts of time in the air. Of course, warping to entries 1-128 is not as interesting because they will definitely be overwritten after high jumping, whereas entries 129-256 can be "stored" from previous movement. This explains where the game tries to send Mario. But in practice Mario rarely goes to the exact position on the follow path. The biggest breakthroughs have been figuring out what causes this. First, the game doesn't want to move Mario more than 0x8000 in each direction. So, for both x and y, it only looks at the lower two bytes of the follow path position, and chooses the upper two bytes so that Mario ends up as close as possible to his current position. In other words, it adds a multiple of 0x10000 to the x and y position on the follow path so that the position Mario is teleported to is within a square of side length 0x10000 centered at Mario. Imagine the lattice of points separated by 0x10000 in both dimensions, starting at the follow path position. One of these points will be inside the square, and this is the point Mario is teleported to. In many cases, the game will also avoid teleporting Mario through walls. If there is wall parallel to the y-axis between Mario and the destination x coordinate (after being adjusted as above), he will be sent to the wall's x coordinate instead. Similarly for the y coordinate. However this doesn't always happen - all of the useful hat teleports are for going through walls, of course. It seems like most walls will block Mario in this way, but there are plenty that don't. I don't understand why walls act differently, but it's easy to test this for any wall. I've noticed that when travelling north and west it tends to be easier to go through walls than when going south and east, but this isn't a universal rule. There's the matter of where Luigi is sent as well. After the teleport, Mario faces his previous position, and Luigi is sent the usual distance in front of Mario (in the direction he's facing). This is important to keep in mind in some cases. Also teleporting resets the follow path, except in some weird cases that I haven't investigated much. If the follow path isn't reset, Mario goes 8 more entries ahead and teleports again on the next frame of walking. This might be pretty powerful if we can figure out when it happens. To cancel the glitched movement state, you need to high jump and actually jump. However there seems to be a weird bug where hat Luigi gets stuck at a lower z-level than the ground after landing (from a high jump or a normal jump) if the ground is above z=0. This is a problem because Luigi can't emerge unless he is exactly at ground level. This means you have to end the glitched movement somewhere with ground at z=0. If there is a way around this, it would be great. Now here are some strategies for setting up a teleport once you have figured out what your destination and position before warping will be, and verified that the teleport doesn't get blocked by a wall. First you need to find somewhere to set a follow path entry to the right value. Remember only the lower 2 bytes matter in the end, so you don't need the exact position. Usually it's best to find a position in the previous room that matches the lower 2 bytes of the destination. If you get the position into entry 136, all you have to do is walk 17 frames for the warp to happen. If the position is in a later entry, you will need to jump before the warp, which costs ~20 frames. Warping to position entry 256 requires only 15 frames of air movement, so any entry besides 136 will take the same extra time to setup. The tricky thing is avoiding overwriting the follow path while quickly moving to the position you need to warp from. The gist is, you need to reset the follow path somehow right before walking far enough to overwrite the key entry. Hammering Luigi and high jumping on him are part of the setup, so these can be used as resets. However during the time between the hammer and the high jump needed to switch action commands, if you walk the whole time, you'll overwrite the whole follow path. Ideally, you can set the follow path position during this time, then enter the loading zone, walk a bit and warp. But this only works if you can do the warp pretty close to the area entrance. If you need to go further before warping, switching just before you overwrite the key entry is a good choice. High jumps can be used if you need to gain height while maintaining the follow path. Spin jumps can be great because you travel at normal speed during them without overwriting the follow path, but they're inconvenient to access, since Mario has glitched commands. The earlier the key entry is on the follow path, the more often you'll need to reset the follow path, which is slow. So I imagine it'll often be optimal to use entries late in the follow path, even though they require the extra time to jump before warping. I might have missed some important details or got them wrong, please let me know if you have any questions, insight, or ideas.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
My guess is he did that with the warping glitch from the platform with the ! block in the previous room and got "lucky" with teleporting to the right side of the room. On this note, we've actually found a bit more about how this glitch works: https://pastebin.com/PjgHPBJM and https://pastebin.com/UAdQNYtc. It's quite similar to hat teleporting in SS. It's also possible to watch that cutscene with the babies by jumping down the tunnel you're supposed to roll through. I doubt he did that though since it's extremely precise and not really a physics exploit. Edit: maybe he did do this since he said it was tedious as hell in a reply
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
There's nothing particularly suboptimal, there's just, I'd estimate, a couple frames that can be saved on several stars with more precise angles and/or slightly different moves.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Very entertaining run for sure. Although the restriction is a tad arbitrary and it's not perfectly optimized, I don't think either offense is severe enough to reject it.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Great work Vince, this game finally gets the TAS it deserves. Love the manipulation especially in the final few battles. RIP Spikestuff again (also this doesn't matter at all but felt like mentioning, the RNG algorithm uses a multiplication by 20.5, not 40.5)
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Thank you! That is one skip we've tried to find. I'm pretty sure it would be possible if we could get the adults into the dark room, which would probably require getting out of bounds in the center room. There are invisible walls out of bounds in the pipe room, which could pose a problem, but you can probably ball clip through them. You could hit the ! block to open a way for the babies, or bring the babies out of bounds by collecting them.
Post subject: SGDQ Panel
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
goo.gl/bXKrgV I am not attending SGDQ 2018, but if there are enough qualified TASers at the event, I think a TASing and/or TASVideos panel would be a good idea. I don't have much else to say, others will probably have a better idea of what the panel could consist of. Discuss!
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Thanks for the support! I've added a commentated encode to the submission.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Cool! I'm excited to see the route you use.
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
jlun2 wrote:
Do you have any plans to try the other DS M&L games?
Vince1919 has started his Bowser's Inside Story TAS, which I might help a bit with: Link to video
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
I finally started the new TAS recently, here is a WIP up to Swiggler: http://tasvideos.org/userfiles/info/44422930035638373 And here is the route I'm using: https://docs.google.com/document/d/1k-u6PkPxMxD1JaMfLsAbpgfl72WChrOf-RdJ_h2DEnM/pub
Migu
He/Him
Experienced Forum User, Published Author, Player (202)
Joined: 10/3/2015
Posts: 64
Location: Louisiana
Hartmann and Sharkey91