Posts for Alyosha


Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
GoombaHeart wrote:
^ How did you figure this out?
I used pannenkoek's MHS script he included in the video. I just set Mario's X and Y to different values until I figured it out. I also found it helpful to add 00C258C8 , 00C258D0 to there, which seem to be other components of mario's movement. Does anyone know exactly how Mario moves? @MartyOak: what levels in Mario have ceilings below other ceilings ? Maybe that is a good place to start. Although it must be extremely precise for it to be so rare and for no one to have figured it out yet, so my guess is that it won't particularly be easier in another spot. My current guess is that mario is moving across the triangle boundary in some way such that when he lands and his speed gets clamped to zero something goes awry in ceiling detection.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I did some testing on how the game decides what ceiling triangle Mario is under. The result (pictured above) is that it breaks the triangle's down into whole units. In the above picture X is vertical and Y is horizontal, sorry for lack of convention. Anyway solid lines mean that edge is included for mario being under the ceiling tile, and dashed lines mean that edge is not included. At exterior corners, Mario is outside, at interior corners he is inside. This seam does happen exactly where Mario lands in the video, so I imagine it must be involved somehow. But this isn't the whole story. It turns out that if I just put Mario under one or the other tiles using MHS, the game updates the tile the next frame. However when Mario is moving, what tile he is under actually lags behind a frame. As it happens, Mario's speed is extremely small after hitting the wall just before landing. Maybe the combination of all these factors is enough to get an edge case where the game is confused about what tile Mario is under and as a last resort to resolve the conflict ejects him.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Is there another component to Mario's speed besides the h-speed variable in the MHS file? He seems to be able to move perpendicular to the direction he is facing even when h-speed is zero (like jumping while standing right next to a wall and moving parallel to it.) I'm curious since I tried locking h-speed to zero in my savestate above but mario is still being moved about by something else. The game also changes what ceiling triangle Mario is under even when I lock his position and set his h-speed to zero.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
https://www.dropbox.com/s/et5t623yv7mha26/interesting?dl=0 I think I found something that might at least be a hint. I tried a little more to achieve the state I mentioned in my previous post, and something interesting happened. The save state above starts 3 frames before it happens. (after you load the savestate just hold the control stick in a direction, most directions except forward seem to work.) The first frame my x-pos is ~1002 The next frame it is ~1001 But then curiously it gets clamped to exactly 1000.5 on the next frame, even though that doesn't match up with the velocity and Mario is not even against the wall. The interesting part is that this is the same frame that both mario lands on the ground and the ceiling tile switches from -173 to -2641. It obviously doesn't reproduce the glitch, but maybe looking at the code will give a bit of insight into what's going on? Any thoughts?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Plush wrote:
Yeah we knew about this months ago before getting public lol
but did you all do any work on it? Is there a prevailing theory? Or was what was in the video the extent of what was thought up? I looked at the original video again and looked at the MHS data. I think at the point mario hits the wall, he is under the higher (-173) polygon. This sets his horizontal speed to zero. Then it looks like at the point he hits the ground he is back under the lower ceiling (-2641) you can see him inch to the right in the video. So the control stick is being held in the opposite direction, and since mario's speed got set to zero he can go backwards. I think maybe recreating this will be a step in the right direction, has it been tried yet? I didn't see it in pannenkoek's video comparing warp to ceiling to warp to changed bit value. I tried but can't control mupen well enough to get just the right state
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
pannenkoek2012 wrote:
And Mario wasn't even jumping at the time, he was landing.
I did a bit of testing and my guess is that Mario might actually have been jumping at the time (the same frame he lands.) I managed to land in roughly the right spot with speed such that I can jump and hit the wall 1 frame later. I would theorize that this happens at the same time that the height of the ceiling is changing, and the game is getting confused about what Mario is colliding with. Mario also reflects off the wall at a different angle, this might also have some impact. I don't know the tools enough to do serious testing though. I noticed the original video came out in 2013, and pannenkoek2012 says it was shown to him a 'short while' ago. I'm guessing since he put $1000 on it he put considerable effort into reproducing it. Is there any documentation about what ideas were being tested at the time?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Wow this is really neat! I always like seeing mysteries like this one randomly appear. I think SM64 is a bit beyond me, but my two cents is that dota-teabag had the next inputs to get the next red coin (side flip or backflip or whatever) in his controller at the time this glitch happened (obviously not expecting to get warped up.) I would guess this is involved somehow. I mention this only because I didn't notice it in panekoek's blooper reel at the end of the video. Anyway happy hunting!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
At level 4 boss and 10 frames ahead. I wasn't able to completely sync the level 2 boss. It seems the RNG is too far off. I was however able to get an equally fast fight by taking a hit. I recover this hit in the level 3 boss, where Nitsuja took a hit right at the end, I'm not really sure why, but it doesn't seem faster. http://tasvideos.org/userfiles/info/24622666350551474 Hurray made it to the end! I managed to improve the last boss fight by quite a bit. Basically I did a much faster first part in exchange for a slightly slower second part. Not sure how much it can be improved from here. Nitsuja's levels were really well optimized, in total I only saved 14 frames throughout all of them.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Finally improved a frame! Right before the end of level 1, Nitsuja presses down after jumping. This costs a frame (but only when the screen isn't scrolling apparently.) I had known about this for a while, but I lost it in level 2 due to messed up enemy patterns. But then I tried a random jump at the start and it fixed everything again hurray! Nitsuja forgot (or maybe left out to get a good boss fight) a 6 frame improvement at the start of second half of level 2. I added this in, of course now the boss fight is completely desynced. I tried to see if a better pattern could be found, but I didn't come close to nitsuja's original. So now I will use my trusty brute force script to hopefully sync back up the original fight. I also considered how to use energy a while back. IN terms of damage distribution, Nitsuja's original certainly seems optimal.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
That was really fun! Well done dwangoAC!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Found an improvement in Pro B. Basically a modified more direct route. The start is slower collecting more bullets, but savings accumulate towards the end (it took me a while to realize lolo moves faster after you kill an enemy.) http://tasvideos.org/userfiles/info/24515954814679701 EDIT: I didin't notice it, but I actually had enough projectiles to save getting 2 heart blocks. It was so obvious I missed it! Now its over 1 second of savings. Now only a few frames away from getting it under 2:03! I have no current ideas for pro D and I can't see how pro C or A could be improved.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
The spider boss fight is the same as in the original run. I did try to improve but was unable to. It does make me wonder how mmbossman achieved that fight with such a clean input file, while I needed to fill mine with random select presses. The level 3 boss suffers from the fact that only one projectile can be on screen at a time, and they move really slowly. Bullets do 2 damage and the diagonal projectile thing does 3, so that is already the highest damage aside from bombs, which I would need to move much closer to get in range for, and it only does 5 damage. Getting in the mine cart uses the animation cancel, which requires a jump. So I will land and start moving on the same frame regardless of where on the cart that happens to be. At the other end, the hook can only hit things that are on screen, and only goes at one angle. If I move further to the right, there is nothing for it to catch.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Oh nice, Strider looked fast already to me so I was saving it for later, good to see you found some quick improvements! I've updated the first post, I also saw in the TMNT 4 thread that that game should be relatively easy to improve, good to see. An awful lot of the remaining list has Nitsuja as the author, I hope other good improvements are found.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Congrats ars! Well deserved.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Oh nice, the other 200 series run finally getting worked on soon then. I think that one is going to have some pretty big improvement potential. I believe omnipotententity already had a wip saving several seconds. I still haven't had much progress on combatribes, hard to find the motivation for that one. Another interesting thing to notice is that once metal storm is done along with super pitfall, the oldest NES runs will be Battletoads warpless. Hard to believe such a popular / well known game would be there. I wonder who will take those up?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Arc wrote:
I just tested and the upper route to the medicine is about 40-50 frames faster. So that will have to be edited in.
please replace the movie file with this one: http://tasvideos.org/userfiles/info/24216125938239888
jlun2 wrote:
How does clipping downward through the floor even work? What kind of flawed mechanic is that?
It seems to be functionally the same as the wall clip. It can even happen when you are just normally walking along, its pretty random. As far as I can tell these glitches come from a memory address not being reset after an interrupt call.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I gave the path you suggested one more try and was able to get it work without the bird enemy. Somehow I just needed to pick just the right starting frame. in the end it saves about 100 frames. So final time: 17115 frames ~4:45 @AngerFist: this was fun to work on and make rapid discoveries. I imagine that this is what TASing was like 5-10 years ago when many things were still new. Kabuki quantum fighter I still can't save 1 frame on, but I haven't looked in a while, maybe brute force can help me there too.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Almost like that, I had to go straight up to lure over the bird enemy from the top open platform to make it work. I believe the run is complete, so unless you have more ideas , I can submit soon. This run came a long way really fast from 6:20 to 4:46
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
jlun2 wrote:
Is that long detour down needed? Can this be clip be done on midair by bruteforcing A/B presses?
Confirmed to be possible! It is slow at the moment but should save time eventually at the climb after girl rescue EDIT: I am back up to the triple wall clip to rescue the girl. At this point, if I completed the run exactly the same as before, I would be at ~5:06. So 6 seconds of savings left to find. Final time: 4:46 hurray! (17222 frames)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
^ It only takes 1 jump to clip into the ladder from the left platform, much faster then trying to do it that way. I tried what you suggest in that video, but Harry grabs the balloon so its not faster to just jump directly in. Turns out neither route idea is faster. The warp takes too long to load for the second idea, and the first idea just is too slow to get the medicine. EDIT: maybe I spoke too soon. It turns out you can jump straight down into the ladder when you do the key first route, I didn't expect this to be possible. This find could potentially make key first faster if I can get back up quick enough. My estimates so far are almost spot on. I am back to the first waterfall after getting the key. Once I get to the vulture I'll know which is faster. Well I must have done something wrong in my estimates somewhere, because it is a LOT faster to get that key first. Old route: 10400 to medicine New Route: 9200 to medicine I think we are in sub 5 minute territory now! It will be close with the spade card wall clip.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Nice find! A rough TAS of that saves about 100 frames. It seems you have to wait for it to go down a certain way before making it disappear, otherwise it kills you for some reason. I tried avoiding the elevator all together by going backwards and clipping up the wall after getting the diamond, but no luck so far. Still testing key first routes, but still need a faster route back after getting the diamond. EDIT: I finally managed to clip through the vulture caverns wall. Now it is possible to enter the vulture near the diamond and exit at the vulture near the balloon. The clip itself takes about 3 seconds, and its a long climb up (around 9 seconds), but this opens the door to new routes. My first idea is key first, then diamond, enter diamond vulture and go from there. Whether or not this is faster is still to be determined. Current route: 1. vulture to balloon after diamond: 42 seconds 2. balloon to vulture warp after key: 36 seconds 3. entrance to medicine: 18 seconds Potential route: 1. fall to balloon from start: 14 seconds 2. balloon up to surface: 33 seconds 3. diamond vulture to medicine: So if the second route adds up to less then 96 seconds, it will save time. The first part is roughly 14 from where the paths diverge. Going back up will take some work. But a rough TAS looks like it will take 33 seconds to get back to where the route rejoins the route to get the diamond. So about 47 of our 96 seconds is used. Leaving 49 seconds to get from inside the vulture to the medicine. Playing through by hand from right after the clip, it looks like it is going to be very close. Another route idea I had, that probably is actually faster, is to use the diamond vulture warp after diamond and then exit right away at the balloon vulture and go get the key from there. I will test this now, but I am optimistic for at least 5 seconds savings.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
jlun2 wrote:
Since the OoB areas seems to be filled with random junk, is there a way to quickly spawn an elevator there over and over or some other sprites?
no idea. I might come back to this after finishing the regular run. I am 500 frames ahead of the most recent run, and am up to the wall clip past the balloon, slightly better then I expected. EDIT: 700 frames ahead to the vulture cave due to clip climbing the long wall. Brute force to the rescue.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
So I tried to clip by the elevator by riding it down a bit and jumping back up (hoping it would disappear once off screen) but instead it stayed even though another one appeared above. Out of curiosity I tried to make more and more, and I got up to at least 10. At that point other things like enemies wouldn't spawn as I rode them down, but I could still do things like shoot bullets. Possibility for some kind of stack overflow to happen I think, but who knows if the results will be useful, its also pretty slow to set up.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
10 seconds was a bit too optimistic, 5 seconds for that clip. My current complete WIP is 5:45.3 I saved ~2 seconds with the new waterfall clip and optimized running skipping the spade card. 5 seconds for the new balloon clip. 7-8 seconds spade wall clip ~3 seconds if I can make the clip work while climbing the wall. So I'd say 5:25 is reasonable to aim for. New balloon clip route: Being able to get the key this way, there is nothing stopping us from getting the key first. Then we can go back up and get the Raj Diamond. then jump in the vulture near the diamond. If we can perform wall clips in the vulture cave area, we can go from the lower one up to the higher one and exit at a different vulture. This will save a lot of running around, the question is if going down to get the key then going all the way back up is worth it. First to test wall clipping in vulture area. Result: clips are not possible there, back to the drawing board. but there might still be a route with key first being faster.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
^ ventuz had suggested that clip to me originally but I couldn't get it to work. Maybe now that I can just brute force attempts something will come of it. Another idea I had is to clip into the the area with the key from above (where the balloon is) using the same glitch that is used to dodge the second stone head. Not sure how viable it is, but I'll see if I can get it to work. EDIT: woah! It actually worked! This should save at least 10 more seconds.