1 2
8 9 10
15 16
Joined: 5/27/2005
Posts: 465
Location: Turku, Finland
How do you play in hard mode? :)
Which run should I encode next? :)
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
On the japanese version you complete the game on normal It has to be the japanese version
Active player (378)
Joined: 6/5/2006
Posts: 188
Location: Malmö, Sweden
Even the best player is limited by the speed of his fingers, or his mind's ability to control them. But what happens when speed is not a factor, when theory becomes reality?
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
How dare you end it at the ship >"_<
Active player (378)
Joined: 6/5/2006
Posts: 188
Location: Malmö, Sweden
new WIP: http://dragonfangs.paragonsigma.com/DF-MetroidFusion0p.zip I saved 13 seconds on that Yakuza fight btw \o/ and I'm now currently 1 minute and 5.13 seconds faster than frost.
Even the best player is limited by the speed of his fingers, or his mind's ability to control them. But what happens when speed is not a factor, when theory becomes reality?
Active player (378)
Joined: 6/5/2006
Posts: 188
Location: Malmö, Sweden
And Nightmare goes down: http://dragonfangs.paragonsigma.com/DF-MetroidFusion0p.zip This is the final WIP I'll be posting before submitting.
Even the best player is limited by the speed of his fingers, or his mind's ability to control them. But what happens when speed is not a factor, when theory becomes reality?
Joined: 5/9/2005
Posts: 752
BioSpark wrote:
Wow, nice job. I'd better hurry up and finish my fusion 100% now.
Wow. When did that happen?
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
What do you mean? I've been working on an improvement to my run. Currently I'm stuck at working on Nightmare.
Joined: 11/11/2007
Posts: 242
Location: the 1950s
You can skip the full 3 minute intro at the begining on the Japenese Version.
Currently working on: -Possibly the Wily Tower (Mega Man the Wily Wars)
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Yes, but that has to be on a game that's already been completed, which means using SRAM
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
hey p.jboy (or anyone else interested), want to figure out how to manipulate nightmare? all i need him to do is to go in the direction of the "kill zone", or whatever you want to call it. the same direction he goes in version 1 of my 100% tas (here). i've tried pausing in a number of places, before and during the fight. i've tried delaying in-game time too. nothing seems to affect his movement. edit: i'm going to try altering the old run to see what affects nightmare. i optimized the fight, so the time gained/lost during the fight doesn't seem to be the problem. pausing before entering the room affects the fight, but it still feels like nightmare only uses a set of certain moves.
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
There's a floating target in Nightmare's room, it moves diagonally and bounces off of walls and ceilings. Nightmare flies towards this floating target, and then to Samus, then back to the target etc. You can use a cheat code to see this target bounce around the room, this will cause a desync if used: 33000000 0001 for codebreaker. That cheat only works if it's on while loading a room, you can subtract 4 from the value at 03000140 manually if you're already inside the room, this will still cause a desync The target moves initially either diagonally up-right or up-left, depending if 030007F0 is odd or even, the value of 030007F0 is dependant on two frame counters and the enemies position (which will be constant). Coincidently, if the floating target moves initially up-left, and you're still bouncing on the crumble blocks, the target does move to the bottom-right crumble block; if you bounce on that crumble block at the right time, the target will move through the block and bounce off the wall/ceiling joined to the crumble blocks
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
oh wow. i was hoping you were this prepared :) thanks, i'll check it out.
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
let's say i go through the entire fight with the code on and get nightmare to the right spot. when i redo the fight without the code, will nightmare still go to the same spot? oh and sure enough, the target bounced where one of the crumble blocks was missing in the old run. edit: got it to work. basically i got very lucky in my first run with the way i jumped off the crumble blocks. i made sure i got the target to go in the same direction. now i'm finishing the fight without the cheat. edit 2: done with the fight. i saved 21 frames over version 1's fight, but more importantly, i saved 105 frames over version 2's fight (excluding the core-x part).
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
I'm not sure about whether using the cheat will delay the enemy from loading at all, but glad to hear you've dealt with it anyways. If you manually change the value at 03000140, then Nightmare would go to the same spot, give-or-take a few pixels, but I still wouldn't rely on it. Hope you actually hit it with the charge beam this time
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
actually i didn't. a fully charged shot does less damage than a missile, and his health is perfectly divisible by 40. not that it matters anyway, because i have to delay before the last hit. thanks for the info though. i would have been stuck forever lol
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
in case anyone is interested, 0% skip done on console: https://www.youtube.com/watch?v=kSn6yNuk--g
Joined: 7/2/2007
Posts: 3960
Wow, that is impressive. Nice job!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 10/8/2013
Posts: 126
IBJ script.
joypad.set(1, {A=1, B=1} )

while true do

	pause = memory.readbyte(0x03004DEA)
	unpause = memory.readbyte(0x03000B85)
	bombtimer = memory.readbyte(0x03000B7E)
	bombloop = memory.readbyte(0x03000B72)

	if bombtimer > 46 then
		joypad.set(1, {A=1} )
	end

	if unpause == 2 then
		joypad.set(1, {start=1})
	end

	if bombloop < 3 and bombtimer < 47 and bombtimer > 0 then
		if  pause == 0 then
			joypad.set(1, {start=1})
		end
	end

	if bombloop == 3 and bombtimer > 0 then
		joypad.set(1, {A=1})
		if bombtimer == 10 then
			joypad.set(1, {B=1, A=1} )
		end
	end
	
	emu.frameadvance()

end
This allows you to automate the infinite bomb jump process. Not really that useful for anything, considering it's slow as hell and Fusion has a very strong sequence, but hey. It's a little bit finicky at start, but once it gets going, it should give optimal boost per bomb. You can try tweaking the bombtimer values and whatever and see if you can get better, currently it gives 43 subpixels per mid-air bomb and keeps it steady. At the moment the script only goes to a direction you point it to, but if you wanna manually steer it (a little bit anyway), you can just remove "joypad.set(1, {A=1})" from LINE 25, and instead hold down the A-button, plus a direction you wanna go. It really only allows you to change a straight IBJ into a diagonal one at some point, but still pretty neat. You wanna get mid-air as morph ball, and have a fairly even amount of velocity (not traveling too fast up or down), then just turn on the script and let it work its magic.
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
Not to sound rude, but yeah, not very useful :P Even though I generally aim for in-game time in my fusion tases, I try to minimize the number of pauses, so there's no way I'd ever use the pausing method. Normal ibj combined with walljumping is fast enough. Also there's a mistake in your script:
if bombloop < 3 and bombtimer <47> 0 then 
should be
if bombloop < 3 and bombtimer < 47 then 
Joined: 10/8/2013
Posts: 126
Oh wow, thanks for notifying me about that mistake. It wasn't even copied wrong or anything, the HTML on TASvideos actually screwed up the code, so I had to disable it :P And yeah, sure, I know this is basically useless as far as making an actual run goes, but hey, if you wanna get dumb stuff done a little bit easier, here's something to help with it :P
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
So I've investigated the glitch brought up here a bit more: http://tasvideos.org/forum/viewtopic.php?p=400831#400831 Turns out the reason for the memory corruption is because power bombs affect the clipdata and appearance of certain blocks. For example, when a power bomb hits a bomb block, it changes its clipdata to 0 (air) and its BG1 value to 0 (clear). When the explosion touches a particular block, it uses the following calculation to find the location of its clipdata value in memory: 0x2026000 + ((Ypos / 64) * RoomWidth + (Xpos / 64)) * 2 where 0x2026000 is the start of a room's decompressed clipdata, (Ypos / 64) is the Y position in blocks, and RoomWidth is the room's width in blocks. Now, when you go out of bounds, your X and Y position can go below 0 and wrap around to 0xFFFF, which is 0x3FF in blocks. This causes the game to read memory addresses way past that of the room's clipdata. So, is there anything of interest located in memory past the clipdata? Slot A save data (SRAM) starts at 0x2038200. Is this address reachable? Doing some quick math, you would need to go out of bounds in a room that is at least 0x24 blocks wide. Unfortunately, this is where things get less exciting. Power bombs only affect blocks with a clipdata value between 0x0050-0x0077, which consists of various breakable and exposable blocks. This means that in order to corrupt memory, the first (even) byte must be between 0x50-0x77, and the second (odd) byte must be 0. Furthermore, this only changes the first byte to 0. In terms of breaking the game, this glitch is useless. However, you could do something silly, like resetting the in-game time to 0 once you reach 0x50 (80) hours. Of course, corrupting SRAM is only possible if you can get out of bounds in a wide enough room. Currently, it's only possible to get out of bounds in Yakuza's room, which isn't wide enough. Also, it's not possible to use the new BG1 value of a block in order to corrupt SRAM. When the address of the block is calculated, only one byte is used for the X and Y block position, not two.
Joined: 10/8/2013
Posts: 126
Link to video Found another spot for BioSpark's ledge clipping. This one is interesting for two reasons mainly: 1. It's another OoB location. 2. It's actually possible to do without Tool-Assist. Maybe this room would work for resetting game time to 0? Also, regarding the map corruption, it seems if you save the game afterwards, some of it persists somehow. Like, some of the map I had obtained got actually "unmapped" when I loaded the save.
Editor, Player (95)
Joined: 5/27/2006
Posts: 240
Wow, can't believe I missed this spot. It should have been obvious. You're the best. This room should be wide enough to allow for some SRAM corruption, though I'll double check. I'll have to investigate it some more to check if other things are possible (resetting in-game time to 0 after 80 hours isn't very interesting). Also technically you don't have to do the short hop, but it makes it easier. Edit: Turns out the room isn't wide enough (has to be at least 3 map tiles wide). Oh well.
Zarmakuizz
He/Him
Joined: 10/12/2013
Posts: 279
Location: France
BioSpark wrote:
You should apply your creativity to fusion. I'm sure you could find some tricks if you tried.
The day after, an OOB. Oh well.
1 2
8 9 10
15 16