1 2
14 15 16 17
Joined: 7/2/2007
Posts: 3960
You should be able to determine the timing for RNG calls by finding the RNG state in memory and waiting for it to change -- it changes each time it gets called. IIRC the RNG can also be updated by dashing (obvious impossible in the opening stage) or by sliding down walls. Basically creating dust will invoke the RNG.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Player (42)
Joined: 12/27/2008
Posts: 873
Location: Germany
There's some disassembly going on in that game by FractalFusion. The results he posted so far can be seen here (you have to be familiar with 65816 assembly to understand in full): http://tasvideos.org/forum/viewtopic.php?p=284826#284826 Unfortunately, it doesn't have all information you expect, only Chill Penguin and Bosspider (notable for its difficulty to manipulate properly) and a claimed difficulty to reverse Boomer Kuwanger's behavior.
Editor, Skilled player (1939)
Joined: 6/15/2005
Posts: 3247
Hello, dn. Welcome to the forums. I use a script that monitors the RNG. It tells you how many times the RNG has been advanced every frame. If it advances more than once on a frame, usually it means something important has been determined. http://tasvideos-moviefiles.googlecode.com/files/megamanx%2Bextralife.zip By the way, Rolanmen1 and I are working on a new Mega Man X TAS. Vile's behavior is definitely manipulable; I used the cars as a wall to drag some dust. Notice that it's only from dragging down a wall that advances the RNG. Dashing doesn't do this. The bee bombers can be manipulated too, but it takes a bit of luck.
Former player
Joined: 2/19/2007
Posts: 424
Location: UK
I've ported the TAS comparison script to Mega Man X. Here is a comparison of the Any% TASes: Link to video
Editor, Skilled player (1939)
Joined: 6/15/2005
Posts: 3247
Here's an example of what I can pull off using the ice platform glitch: http://dehacked.2y.net/microstorage.php/info/1343452478/Mega%20Man%20X%20%28V1.1%29%20%28U%29_test.smv In addition, I managed to move horizontally to the right inside the wall, but it appears to require the following keypresses over and over: <B > > <B < > >B < < <B < < I don't know why, but that's how it works. I think parrot14green knows about it as well.
Joined: 1/19/2010
Posts: 146
Yeah, it only seems to work that way. By only letting X move horizontally as he is jumping. The only place it seems to let him move without jumping is the 1-tile high floors with ladders. Also, I was TASing Mammoth's stage and I found out you can climb the shaft to the X-buster capsule without hitting X's head on the wall at the start of the climb, which the current TAS does iirc.
Editor, Skilled player (1404)
Joined: 3/31/2010
Posts: 2086
FractalFusion wrote:
Here's an example of what I can pull off using the ice platform glitch: http://dehacked.2y.net/microstorage.php/info/1343452478/Mega%20Man%20X%20%28V1.1%29%20%28U%29_test.smv In addition, I managed to move horizontally to the right inside the wall, but it appears to require the following keypresses over and over: I don't know why, but that's how it works. I think parrot14green knows about it as well.
Why on earth is X's maximum health so low in the smv? Aside from that, this is a really cool trick. I'm looking forward to see it in a full run.
Active player (251)
Joined: 3/12/2006
Posts: 155
Location: Taiwan
FractalFusion wrote:
Here's an example of what I can pull off using the ice platform glitch: http://dehacked.2y.net/microstorage.php/info/1343452478/Mega%20Man%20X%20%28V1.1%29%20%28U%29_test.smv In addition, I managed to move horizontally to the right inside the wall, but it appears to require the following keypresses over and over: .
I have not test it more deeply. Why it require press keyboard like you say,I don't know.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
scrimpeh wrote:
Why on earth is X's maximum health so low in the smv? Aside from that, this is a really cool trick. I'm looking forward to see it in a full run.
Probably because it's an any% run he was doing it in. Recall, if you don't have the Arm upgrade when you defeat Vile, you get Zero's arm cannon which does the same thing.
Previous Name: boct1584
Editor, Skilled player (1939)
Joined: 6/15/2005
Posts: 3247
Actually, I used a glitched password. That's why his max HP is so low, and he doesn't even have dash. I also tested using the ice platform in the corridor between Mandrill and Octopus in Sigma 3. It turns out that the stage does not scroll horizontally unless you reach a trigger in the bottom left corner. So this glitch doesn't always save time. I remember the same thing happening in Spark Mandrill's stage, in the route just before the miniboss. It seems that whenever there is a vertical scroll followed by a horizontal scroll, X needs to reach the trigger before it switches the scroll direction.
Editor, Skilled player (1939)
Joined: 6/15/2005
Posts: 3247
zwataketa
He/Him
Joined: 9/1/2012
Posts: 309
Hey, i know this doesnt have anything to do with tricks for this game, but do any of the encoded runs currently show the secret sigma message at the end (i know the tasers cant really control this, im talking about the encoders)? Not a big issue, just curious. Havent watched that far into the credits of any of them. :P
I quit TASing.
Editor, Skilled player (1939)
Joined: 6/15/2005
Posts: 3247
If you mean this ( http://www.youtube.com/watch?v=ku6UP_w-hqw&t=35m48s ), then it is in every publication encode of Mega Man X.
zwataketa
He/Him
Joined: 9/1/2012
Posts: 309
*ahem* does anyone know where i could find the lua script for megaman x1? *shudder* yes, by now I know. um, if I were to make a Megaman X TAS and it get published, would the sigma message HAVE to be in there? cause since it'd be my run, and the sigma message creeps me out ... yeeeeeaaah. but I'm just saying IF I were to make a run and it get published. -.-
I quit TASing.
Joined: 8/23/2014
Posts: 1
Hello, I have discovered a glitch in rockman x. I'm not a speedrunner, nor do any kind of tas, but I felt like I had to share the glitch I discovered a few days ago. I was playing rockman x on zsnes 1.51. I was on the chill penguin stage. When I got to the bunker things (the ones where flying enemies keep spawning), I decided to use the big robot in order to get to the rooff of the cavern. This is where some very interesting stuff happened. I was running, dahing, shooting toward one of these bunkers (can't remember exactly which of these it was). Here is what I think I saw: I dashed and shot towards the bunker. X was almost touching the bunkers. At the same time, an enemy took off the bunker, and probably hit X. At this moment, X died, even though his life wasn't low enough to get killed by one of those ennemies). Then, X respawns on the first stage of the game (the highway, where you must fight Vile). But there is more: I had the ice beam, even though I didn't defeat chill penguin, nor finish the stage. Unfortunately, I don't remember if I still had the dash. It's not over: whenever X got hit by a projectile (typically, the missiles from the blue robots), instadeath would happen, no matter his life bar, and the highway level woud start again and again. I can't remember if this affected the life stock, and I think X could touch enemies without meeting instantaneous doom (which means only projectiles were affected by the glitch) I don't know if this could be useful for you guys. I believe it's useless for speedrunners (since you must get hit by Vile in order to finish the level, and those hits might make X die), but maybe it's not for a tas. Perhaps you guys can find a way to use this glitch in a proper tas. Of course, it might have happened because of the emulator I use (zsnes 1.51), or you guys already know this glitch, in which case I'm sorry you read all of this and wasted part of your time. This glitch just happened, I didn't record it, I didn't savestate, and it just felt wrong not sharing what happened to me. Also, I didn't know where to share, and I thought tasvideo forums were a good start. Anyways, I'd like to thank you guys for your hardwork. To watch a tas is always great, and Rockman x, which was my favorite game during childhood, is a great, great game. Thanks Again, and keep up with the good work! Ps: sorry if I did any misspelling, my English isn't perfect.
Joined: 10/4/2012
Posts: 2
Returning to highway is emulation glitch, and instadeath projectiles are most likely the same
HHS
Active player (282)
Joined: 10/8/2006
Posts: 356
That's just the game's copy protection. It tries to detect if the game is running on a copier. Some emulators fail this check. Try using another emulator. Here is some of the stuff it does: - When starting a level, if a random byte in bank $00 is not mirrored at bank $40, you lose all your subtanks and upgrades. - If the game sees that $700505 acts as RAM, after you get hurt 128 times, the game will start messing with your input. Also, your charged buster shots, should you manage to fire them, will not move. - When you pick up a power up or go through the boss door, the starting location is reset to the beginning of the level if a random byte in bank $00 is not mirrored at bank $40. - When an enemy drops an extra life, the intro stage will be uncleared if $00804e isn't mirrored at $40804e. - If $701000 acts as RAM, after 128 explosions, you'll die when a bullet is repelled by an enemy. The intro stage will be uncleared when shooting while dashing. Powerups will disappear quickly. - If $700804 acts as RAM, after you jump 128 times, every other jump you make will be really tiny, for 127 more jumps. Climbing walls will hurt you. Shooting while on the ground will reset the starting location to the beginning of the level. You will not be able to wear the Ride Armor. The miniboss in Spark Mandrill's stage will have twice as much health. - If $700800 acts as RAM, some worms will be impossible to kill. The miniboss in Spark Mandrill's stage will shoot sparks more often.
Joined: 2/12/2008
Posts: 67
Location: San Francisco Bay Area, CA
HHS wrote:
That's just the game's copy protection. It tries to detect if the game is running on a copier. Some emulators fail this check. Try using another emulator. Here is some of the stuff it does: - When starting a level, if a random byte in bank $00 is not mirrored at bank $40, you lose all your subtanks and upgrades. - If the game sees that $700505 acts as RAM, after you get hurt 128 times, the game will start messing with your input. Also, your charged buster shots, should you manage to fire them, will not move. - When you pick up a power up or go through the boss door, the starting location is reset to the beginning of the level if a random byte in bank $00 is not mirrored at bank $40. - When an enemy drops an extra life, the intro stage will be uncleared if $00804e isn't mirrored at $40804e. - If $701000 acts as RAM, after 128 explosions, you'll die when a bullet is repelled by an enemy. The intro stage will be uncleared when shooting while dashing. Powerups will disappear quickly. - If $700804 acts as RAM, after you jump 128 times, every other jump you make will be really tiny, for 127 more jumps. Climbing walls will hurt you. Shooting while on the ground will reset the starting location to the beginning of the level. You will not be able to wear the Ride Armor. The miniboss in Spark Mandrill's stage will have twice as much health. - If $700800 acts as RAM, some worms will be impossible to kill. The miniboss in Spark Mandrill's stage will shoot sparks more often.
Whoa, cool, this is the first time I've heard of this. Do you mind if I add this info to TCRF?
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
Lol, this is a good counter-argument to 'Why do we need accurate emulators, zsnes is actually BETTER than the real thing because it eliminates lag' people.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
HHS
Active player (282)
Joined: 10/8/2006
Posts: 356
No problem. Just some clarifications: By resetting the starting location, I mean that after you die, you'll start at the beginning of the level instead of at the last checkpoint. The $700804 check is triggered every time you fall and will increment a counter. After it hits $80, jumps will become increasingly smaller, but only for even values of the counter. It stops at $FF, and from there on all your jumps are normal again (I assume that this is unintentional). There are really only two types of tests. In some places it checks for mirroring, and in other places it checks if battery RAM is present (which Mega Man X obviously doesn't have). The reason for all these checks isn't that a copier might fail only some of the tests, but to increase the chances that a pirate will neglect to find and patch them all. There are also other places where it will verify that these instructions are intact, and enable the funky behaviour immediately if not. ZSNES will detect version 1.1 of the game, and prevent these checks from triggering, but it does not do so for version 1.0. Edit: Seems that some of this was actually discovered before, and ironically, posted on another "the cutting room floor": http://jul.rustedlogic.net/thread.php?pid=433506
HHS
Active player (282)
Joined: 10/8/2006
Posts: 356
I also found two bugs: - When you pick up a weapon refill and the current weapon is nearly full, and the remaining units are distributed to weapons with a higher index than the current one, one unit will be lost. - If you pick up a weapon refill and the current weapon is not full, and you select the X-buster at the same time, a subtank will appear in the 4th slot. However, you can't get the hadoken using this false subtank.
Joined: 4/1/2010
Posts: 90
Sounds like it could be an interesting puzzle/challenge to beat it with all copy protection stuff in place
PJ
He/Him
Joined: 2/1/2011
Posts: 181
Location: Western NY
Quick update. Luiz Miguel ran into a weird bug where his boomerang somehow grabbed the heart tank in Mammoth's stage after returning to him with the sub-tank. Domalix found out more or less how it works, and then I tried to implement it into a few stages to save time. It would barely save time or be incredibly risky in a real-time speedrun, but in a TAS, you should be able to abuse it absolutely everywhere. Here are a few videos I made to show it off. I still have the movie files if they are needed: Mammoth heart: https://www.youtube.com/watch?v=xyKueloaNFU Mandrill heart: https://www.youtube.com/watch?v=vRd3fcVdwyg It looks like when you grab whatever your boomerang was carrying, and then scroll a heart-tank on screen before you grab the boomerang itself, the heart tank will be loaded onto the boomerang. The spacing and timing is really precise, but that's no problem for a TAS. I assume it would also work for loading a sub-tank onto a boomerang (maybe in Armadillo stage), but I haven't tested that yet. I also haven't tested using it to grab the Penguin heart tank from behind the igloo without breaking it. We'd love to see this used in a new Mega Man X TAS!
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
Getting some SMW Yoshi vibes from this glitch! Sick find!
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Player (42)
Joined: 12/27/2008
Posts: 873
Location: Germany
I agree with Patashu, looking at that glitch it really looks like the game getting fucked up when there are lots of sprites on the screen and you use the boomerang. What happens when you manipulate lots of health drops from enemies and throw extra boomerangs at them?
1 2
14 15 16 17