Player (24)
Joined: 4/23/2005
Posts: 435
Location: Germany
FODA wrote:
Here is a cheated movie that finishes the game in 7:05 http://www.angelfire.com/ex/uobt/arkanoid-foda-cheated.zip The objective was to finish the game as fast as possible, using all resources the game gives. That includes the continue code, a glitch and the warps. It's not optimized at all, i didn't even get the warp on all levels because i didn't want to waste too much time on luck manipulation. But i've tested, and this is faster than using the level skip code.
Must I enter a Cheat Code to play this one? Because first I wait some seconds and nothing happen. Then at the second time in the Start menu it start, but you die. So I think it desync for me, but use the correct ROM.
Last TAS finished: Final Fantasy Adventure (4.0 Warp Glitch Run) WIP in the moment: Tail Gator (GB) Matty
nesrocks
He/Him
Player (241)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Baxter told me how to fix that. Open the rom, put controller 2 on gamepad then play the movie.
Skilled player (1402)
Joined: 5/31/2004
Posts: 1821
yeah, and you also need to keep playing the movie... dying is part of the movie, since it enables you to start at that level, so just let it play.
Player (24)
Joined: 4/23/2005
Posts: 435
Location: Germany
Ok work now. But I must use another Emulator. fceu-0.98.12-blip.win don't work with this one.
Last TAS finished: Final Fantasy Adventure (4.0 Warp Glitch Run) WIP in the moment: Tail Gator (GB) Matty
Senior Moderator
Joined: 8/4/2005
Posts: 5770
Location: Away
Baxter wrote:
Do you like the restriction of only using the 3-ball powerup?
Yes! Using laser in a normal speedrun is ok, but it's too boring to watch in a TAS, as you can shoot most of the bricks down pretty fast (and no entertaining at all).
Baxter wrote:
Do you have problems if balls were lost to complete the level faster?
No. Actually, as long as they don't cost you any lives, it'd be cooler to pretend you actually lose them, gaining time advantage at the same time. I watched the WIP, looks nice so far. Good luck with your run!
JXQ wrote:
Insert random "balls" joke throughout my post.
ROFL.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
JXQ wrote:
Insert random "balls" joke throughout my post.
Cool, metajoking. Reminds me of the prison joke where guys throw out mere numbers to the laughter of others (all good jokes are already used and numbered). My post is probably metametajoking btw.
Joined: 4/3/2005
Posts: 575
Location: Spain
Bisqwit wrote:
JXQ wrote:
Insert random "balls" joke throughout my post.
Cool, metajoking. Reminds me of the prison joke where guys throw out mere numbers to the laughter of others (all good jokes are already used and numbered). My post is probably metametajoking btw.
Is that one in which the person that must tell the joke says "four", and only two people laugh? The first, because he told the joke in a funny way, and the second, because it was the first time he heard it.
No.
Senior Moderator
Joined: 8/4/2005
Posts: 5770
Location: Away
I *love* such signatures, when you read them along with the post itself.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Player (84)
Joined: 2/10/2006
Posts: 113
Location: US
Wow, I am very impressed Baxter! With 12k rerecords no wonder you are posting such impressive times. I think with how much time you're gaining, the decision not to use lasers is OK. In my WIP I did not lose any balls, even when it lost time, because Genisto's run did this. However I personally don't care much either way. Feel free to use my WIP to help. Level 8 is not too hard to optimize. I also think level 10 should be close to optimal, since I tried many possibilities. Level 11 is extremely difficult to optimize since there are no powerups (I think I used over 1500 rerecords yet settled for just barely beating Genisto), so I'll wish you luck there ) Actually I was thinking, this game would probably be well-suited to having a bot, since there aren't many possibilities for input...
Use the force
Skilled player (1402)
Joined: 5/31/2004
Posts: 1821
I've restarted my Arkanoid tas. I will make a version which uses the 3-ball powerup only (everyone seemed to agree with this), and without losing any balls (most people seemed to prefer this). I'm currently done redoing the first three levels. I'm 160 frames ahead of the wip I posted earlier, and this version doesn't lose any balls! /Edit Turns out I didn't time right... I'm actually 225 frames ahead of the wip I posted earlier. /Edit2 Just finished redoing level 4. Saved another 33 frames to my previous wip, now 258 frames ahead.
Senior Moderator
Joined: 8/4/2005
Posts: 5770
Location: Away
Ugh… When was the last edit you say? %) I mean, how's it going?
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Skilled player (1402)
Joined: 5/31/2004
Posts: 1821
Moozooh wrote:
I mean, how's it going?
Not too much to report. I've finished level 5, and sofar I wasn't able to get it faster than the level 5 in my wip, so I made a version that plays level 5 exactly like the previous wip, which is just fine. I am still working on level 5 though to get it faster, but if nothing comes up, I'll take the version I have now. So ~5/36 levels completed. (hard to give a % completed of the run, since some levels are harder than others)
billybobfred
Other
Joined: 12/2/2005
Posts: 76
The picture on the first page is gone...
I'm just a spectator. There was a time when I tried to participate, but I'm really lazy, so. she/her/hers
nesrocks
He/Him
Player (241)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
It's a 2 years old post, so it would probably be gone sooner or later.
Skilled player (1402)
Joined: 5/31/2004
Posts: 1821
I managed to improve level 5 with 22 frames saved on my wip, and I completed level 6 35 frames faster than the version in my previous wip. So I'm done with redoing the level I did in the previous wip now. I'm a total of 315 frames (=more than 6 seconds) faster than my previous version! (and this version doesn't lose a ball) Sorry for the slow progress sofar. For the next 3 weeks I'm also pretty busy, so don't expect too many updates. After that, I'll have more time and will make faster progress.
nesrocks
He/Him
Player (241)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Skilled player (1402)
Joined: 5/31/2004
Posts: 1821
Something I stumbled on while working on level 7. Looks very cool, but it can't be included since getting the last blocks here is slower than other strategies...
Skilled player (1402)
Joined: 5/31/2004
Posts: 1821
Wow, in two days it will be a year since I last posted here. After finishing Super C, this has become my main project next to the quadrun. I had already completed the first 8 levels a long time ago. I'm currently 50% done with the run, which means 18 levels are completed now.
nesrocks
He/Him
Player (241)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
I've been playing this on UberNES and an annoying bug happened to me. On level 18, during one of my extra lives, I was trying to do slow-mo my constantly pressing start, and it didn't work very well, so I didn't try it anymore. But by the end of the stage, I destroyed all blocks and the level didn't end! I just kept destroying enemies until I lost all my lives. Did this bug ever happen to anyone else? this is the first time I've tried slow-mo on arkanoid and there was even a moment the ball was inside a gold block when I paused, maybe this is related to the bug or it's an emulator specific bug. Maybe this could be exploited to go through walls or something.
Skilled player (1402)
Joined: 5/31/2004
Posts: 1821
FODA wrote:
I've been playing this on UberNES and an annoying bug happened to me. On level 18, during one of my extra lives, I was trying to do slow-mo my constantly pressing start, and it didn't work very well, so I didn't try it anymore. But by the end of the stage, I destroyed all blocks and the level didn't end! I just kept destroying enemies until I lost all my lives. Did this bug ever happen to anyone else? this is the first time I've tried slow-mo on arkanoid and there was even a moment the ball was inside a gold block when I paused, maybe this is related to the bug or it's an emulator specific bug. Maybe this could be exploited to go through walls or something.
I didn't know about this, but since I'm working on a TAS for this game, I tried it (on fceu). It doesn't seem to be an emulation bug... here is what happens: If you press start, right before/at the point where the ball hits a block, the block won't disappear. The block is gone (balls will fly through it), but the sprites of the block are still there. If you keep playing, and destroy all blocks where you didn't press start right before the ball hit the block, you will be left only with these fake blocks, and since you can't hit them, you will be left to die. If you die, all fake blocks sprites will be gone, but the game still doesn't count them as gone... so the level can never be finished. The glitch can easily be done in real time, just by hitting start as fast as you can. You can however never complete the level where you did the glitch. Even if the level could be completed with the glitch, I don't see any possibilities of saving time with it. I think I'm done testing with it and can move on... which is great, since it would be terrible if everything I've done sofar on this TAS would need to be redone. Here is a movie showing the glitch.
Skilled player (1402)
Joined: 5/31/2004
Posts: 1821
I've just finished a certain level, but I have two versions... One version cleares away the last block 64 frames faster than the other version, but because the score keeps counting longer in this version, the screen turns black 9 frames later than the other version so the next level starts 9 frames later. Which version is preferred? 1) The version which clears all blocks 64 frames faster, but ends up 9 frames slower because the screen turns black 9 frames later. 2) The version which clears all blocks 64 frames slower, but ends 9 frames faster because the screen turns black 9 frames sooner. Edit: Solved, I'm taking a third version.
Chamale
He/Him
Player (178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I'm going away for a couple days, so I'm going to set up BasicBot to run Arkanoid and see how it does. I'm hoping for it at least to live a for on paddle hit. But what's the memory address for score?
Joined: 4/25/2004
Posts: 615
Location: The Netherlands
Hmm don't use my basicbot... And remember that the original basicbot can only compute like 2000 frames (if I remember correct). Which is not a whole lot.
qfox.nl
Skilled player (1637)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
So I've decided to try and bot Arkanoid. Unfortunately, trying to brute force it, even with my tree method, would finish 1 level somewhere near the heat death of the universe. Heres a current attempt to try and force it seek out the balls. Still taking far too long. Requires starting at frame 731 of Baxter's currently published movie.

start_savestate = savestate.create();
holder_savestate = savestate.create();
holder2_savestate = savestate.create();
holder3_savestate = savestate.create();
FCEU.speedmode("nothrottle");
savestate.save(start_savestate);

local wins = 0;
local fails = 0;
local survivals = 0;
local key1 = {};  
local winner_frames = 1034;

local max_fail = 0;

local input_string = "";

local frame_start = 0;
local curr_frame_count = 0;
local last_fail = 0;
local last_fail_input = -1;
local last_save = 0;
local last_save2 = 0;
local last_save3 = 0;
local last_save_pos3 = 999999999999999999999999999999;

local fail = 0;
local only_left = 0;
local only_right = 0;

local curr_keys; 

local Ball1Y = 0x0037;
local Ball1X = 0x0038;

local Ball2Y = 0x0230;
local Ball2X = 0x0233;

local Ball3Y = 0x0234;
local Ball3X = 0x0237;

local paddle = 0x0207;

local BlocksLeft = 0x000F;


while true do


--Reset keys
key1 = {};


--Current frame is part of old movie
	if (curr_frame_count < last_fail) then
		--use input string
		curr_keys = string.sub(input_string,curr_frame_count+1, curr_frame_count+1);
		if (curr_keys == "0") then			
		end;
		if (curr_keys == "1") then
			key1.left = 1;			
		end;
		if (curr_keys == "2") then
			key1.right = 1;
		end;
	end;


--Current frame is first frame of new movie
	if (curr_frame_count == last_fail) then		
		if last_fail_input == -1 then
			input_string = input_string .. "0";
		end;
		if last_fail_input == 0 then
			key1.left = 1;
			input_string = input_string .. "1";
		end;
		if last_fail_input == 1 then	
			key1.right = 1;
			input_string = input_string .. "2";
		end;			
	end;



--Current Frame is subsequent frame of new movie
	if (curr_frame_count > last_fail) then		
		input_string = input_string .. "0";
	end;





-- Bookmark 1
	if math.floor(curr_frame_count/5) > last_save then
		last_save_pos = curr_frame_count;
		savestate.save(holder_savestate);
		last_save = last_save+1;
	end;


--Bookmark 2
	if math.floor(curr_frame_count/10) > last_save2 then
		last_save_pos2 = curr_frame_count;
		savestate.save(holder2_savestate);
		last_save2 = last_save2+1;
	end;
	

--Bookmark3
--	if math.floor(curr_frame_count/50) > last_save3 then
--		last_save_pos3 = curr_frame_count;
--		savestate.save(holder3_savestate);
--		last_save3 = last_save3+1;
--	end;



--Set joypad to current frame and execute
	joypad.set(1, key1);
	FCEU.frameadvance();


if max_fail < curr_frame_count then
	only_left = 0;
	only_right = 0;
end;



--Fancy pants outputs
	gui.text(1,10,input_string);
    	gui.text(5,60,"Failures: " .. fails);
	gui.text(5,70,"Survivals: " .. survivals);
	gui.text(5,80,"Only Left " .. only_left);
	gui.text(5,90,"Only Right " .. only_right);	
    	gui.text(5,100, "Last Fail Frame: " .. last_fail );
	gui.text(5,110,"Max Fail " ..max_fail);	
	
	gui.text(5,120,"LFI " ..last_fail_input);	

--increment for next frame
	curr_frame_count = curr_frame_count + 1;	


--Failure due to ball lost
	if (memory.readbyte(Ball1Y) > 222) then
		fail = 1;
		if memory.readbyte(Ball1X) < memory.readbyte(paddle) then
			only_left = 1;
		else
			only_right = 1;
		end;
	end;
	if (memory.readbyte(Ball2Y) > 222) then
		fail = 1;
		if memory.readbyte(Ball2X) < memory.readbyte(paddle) then
			only_left = 1;
		else
			only_right = 1;
		end;
	end;
	if (memory.readbyte(Ball3Y) > 222) then
		fail = 1;
		if memory.readbyte(Ball3X) < memory.readbyte(paddle) then
			only_left = 1;
		else
			only_right = 1;
		end;

	end;
	
	if fail == 1 then
		fail = 0;
		--increment failures	
		fails = fails + 1;
		-- determine last fail


		last_fail = curr_frame_count-1;
	
		if only_left == 1 then
			while (string.sub(input_string, last_fail, last_fail) == "1") or (string.sub(input_string, last_fail, last_fail) == "2") do
				last_fail = last_fail - 1;
			
			end;				
		else
			while (string.sub(input_string, last_fail, last_fail) == "2") do
				last_fail = last_fail - 1;
			
			end;		
		end;
		
		if only_right == 1 then
			last_fail_input = 1;
		elseif only_left == 1 then			
			last_fail_input = 0;

		else
			if string.sub(input_string, last_fail, last_fail) == "0" then
				last_fail_input = 0;
			end;
			if string.sub(input_string, last_fail, last_fail) == "1" then
				last_fail_input = 30;
			end;
		end;
		

		input_string = string.sub(input_string, 1, last_fail-1);
		-- Can we load bookmark 1?	
		if (last_fail > last_save_pos) then
			savestate.load(holder_savestate);
			curr_frame_count = last_save_pos;
		-- How about bookmark 2?
		elseif (last_fail > last_save_pos2) then
			savestate.load(holder2_savestate);
			last_save = last_save2*2;
	--	elseif (last_fail > last_save_pos3) then
	--		savestate.load(holder3_savestate);
	--		last_save = last_save3*10;
	--		last_save2 = last_save3*5;

		-- Time to start from scratch!
		else	

			savestate.load(start_savestate);
			curr_frame_count = 0;
			last_save = 0;
			last_save2 = 0;
	--		last_save3 = 0;
		end;
		max_fail = math.max(max_fail, last_fail+1);
	end;
			

	
end;
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.