Joined: 12/24/2008
Posts: 37
thanks and your speed run was nice
gia
Player (109)
Joined: 5/3/2006
Posts: 223
Too bad this hasn't progressed. But Metal Warriors' fan Nilusxyz introduced me to a new glitch, this is a big one, coauthor worthy I believe :) The trick can be seen here: http://www.youtube.com/watch?v=dvmX-jdBryc Since it was his improvement I asked him to run it for SDA, but I think I scared him with the stuff he would need to buy, although I could be wrong and it was another reason. I haven't improved it myself because I haven't had the means to record SNES for a while. The SRuns without a TAS thread made me remember about this. You basically use the spider's odd hitbox to go oob and then get pushed to the other side of walls to skip parts of the level. You jump on a specific distance so that you land slightly oob, then jump to the other "side" repeatedly (left jump, right jump, left jump, right jump etc) until you get into a position where you can get pushed to the place you want. His videos display different stuff about the game, probably you can learn something I missed.
Player (37)
Joined: 2/16/2012
Posts: 282
Revivifying this thread because this game is awesome and strongly deserves a good TAS. Just based on the current speedrun strats, a proper TAS can probably achieve ~19 minutes. There are a lot of small optimizations, and plenty of glitches to test out. Some big ones that are still largely unexplored: 1) Switch glitch. Basically, when you hit a switch it goes through a very simple algorithm and just sets the current tile to be +1 (or some other index; doesn't matter) the current one. Thus, "ON" becomes "OFF". The problem is that it uses your location at the end of the "pressing buttons" animation and not the location of the source tile. So what can happen is that if you get pushed off the area with the ON background tile, it will still execute the algorithm, but now it will be based on whichever tile you're currently on. This can mess up the stage layout pretty significantly, and has some other oddities with the spark lines. Regardless, it's difficult to set up since something needs to move you off of the tile. Easier to do in multiplayer. 2) Clipping. The Spider clip is the most well-known, but every mech can clip through walls to some extent. The other most notable is with Drache, since getting inside some of the scenery can allow you to zip up with the Dive attack. Other mechs can slightly clip into every partial wall just be positioning jumps on the edges. In some cases you need to be "pushed" further into a wall by enemy shots to take advantage of it. I haven't been able to find any use for this yet, but I think it might be useful in some areas. Ballistic can get into walls as well, but I'm not clear on exactly which conditions are needed. 3) More experimentation with other shoulder weapons. The typical speedrun route relies on rockets from random crates at several points throughout the run, but there may be benefits to getting turbo or high-level shots from some crates as well. This is worth looking into, but not realistic for real-time routes. Some other minor glitches such as pause damage may be useful as well, but are not as significant as the above. I have knowledge of a bunch of RAM addresses and other mechanics as well; I can share them if needed. EDIT: The RAM addresses that I have been watching, all in little endian: 000015 - 1 byte. Increments every 5 seconds and under certain other conditions. Not sure exactly what it does. 00001C - 1 byte. Shot counter. Not sure exactly what it's used for. 000024 - 2 bytes. The game's RNG. Increments by one every frame that B is held and in some other conditions. Gets shuffled any time the RNG is actually called (happens a for bullet patterns). 0000F0 - 1 byte. Contains the mask for the RNG; it gets changed around depending on what calls it. Usually it contains 03, but can switch to 1F for crate drops and some other things. 00010C - 2 bytes signed. Most recent mech's horizontal position. 0 is on left. 00010E - 2 bytes signed. Most recent mech's vertical position. 0 is on the top, going down increments value. 00014E - 1 byte. Your current damage phase. 0 to 7 for every mech. 000150 - 1 byte. Your current phase's damage. Counts up; threshold varies by mech. 000194 - 2 bytes. Time (in frames) left on shoulder weapon. Rockets, boost, gravity, etc. 000522 - 2 bytes, signed. Dynamically assigned enemy HPs. Same for 622, 722, etc. 622 tends to contain boss HP, such as last boss. Enemies die when their HP goes negative. EDIT2: Some things that still need to get figured out: -Bomb boost directions. This is something that seems random, but does not rely on the RNG. It's also consistent within most actions/time. I don't have any information about what causes it at this point, but figuring it out may give us access to a few more barrier skips or otherwise. Related, I'm also not sure what the impulses from bombs change about your mech's properties that allow it to go through barriers. -I tried looking for speed addresses, but wasn't able to locate any. I didn't look very hard, or maybe I was assuming wrong conditions. In any case, being able to track position should be enough for the time being. -I have observed a variety of corruption occur while playing on a cart, and I have no idea why. In some cases this just causes the name to be warped, but in others it overwrites the controller settings for certain mechs. I've seen the latter happen most frequently with Ballistic, but it has also occurred with Spider. For example, checking the controller setup for Ballistic showed a square where a Y should have been. No immediate use for it, but if it involves some sort of buffer overflow or otherwise it might be possible to get some pretty wackey effects out of the game.
Expert player (2469)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
Thanks for the suggestion, Omnigamer. I'm watching all the runs, testing out the glitches and putting the addresses on a Lua script. Let's see what we can get out of this game.
I am old enough to know better, but not enough to do it.
Player (37)
Joined: 2/16/2012
Posts: 282
I just finished up some testing for item box drops. I have to expand it a bit more to make sure it's consistent across all random item boxes, but based on the RNG value you will get the following items when you open a crate/kill a cargo bot:
0	2 Shot
1	Booster
2	HP
3	Rockets
4	Gravity
5	Grenades
6	Homeless
7	Grenades
8	Grenades
9	Rockets
A	HP
B	Rockets
C	Grenades
D	Booster
E	Rockets
F	HP
10	Bounce
11	Bounce
12	Gravity
13	HP
14	1 Shot
15	HP
16	HP
17	2 Shot
18	1 Shot
19	Gravity
1A	Bounce
1B	HP
1C	Homeless
1D	Gravity
1E	Gravity
1F	Rockets
It ands the number with 1F and uses that to determine the drop, so it should be pretty easy to tell what item is coming up next. EDIT: I did some more research, and the above numbers are wrong. The RNG goes through its selection sequence first, which shuffles things up a bit. The RNG algorithm is a few posts down.
Player (72)
Joined: 5/28/2013
Posts: 99
That is extremely useful :) I've been trying to locate some good visual references for when to "charge through" an exploding turret in the 1st stage for you by the way, I think I've got a couple but I'm going to test them a bit first then get some pictures or something silly like that. That or give you an input sequence that will give you optimum speed within a specific range for going through exploding enemies. On a side note, here's my progress for stage 1: 1st run = 5458 frames 2nd run = 5402 frames 3rd run = 5348 frames 4th run = 5303 frames (this is the one I lost to a Bizhawk crash) 5th run = 5382 frames 6th run = 5371 frames 7th run = (wip, I'm hoping to get another/lower than 5303) So in real-time that's something like 58s average by how you (omni) time it and something like 56-57 for IL table timing (not sure EXACTLY where they start, thus a range instead of specific). It seems that certain enemy positions can be manipulated via the speed at which you're going through the area, for instance: Situation 1 - Flying along the O2 tanks blowing them up results in the 2 mechs above me being relatively calm. Situation 2 - Slightly quicker movement through that area (same frame count result at the end, just optimizing things slightly, only O2 tank that matters is the last one) results in the 2nd mech shooting constantly at a left+down angle regardless of position while the 1st mech will attempt to drop through the floor relentlessly. Situation 3 - Walking. This is the most random of the two, it's likely caused by how far/close the camera is or you are to them in a proximity fashion. It could also be noted that each of those has variations in how long you press/hold B, but I tried using various button presses to determine if this was the case and the result I came up with was no. 13+ hours so far messing with 1 stage... A hitbox/collision script would be flat out god tier for TAS'ing this game and optimizing movement. Speed indication can be figured out via position increments (1, 2, 4, etc...) so it's not AS big of a factor but it would be useful for certain locations. Omni, do you happen to know which missions require a mech to complete them? Or is it simply all of them do unless the end of the mission is within a human access only area?
My Stream: http://www.twitch.tv/theangrypanda1 Mostly SoE TAS and casual playthroughs.
Player (37)
Joined: 2/16/2012
Posts: 282
I can't say for certain. All I did was play around with positioning by poking the coordinates for the mech. In the case of 9-2, the entire top of the stage is a trigger to advance, but requires you to be in a mech. The loading zones for other completions are smaller, at least in the few cases I know about. EDIT: Some new addresses: 00117 - 2 bytes, signed. Vertical Speed, down is positive. 0011A - 1 byte, signed. Horizontal speed, right is positive. 00617 - 2 bytes, signed. Pilot vertical speed. 0061A - 1 byte, signed. Pilot horizontal speed. 019FA - 2 bytes, signed. Pilot's horizontal position. 019FC - 2 bytes, signed. Pilot's vertical position. 01E16 - 2 bytes, signed. Camera left bound. 01E18 - 2 bytes, signed. Camera upper bound. 01E26 - 2 bytes, signed. Camera right bound. 01E28 - 2 bytes, signed. Camera lower bound.
Expert player (2469)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
I was about to post a partial wip of stage 1, but those new addresses may change my strategies a bit, so I'll test them first, thanks.
I am old enough to know better, but not enough to do it.
Player (37)
Joined: 2/16/2012
Posts: 282
Investigated a bit more today, turns out that the speed values actually start one byte earlier than I reported and have a smaller subpixel speed component. This only actually affects vertical movement (horizontal movement moves only in whole pixels), but it makes it a little harder to track. For reference, these are some acceleration times and distances. I will try to explain them as best as I can, but the vertical physics in this game are a little annoying. Pilot Vertical: -Raw speed increases 1 px every 32 frames -In that 32 frames, you will move a distance of (current_speed - .5)*32 + 1 --This means if your speed is 3 at the start of a cycle, you will advance 2.5 * 32 + 1=81 pixels by the end of the cycle. -Vertical speed for pilot is not capped, as best as I can tell. Pilot Horizontal Flying: -Takes 27 frames to reach full speed. -Travels a distance of 38 px to reach full speed. Mech Walking: -Max speed of 2, takes 8 frames to reach max speed. -Travels a distance of 9 px to reach full speed. Mech Horiz Flying (Nitro): -Max speed of 3, takes 11 frames to reach max speed. -Travels a distance of 16 px to reach max speed. Mech Vertical Flying (Nitro): -Initial speed of 2. -Accelerates up to 4, but actual speed is more like 3.5 px per frame. -Takes 54 frames to get to a speed of 3, and then another 32 to hit 4. This will vary for other mechs slightly, but I'm not about to go through and test it for right now. What this does mean though: -You get better vertical acceleration starting from the ground than from the air. Any time you need to go up, try to go from the ground instead of just holding it and waiting. -Horizontal movement should not be too tricky. If blocked by a barrier that will disappear with time, start back a certain number of pixels so that you get through the obstacle at max speed. -All mechs fall at about 5 px/s even though it reads 4. Pilot does fall at 4, however. -It doesn't matter whether you start from the ground or not as a pilot, you will have the same acceleration. However, if you can avoid hitting your head as a pilot you can maintain your acceleration which could keep you rising quickly. Some other speed tips: -Floating bombs can speed you up a ton, but the direction they repel you is taken from some random element that's not the usual RNG. Needs further investigation. -The small missile bots in some stages can also give you a huge boost if the missiles hit you from behind. Use this whenever possible. -All enemy shots will push you forward a bit. Make use of this when possible. -It is possible to cancel landing lag by using your thrusters at the right time, but I'm not exactly sure when that is. -Some other enemies, such as the ceiling crawlers that dump lava on you, also give significant boosts in one direction or another. I updated the address listing to reflect the new findings.
Player (37)
Joined: 2/16/2012
Posts: 282
My earlier statements about the drops is wrong. The distribution is still roughly the same (one less bounce and one more rockets), but my interpretation of how the RNG operates on it was wrong. It's not so straightforward to determine drops. It will go through this algorithm to determine the "new" RNG, and also the RNG that it will use for the current operation: -load address 0x000024, then rotate low byte left (carry will go into the right-most). XOR the two; rotate low byte right. -Increment address 0x000025, add with carry to result of XOR. Store back in low byte if carry clear. -AND with address 0x00f0 (0x1f) to get final result The value for the item that appears is stored in 0x000B04, but it isn't loaded until the crate is open. It's a little harder to work with, but I can write a lua script to spit out the next item based on the current RNG.
Expert player (2469)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
Here's a new strategy for stage 1; http://tasvideos.org/userfiles/info/7496718323125460 and a Lua script I'm using, some addresses seems to fail though;
--Metal Warrior - SNES - Memory Addresses

function mech()
	pilot_H = memory.read_u16_le(0x019FA)
	pilot_V = memory.read_u16_le(0x019FC)
	pilot_RightLeft = memory.read_s8(0x0061A)
	pilot_UpDown = memory.read_s8(0x00618)
	pilot_Damage = memory.read_u8(0x00DA2)
	mech_Empty = memory.read_u8(0x00422)

--all of the above addresses fails sometimes
--depending where you left the Mech (dynamic?)

	on_Mech = memory.read_u8(0x00124)
	mech_V = memory.read_u16_le(0x0010C)
	mech_H = memory.read_u16_le(0x0010E)
	damage_Level = memory.read_u8(0x0014E)
	mech_Damage = memory.read_u8(0x00150)
	bullet_Counter = memory.read_u8(0x0001C)
	time_Left = memory.read_u16_le(0x00194)
	mech_RightLeft = memory.read_s8(0x0011A)
	mech_UpDown = memory.read_s8(0x00118)

	if on_Mech == 0 then
gui.text(10,20,"Mech's Hor. Speed: "..mech_UpDown)
gui.text(10,25,"Mech's Ver. Speed: "..mech_RightLeft)
gui.text(10,55,"Secondary Weapons: "..time_Left)
gui.text(10,30,"Mech's H Position: "..mech_H)
gui.text(10,35,"Mech's V Position: "..mech_V)
gui.text(10,50,"Mech's Damage lv"..damage_Level..": "..mech_Damage)
	else
gui.text(10,20,"Pilot's Hor Speed: "..pilot_UpDown)
gui.text(10,25,"Pilot's Ver Speed: "..pilot_RightLeft)
gui.text(10,30,"Pilot's H Position: "..pilot_H)
gui.text(10,35,"Pilot's V Position: "..pilot_V)
gui.text(10,50,"Pilot's Damage: "..pilot_Damage)
gui.text(10,55,"Mech's Damage: "..mech_Empty)
	end
end

function enemies()
enemy_HP = {
enemy1 = memory.read_s16_le(0x00822),
enemy2 = memory.read_s16_le(0x00622),
enemy3 = memory.read_s16_le(0x00522),
enemy4 = memory.read_s16_le(0x00422),
enemy5 = memory.read_s16_le(0x00722),
}
	for k,v in pairs(enemy_HP) do
		if v > 0 then
if k == "enemy1" then enh,env,enn = 10,60,"1st Spawned Enemy: "..v; end
if k == "enemy2" then enh,env,enn = 10,65,"2nd Spawned Enemy: "..v; end
if k == "enemy3" then enh,env,enn = 10,70,"3rd Spawned Enemy: "..v; end
if k == "enemy4" then enh,env,enn = 10,75,"4th Spawned Enemy: "..v; end
if k == "enemy5" then enh,env,enn = 10,80,"5th Spawned Enemy: "..v; end
gui.text(enh, env, enn)
		end
	end
end

function camera()
	width = client.screenwidth() / 256
	height = client.screenheight() / 224
	top_Bound = memory.read_u16_le(0x01E18)
	bottom_Bound = memory.read_u16_le(0x01E28)
	left_Bound = memory.read_u16_le(0x01E66)
	right_Bound = memory.read_u16_le(0x01E26)
gui.text(10,40,"Camera H Position: "..left_Bound)
gui.text(10,45,"Camera V Position: "..top_Bound)
end

while true do
	mech()
	enemies()
	camera()
	emu.frameadvance()
end
I am old enough to know better, but not enough to do it.
Player (37)
Joined: 2/16/2012
Posts: 282
Yeah, I later noticed that the pilot addresses are dynamically allocated. I need to check which ones are set up dynamically, but I believe at least the position addresses are consistent. Great work on the lua script dooty! I'm excited to see what you came up with for the first stage; I'll check it out when I get home from work. I can add a bit to the script too so that you can track what the next item coming out of boxes will be. EDIT: My new real-time run with the most up-to-date strats is here. The routes were pretty solid, however not getting rockets in 1 or 3 cost me time and my stage 4 was subpar as well. There is a faster strat for getting by the Havok for 6-3, but it's way too inconsistent in real-time. Link to video EDIT2: I really like the route you came up with in Stage 1. For picking up the second rockets though, is it quicker to do the extended hover or to fall all the way down and then jump from the ground with additional acceleration? Also I just noticed something in Stage 4. If you exit the mech and fly around a bit, you can see that a lot of the mechs are already spawned above the ship and just waiting around. I think there's a spawn limit of 5-7, but you may be able to abuse this by getting them to chase you early and taking them out before their normal spawn triggers. I plan to write down some things to test on each of the stages for alternative routes that may prove better in a TAS setting soon. I will also making a video detailing how to clip into things and some of the interesting things that follow from it. EDIT3: I spent some time trying to find out how the impulses from the bombs work, but wasn't able to come up with anything. The best I can do is determine that they change sometimes. I couldn't determine any solid way to change the direction it pushes me, just that it changes every once in a while. In that way, it very well may be time based. This is unfortunate since optimal boosts might require non-optimal amounts of time to achieve. But I still have no idea on what's actually going on, so we'll see. I tried digging into the assembly a bit, but the calculations for speed are fairly complex and I couldn't track anything down. On second thought, the direction the bombs send you could be determined at spawn-time, which would make things a bit more tricky. I have been able to change the impulse by spawning a bomb then wandering far enough away and returning. So that might be a clue.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
I just saw Dooty's WIP posted in the WIP part of the Front Page, and it reminded me this game existed! (I had played it as a kid but had forgotten its name.) I probably won't be able to be much help with level strategies and such, but I thought I'd still say hi here to mention I'm thrilled to see work on a run for this game, and I'm cheering you guys on :-) Also, I'd never actually finished the long last stage in a realtime run...
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Expert player (2469)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
Thank you, mklip2001. Omnigamer Wrote: -You get better vertical acceleration starting from the ground than from the air. Land to pick up the last set of rockets is 50 frames faster. Another thing that I feel I must test better; damage boost...
I am old enough to know better, but not enough to do it.
Player (37)
Joined: 2/16/2012
Posts: 282
Damage boosts are pretty helpful in a lot of parts of the game, but there's still a lot we don't know about them. What we do know: -Unless bullets come from directly below, the will push you down. -Bullets coming from either side affect your horizontal speed by a constant amount and in the direction of the shot. -Every impact is the same, except as noted below. The big notable exceptions: -Floating bombs. They can move you in any or no direction, and are not affected by how your sprite comes into contact with them, i.e coming from the left or the right does not matter, you will be pushed in the same direction. -Any of the "ceiling dumpers" (stage 8, 9) can occasionally give huge boosts to vertical or horizontal speed with their projectile, but I don't know how this works. It's still really difficult to figure out the direction they will send you ahead of time, but it might be a property attached to individual bombs rather than a global variable. I will try to play with it a bit more tonight, but it's difficult to test since I don't know any one thing that changes the direction yet.
Expert player (2469)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
I had the same impression when I was working on the 1st wip. The boost received on the wip gave me a horizontal speed of 6. Passing below the bombs gave me a speed boost of 11! But then I can't reach the next platform because of the vertical boost :( edit:
Omnigamer wrote:
I will also making a video detailing how to clip into things
I'll wait for more details before I start stage 2 then.
I am old enough to know better, but not enough to do it.
Player (37)
Joined: 2/16/2012
Posts: 282
Video below. Link to video Synopsis: 1. You can slightly clip into any ledged wall with any mech. No use is known for this yet. 2. Switch glitch example. It really messes up the tiles and stage layout, but is very difficult to set up. 3. Drache clip 1. Moving platforms can sometimes move you into places that will clip you into walls. The rest of the time they kill you. 4. Drache clip 2. Since you have a smaller hitbox during a dive, you can fit some places you normally could not. You can abuse this and the momentum from enemy shots to push you into some walls. 5. Drache clip 3. Some walls can be freely moved into if you partially clip into them. No practical use for this though. 6. Spider clip 1. You can clip into any corner with the spider if you properly time your landing on walls. This is an example of going down. Only use for this so far is to get to a blank area in Stage 1. 7, Spider clip 2. Clipping into upper walls lets you climb further up by alternating directions and the jump button. 8. Spider clip 3. Areas that are small enough allow you to clip through them with the right setup and if you can align yourself with a floor. 9. Spider clip 4. You can continually increase height by exiting Spider in certain positions and getting back in. This way you can clip through larger pieces of land. 10. Spider clip 5. Spider's hitbox is odd when it's on the ceiling and for some reason its legs aren't considered part of the main body. In this way, you can just walk into some areas and exit Spider to allow for pilot zips. What I didn't show were some clips you can do with Ballistic using its charge move while partially clipped into objects. In general it's not useful, but you can get pretty far into some surfaces with proper execution.
Expert player (2469)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
Great! Too bad I can't watch now, but I'm going to go home earlier today, so it won't be long, thanks. edit: new wip; http://tasvideos.org/userfiles/info/7563616992021440 edit; about the clips, I think I understood the limitations of its use, so I don't know if we're going to see anything too much different from what's already in the real time runs, but I'm testing all "clippable" walls :) by limitations, I mean; zip only upwards and the need to be on Spider to clip consistently... for example, on stage 2 even if we could clip it would be useless since we just need to go to the right.
I am old enough to know better, but not enough to do it.
Player (37)
Joined: 2/16/2012
Posts: 282
I kind of figured that as well. Some of the later stages are more vertically-oriented (such as stage 8) and if you can get to position ~1500 horizontally, you can zip all the way to the stage finish. For the other partial clips (Nitro, Havok) I don't see them being useful just due to the conditions needed to make them work. There might be some oddities with doing it on moving objects like the crushers in various stages. You may also be able to "push" yourself further into the wall with properly-timed melee attacks and/or L+R, but I wasn't able to find anything in my testing. I just watched the new WIP. It looks great! Your stage 1 is 6.5 sec better than my best-ever RTA for the stage, and stage 2 is 7.5 seconds better. I really enjoy the routes you're able to take; I'm much too ingrained in routes that aim for consistency, so these other setups are really fresh. I thought about some things that might help in the remaining stages that are different from my current RTA routes: Stage 3 -There is a way that you can simultaneously drive the ship and your mech; I have no idea how to do it though. It may be faster than trying to travel inside the ship, but I have no idea of the requirements to make it happen. -At the reactor room, you can instead travel down and to the left if rockets come out of the "port" and use those to go to make a left path. It may be faster if done optimally. -You can save a little bit of time by dismounting Nitro and traveling up the shaft as a pilot and then taking the Havok. This loses time overall since you don't have rockets to work with, but you might be able to find some faster way through. Stage 4 -This stage makes me cringe a little. There's probably a different pattern that can make them spawn faster, but all of the other ways I tried had the level complete at roughly the same time. Perhaps the rockets or seeker can help a little? -Even though they appear on the lower part at somewhat fixed intervals, many of them are already spawned and flying around above the ship. If you get out and fly around you can aggro them and make them come down, but it's hard to say if you can do this in a way that will save time overall. You'll have to repeat several times since they only spawn so many at a time. Stage 5 -Some way to bomb boost or clip through the big barrier in front of the gun could save a lot of time. -There may be a faster way to damage or kill the gun rather than waiting to fall inside. Reverse rockets, for example. -Since this stage is cycle-based if you have to fall into the gun, enough optimized movement may get you to the end a cycle earlier than I'm normally able to. -Getting a push to the right from the bombs at the beginning will allow you to walk through the electric barrier in the mountain. Stage 6-1 -Being able to clip through a barrier would again be a big help here. -There's probably a more efficient way to reach Spider, but I'm not sure what it is. Gia had a different route that went to the end with Nitro, but I found it to be slower overall to get there with Nitro rather than transitioning with Ballistic. -Make sure to get all of the rocket boosts! They save a healthy amount of time. -If you could take the lower path (maybe with Booster) and clip into the wall and zip up to Ball, it may save some time. Stage 6-2 -Big lasers again impede us. -There might be other places to clip & zip, but I think the spots that I found are optimal given the layout of the stage. -It may potentially be faster to clip with Spider all the way to the top and next to the boss door after you hit the laser switch. You can kill him with a reverse rocket or pause trick. I don't know if it would be faster though. -Again, this stage is cycle based. If you are able to get through to the pathway before it goes under the lava, you can save some substantial time over the current route. Stage 6-3 -If you can get through to the top of the stage via clipping or otherwise, you can cut off a huge amount of time. I wasn't able to find any clippable walls though. -There are faster ways to get around the Havok than what I currently use. It's too inconsistent for real-time though... If you go to the left half of the second vine on the bridge, the Havok will always shoot through it. Surviving the next part depends on his placement. -You can clip through the lightning with a boost, probably. I've never done it completely, but I've gone at least partway through. Stage 7-1 -Booster + 3 Shot at the beginning might give better results than Rockets with an optimal path. -Some rocket bots throughout can give decent boosts if manipulated. -Maybe some other non-rocket paths. Note that you do not need to be in a mech to finish the stage, but it would be difficult to get there without something to shoot through the buildings/floors. Stage 7-2 -Pause trick might save time on the Worms if done optimally. They have 4 separate damage phases. Stage 8 -Again, being able to clip in to the wall somewhere around 1500 horizontal would allow you to zip all the way to the top of the stage if you're past the small alcove on the outside. I haven't found any way to do this yet though. -Diving will get you through barriers the small two-tile areas left by bombs. You'll probably need boosts from bombs to push you through them though. -The ceiling dumper enemies can occasionally give you huge boosts. I don't know what causes this. -Every time you press dive, your current damage is halved. Useful for maintaining enough HP in this stage. Stage 9-1 -You need a mech to finish this stage, so even if you could zip through to the top you'd be stuck. I was wrong, you can finish as just a pilot. -You could skip almost the whole stage if you can clip through to the right at the beginning. I don't expect this to be possible though. Stage 9-2 -The big problem with this stage is that you only have access to Havok and he can't get up the moving platforms early at all. As a pilot you can get through the main vertical section in one flight, but I couldn't find a way to get through the destructible blocks to the Prometheus. -Zipping isn't of much use either since everywhere you can zip to still has the issue of not being near Prometheus. -The victory region for the stage is the entire top part of the stage, but requires a mech. So if you can clip through to vertical position 12 or so, you can win without fighting the boss. I wasn't able to find anywhere you could do this though. -You can fall on the boss's head if you time it right and sit on him firing down to kill him off pretty quickly. If he turns you will fall into him and instantly die, though. -It may be faster in a TAS setting to fight the boss as Havok with Shot 3. That's what I wrote in my notes. Hopefully some of this helps! EDIT: Just made a pretty major change to 9-2 that saves 20 seconds and takes no effort. I feel really stupid for not noticing it before. There is a random item box on the left underneath one of the moving platforms in the first section that you can pick up a gravity pack from. Allows you to skip two full cycles of the platforms. In a TAS setting you may be able to manipulate a gravity from the first crate above the entranceway and get through it two cycles faster yet.
Expert player (2469)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
Wow, that's a lot of new info! Thanks. I did stage 3 before reading your post, so I guess I'll have to redo it, but here it is; http://tasvideos.org/userfiles/info/7585055023209914
I am old enough to know better, but not enough to do it.
Player (37)
Joined: 2/16/2012
Posts: 282
Using the switch glitch there is amazing. Keep it up! I'm glad that made it into the route one way or another.
Expert player (2469)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
I implemented one of your suggestions on stage 3; pick up rockets on the "port", it is 70 frames faster. I also did stage 4, but even TASing it for hours, this stage still looks not optimized. Some possible reasons; 1 - It’s not possible to kill enemies that spawned so many pixels off screen; I need to scroll the screen towards them. 2 – Killing a group of enemies on the right side of the screen will make the next one spawn on the left side. It can’t be manipulated, or at least, I don’t know how. 3 – Flying with the pilot really makes them spawn faster, but they take the same time to come down into mech’s range. 4 – Some enemies stuck on the right side of the ship that can’t be reached by the mech; they can be killed, but it would take a very long time, longer than waiting for other enemies to take their memory addresses. 5 – I’m lazy and I like to make my stages in one shot; redoing is for losers. Um, well never mind the 5th reason… Anyways, here’s the wip with the fix on stage 3 and my first attempt on stage 4; http://tasvideos.org/userfiles/info/7633036150544456
I am old enough to know better, but not enough to do it.
Player (37)
Joined: 2/16/2012
Posts: 282
Yeah... It is a really troublesome stage to optimize in real-time for the same reasons. I will say that there is a somewhat set order to their appearance and is not always a spawn-left then right then left issue. I think that after a certain amount of time has passed, they will spawn again on whichever side you are on. What this means is that each enemy has set spawn locations, but the order is not necessarily set. Optimizing the stage requires keeping up spawns at a constant rate, but you may not have to kill some of the enemies before another group is able to spawn. I use this a bit near the end of the last wave: I just stay a bit to the right of the ship's bridge and allow most of the enemies to come to me. I know there is already one enemy on the left and the final one comes from just to the left of the bridge, so I only have to walk left once more instead of traveling back and forth. An optimized stage 4 probably just includes the least amount of traveling left and right. It's easier said than done. I can provide you with my notes on the spawn locations and ordering if you think that would help. I'll also play around with it a bit more tonight and see if I can find a quicker way to spawn a large group of them at once.
Former player
Joined: 5/4/2005
Posts: 502
Location: Onett, Eagleland
Working on this between my own projects: Should be ready soon depending how lazy I get.
I think.....therefore I am not Barry Burton
Player (37)
Joined: 2/16/2012
Posts: 282
<3 Pasky. Really looking forward to it!