Posts for Alyosha

Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I decided to work on this game and Prince of Persia 2 at the same time, since Prince of Persia is way to boring alone. I noticed this game a while back and it looked fun to TAS, but I didn't get around to it. As truncated pointed out in the submission text, you can run after leaving ball form, and this saves frames very early in the run, so I'll be starting from scratch. There are some rules as far as I can tell. This only saves time if you have 5 frames of running in between leaving morph ball and jumping, otherwise you jump at walking speed, so it's not applicable in all circumstances, and also not applicable if you aren't on the ground to run.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I have another question for the more knowledgeable folks. How are properties inherited by coins? I noticed that coins from goombas (who don't run off cliffs) also don't fall off cliffs, while coins from bob-ombs (who do run off cliffs) do go off cliffs. I'm surprised I had played this game a lot as a kid and never noticed this. Is this a property that gets passed down, so to say, to the coin? Or is the coin just replacing the enemy and this property simply doesn't get updated?
This combined with the ceiling collisions may be what's causing this behavior.
Well my thought was that since the glitch happens when mario lands, it might be related to some flag representing mario's current state being incorrectly set at some point in the jump sequence, similar to how mario shouldn't be colliding with a wall he was already clipped to the other side of. Is there a list of flags that can be set that we can run through?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
GoombaHeart wrote:
Got a video or the input file of the second bit?
https://www.dropbox.com/s/2s2u6hb3cdkqsql/Super%20Mario%2064%20%28J%29%20%5B%21%5D.st6?dl=0 Here's a savestate, just jump for 2 frames then press B. I noticed something similar happens on the top platform, and Mario gets turned around after he passes the floor. It looks like what is happening is that the game thinks Mario both hit the inside of the wall that represents that section of vertical grating that lines the floor, AND needs to be put on the right side of that wall, but it does the moving first and the collision second. Maybe this type of order of operations error is related to the glitch?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
So I've still been casually testing out things related to this glitch. I have a couple of questions that might be relevant, maybe some of the more technically knowledgeable people know the answers. If I stand right here on any of the platforms, basically at the peak of the triangle, and stand right up against the wall, mario gets into a state where if I jump, I can't move in any direction while in the air. Also mario can't double jump, and does his diving animation while mario is in the air if you hit B. So why does this happen? Do those small peaks have special properties, like slipperiness? Here is something else I noticed. If I jump from that position and 2 frames later hit B, I will eventually fall off the platform and collide with something behind me that turns Mario around, any idea what this could be? It seems like its in the same spot where the wall above mario at the top platform is. Any ideas what is going on here? I saw some theories about Mario colliding with the peak of the platform above him when he jumps in the glitch video, they do seem to give him some funny properties.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I noticed that the new run didn't actually obsolete the existing one. Any thought of submitting the any% version, Samsara?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
ars4326 wrote:
Movie file updated! Do you need more time on any potential improvements, Alyosha?
Nope, it's done.
Post subject: Prince of Persia 2
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I didn't see a topic for this game so I'll make one to keep track of my progress. So far I finished level 1, 30 frames (ignoring emulation differences) ahead of Nitsuja. Nitsuja's movie with the messed up level 1 music is really showing its age, emulation sure has come a long way.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Please set this to delayed. Improvement pending, assuming RNG is nice to me. EDIT: small update, up to last boss again and 117 frames ahead. So the question of whether it was quicker to burn the energy seems resolved. All I need to do now is get a good last boss fight. It's done! please replace the movie file with this one. http://tasvideos.org/userfiles/info/24752058744559657 It will be a while before I can have a temp though.I will edit the submission comments to discuss the improvements. Temp and submission text updated.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
sack_bot wrote:
Question. Why is the "CHIP" bar so high in most levels, when you need to have the entire bit you didn't use depleted by the end?
This is a question that was also raised in the original submission by Nitsuja. I considered it as well, but couldn't get a lower chip value to work out in my favor. In the movie, 8 extra energy through levels 2,3,4, at 1 frame per energy, and counting down and up twice per level (plus an extra time in the vertical section) you get 8*2*7=112 frames of time spent on that. So if you were to burn those 8 in level 2, you would have to get 3 big refills in level 5, and you would have a little under 2 seconds to do it. I was unable to, enemies simply take too long to drop items and there are no efficient ones on the route. Of course it might be possible and I just couldn't figure it out. There are other ways to consider the problem too, like burning even more chips in level 2, but getting new ones is simply too inefficient. I'd be happy to be proven wrong though! For example, the last red enemy before the level 5 boss I can get to drop a big refill at a cost of ~30 frames, and that about the easiest one I could get. Edit: wait ..... I never thought of this before, but if I only saved 3 instead of trying to save all 8, that means I would still be ahead by 20 frames getting that one at the end!! This needs testing. Thanks for making me rethink this yet again sackbot!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
mklip2001 wrote:
I don't really understand much about determining when you can do fast bounces on the ground and when you can't. Even in Stage 1, there are some times where you run along the ground, and then there are some times when you can do a bunch of fast little bounces. Why does that happen?
These bounces are possible when you are standing under anything with a conveyer belt like mechanic, e.g. sand, water, or actual conveyer belts. @Sir VG: I always forget about that bug, and knowing me, I'll forget next time too : ) @AngerFist: I have nothing in the works at the moment, but likely next will be either prince of persia 2 or ice climbers, I'm leaning towards prince of persia since I've been wanting to try out lsnes.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Spikestuff wrote:
So: [230] SNES The Combatribes "2 players" by Phil, Genisto in 13:08.07 when? Previous: [467] NES Kabuki: Quantum Fighter by nitsuja in 09:20.83
I'm honestly having a hard time finding motivation to work on that one. Fighting games don't really interest me enough. I have an input script that makes it significantly easier to make the movie, similar to TASeditor style, I just dread actually doing it. If anyone wants to help or work on it, feel free to pm me, or just take it up yourself.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
That was really fun! Well done dwangoAC!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
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 (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Congrats ars! Well deserved.