Former player
Joined: 3/27/2010
Posts: 270
XkyRauh wrote:
It's a tradeoff for entertainment purposes. On one hand, you get the kick-ass "fastest time" TAS, but large swaths of it are a black screen. "What's going on?" the public asks. "Well, the character has moved out of bounds and is currently navigating beneath level geometry," is the answer. On the other hand, you have the "hacked" version in which the viewer can see exactly what is going on behind the blackened screen--Link is swimming/running/hopping around beneath the level geometry. "But this is a hack! It's not a true console-accurate TAS!" the purists exclaim. There is no winning argument.
More or less it can (loosely) be compared to how some encodes won't have cutscenes... I'd rather see wireframe or visual hacks than a black screen with sounds. Do whatever makes it faster, can have multiple encodes with different settings to please everyone if it's that a huge necessity :P
XkyRauh
He/Him
Joined: 6/9/2005
Posts: 171
Location: Southern California
I agree. :) I wasn't trying to take sides; I was trying to articulate both viewpoints. I personally have no preference one way or the other--I'm simply happy the TAS is in development.
Player (33)
Joined: 3/8/2012
Posts: 398
Location: Windfall Island
Lol I can't believe you guys are arguing kinda over this. The TAS probably won't be out for a loooooong time still.
IronSlayer wrote:
Your counterargument would be like me saying that the Earth is round and then you telling me that I need to show it's flat so I can "prove us all wrong".
Seems legit.
Joined: 2/1/2008
Posts: 347
Not only that, so far I haven't seen anybody say they wanted an encode without visual hacks, other than a (presumably) sarcastic post. I'm pretty sure most people want to see what's going on.
<ccfreak2k> There is no 'ctrl' button on DeHackEd's computer. DeHackEd is always in control.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1022
I'd like both encodes to exist. I imagine most people will watch the hacked encode, but sometimes with Sonic runs I've preferred to look at the unhacked one with the player offscreen every now and then.
Joined: 3/15/2012
Posts: 70
Location: Canada
I'd watch both encodes, but I'd watch the black screen one first. It'll be like how the hylian text is translated in your 2nd playthrough.
Active player (434)
Joined: 2/5/2012
Posts: 1688
Location: Brasil
Both encodes would be good,you can always make the video split into 2 screens to show what's shown on screen and what's really happening,or just put an annotation.
TAS i'm interested: megaman series: mmbn1 all chips, mmx3 any% psx glitched fighting games with speed goals in general
Joined: 5/2/2009
Posts: 656
Abahbob wrote:
Lol I can't believe you guys are arguing kinda over this. The TAS probably won't be out for a loooooong time still.
TASVideos, where nothing is too minor to a discussion or a possibility
My first language is not English, so please excuse myself if I write something wrong. I'll do my best do write as cleary as I can, so cope with me here =) (ノಥ益ಥ)ノ
Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
I'd prefer an enhanced encode myself, one which replaces all of Link's weapons with walkie-talkies. (seriously though, this will be a great tas once finished, so let's worry about encodes later)
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
SoulCal wrote:
I'd prefer an enhanced encode myself, one which replaces all of Link's weapons with walkie-talkies.
We should then make DVD's out of it and turn the weapons back into guns. Wait....what?
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
Apparently Gohdan's hands can be hurt by bombs. It might be a good TAS strat to lay bombs in his hands while bombing the head, so they go off after he re-activates. It even fully takes out the hand, maybe Gohdan can be done REALLY fast now? Link to video
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 (33)
Joined: 3/8/2012
Posts: 398
Location: Windfall Island
Patashu wrote:
Apparently Gohdan's hands can be hurt by bombs. It might be a good TAS strat to lay bombs in his hands while bombing the head, so they go off after he re-activates. It even fully takes out the hand, maybe Gohdan can be done REALLY fast now?
I'll TAS that if I get bored.
IronSlayer wrote:
Your counterargument would be like me saying that the Earth is round and then you telling me that I need to show it's flat so I can "prove us all wrong".
Seems legit.
THC98
He/Him
Experienced player (906)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Abahbob wrote:
I'll TAS that if I get bored.
Are you still working in the any% TAS?
Youtube Channel | Twitch Channel • Finished projects: GC Sonic Adventure DX - Sonic | GC Sonic Adventure DX - Tails | GC Sonic Adventure 2: Battle - Hero Story | GC Sonic Heroes - Team Sonic • Current projects: GC Sonic Adventure 2: Battle - Dark Story - 1st WIP • Paused projects: GC Sonic Adventure DX - Knuckles - 1st WIP • Individual levels records: Sonic Adventure DX | Sonic Adventure 2: Battle • My Discord: Tales98#0408
Player (33)
Joined: 3/8/2012
Posts: 398
Location: Windfall Island
No, superswimming just isn't realistic for me to optimize, even with lua. Also, I think my lua build caused some random inputs to be deleted, even though I think that issue was patched a while ago... I've also just lost motivation from working on it for so long and having to restart so many times. Really it should be restarted again to replace the first superswims with those crazy ones, could save a couple of seconds. I guess I should release the .dtm sometime.
IronSlayer wrote:
Your counterargument would be like me saying that the Earth is round and then you telling me that I need to show it's flat so I can "prove us all wrong".
Seems legit.
Joined: 5/30/2013
Posts: 44
Location: Australia
Abahbob wrote:
No, superswimming just isn't realistic for me to optimize, even with lua. Also, I think my lua build caused some random inputs to be deleted, even though I think that issue was patched a while ago... I've also just lost motivation from working on it for so long and having to restart so many times. Really it should be restarted again to replace the first superswims with those crazy ones, could save a couple of seconds. I guess I should release the .dtm sometime.
Are you going to release Lua script too? If I do manage to release some WIPs, I'll give credit where it's due(In the video description of course). I'm really interested in TASing TWW.. and this would be very handy for me to use too.
Player (33)
Joined: 3/8/2012
Posts: 398
Location: Windfall Island
Really the lua script is garbage and doesn't test enough frames and combinations to be perfect. It uses a special build of dolphin that I don't have anymore with some customized lua crap to be able to have joystick input. Also it has to be customized to each superswim and is insanely hard to understand. If you want it, here it is:
--[[
states:
1: start
100: fastest
101: main superswim states
102: down 1 frame
]]
fastestFrame = 10000000000
fastestSpeed = 0
function checkAir()
checkFinished()
print(tonumber(memory.readfloat(0xabcfcc)))
	if memory.readword(0x3bdc62) == 0 then
		return false 
	end
	if tonumber(memory.readfloat(0xabcfcc)) > -50 then
		return false 
	end
	return true
end

function keepSwimming()
	while checkAir() do
		joypad.joystick(128,128)
		emu.frameadvance()
	end
end


function getToSpeed(x)
while tonumber(memory.readfloat(0xabcfcc)) > -x do
		if math.mod(emu.framecount(), 2) ~= 0 then --if odd frame, stick down right
			joypad.joystick(0,186)
			emu.frameadvance()
		else --if even frame, stick down left
			joypad.joystick(255,186)
			emu.frameadvance()
		end
end
end

function getToFrame(x)
while emu.framecount() <x> -1 then
	if emu.framecount() < fastestFrame then 
		savestate.save(100) 
		fastestFrame = emu.framecount()
		end
	end
end

running = true
while running do
	if emu.framecount() == 900 then --load state late so it won't fuck up audio or crash
		savestate.load(1)
		startFrame = emu.framecount() --get start frame for comparisons
	end
	if emu.framecount() > 1000 then getToFrame(39960) end
	while (emu.framecount() > 1000) and running do --start after loading the first state	
		if emu.framecount() > fastestFrame then running = false end
		if math.mod(emu.framecount(), 2) ~= 0 then --if odd frame, stick down right
			joypad.joystick(0,186)
			emu.frameadvance()
			savestate.save(101)
			joypad.joystick(228,0) --first turn around
		else --if even frame, stick down left
			joypad.joystick(255,186)
			emu.frameadvance()
			savestate.save(101)
			joypad.joystick(10,0) --first turn around
		end
		emu.frameadvance()
		joypad.joystick(128,255)
		emu.frameadvance()
		savestate.save(102) 
		keepSwimming() --first frame leaving
		savestate.load(102) 
		joypad.joystick(128,255)
		emu.frameadvance()
		emu.frameadvance()
		-- savestate.save(103)
		keepSwimming() --second frame leaving
		savestate.load(101) --restart loop
	end
emu.frameadvance()
if running == false then emu.message("HOLY SHIT IT FINISHED!") end
end
IronSlayer wrote:
Your counterargument would be like me saying that the Earth is round and then you telling me that I need to show it's flat so I can "prove us all wrong".
Seems legit.
Joined: 5/30/2013
Posts: 44
Location: Australia
Abahbob wrote:
Really the lua script is garbage and doesn't test enough frames and combinations to be perfect. It uses a special build of dolphin that I don't have anymore with some customized lua crap to be able to have joystick input. Also it has to be customized to each superswim and is insanely hard to understand. If you want it, here it is:
Cheers for that! If I ever learn more Lua, I'll try my best to fix your script for you. Edit: Abahbob, sorry for bothering you again. But do you still have the Lua source code to use that Joystick input? I completely derped out and didn't realize that I needed the source for that. If you do have it. Can you upload the file(s) on pastie so I can use it and (hopefully) improve the run? Thanks again.
Player (33)
Joined: 3/8/2012
Posts: 398
Location: Windfall Island
http://www.mediafire.com/folder/a98ay2xviea17/Joystick_Lua should have all the edited files needed. You're lucky I didn't actually delete it :P Lemme add some comments to that superswim script so you can actually tell what to edit.
--[[
states:
1: start
100: fastest
101: main superswim states
102: down 1 frame
]]
fastestFrame = 10000000000
fastestSpeed = 0
function checkAir()
checkFinished()
print(tonumber(memory.readfloat(0xabcfcc))) --speed address, changes every map
	if memory.readword(0x3bdc62) == 0 then --air address, shouldn't ever change
		return false 
	end
	if tonumber(memory.readfloat(0xabcfcc)) > -50 then --speed address, changes every map
		return false 
	end
	return true
end

function keepSwimming()
	while checkAir() do
		joypad.joystick(128,128) -- neutral stick
		emu.frameadvance()
	end
end


function getToSpeed(x)
while tonumber(memory.readfloat(0xabcfcc)) > -x do --speed address, changes every map
		if math.mod(emu.framecount(), 2) ~= 0 then --if odd frame, stick down right
			joypad.joystick(0,186) --right
			emu.frameadvance()
		else --if even frame, stick down left
			joypad.joystick(255,186) --left
			emu.frameadvance()
		end
end
end

function getToFrame(x)
while emu.framecount() <x> -1 then --speed address, changes every map
	if emu.framecount() <fastestFrame> 1000) and running do --start after loading the first state	
		if emu.framecount() > fastestFrame then running = false end
		if math.mod(emu.framecount(), 2) ~= 0 then --if odd frame, stick down right
			joypad.joystick(0,186) --right
			emu.frameadvance()
			savestate.save(101)
			joypad.joystick(228,0) --first turn around, not straight to where you wannna go, based on previous input
		else --if even frame, stick down left
			joypad.joystick(255,186) --left
			emu.frameadvance()
			savestate.save(101)
			joypad.joystick(10,0) --first turn around, not straight to where you wannna go, based on previous input
		end
		emu.frameadvance()
		joypad.joystick(128,255) --opposite of direction you want to go
		emu.frameadvance()
		savestate.save(102) 
		keepSwimming() --first frame leaving
		savestate.load(102) 
		joypad.joystick(128,255) --opposite of direction you want to go
		emu.frameadvance()
		emu.frameadvance()
		-- savestate.save(103)
		keepSwimming() --second frame leaving
		savestate.load(101) --restart loop
	end
emu.frameadvance()
if running == false then emu.message("HOLY SHIT IT FINISHED!") end --most important line in the code, do not remove.
end
should make more sense. A couple things, unlock your camera and move it slightly up. If it doesn't work the camera is too high or low. This script only works for moving you forward, so all the joysticks that are left, right, or turn arounds will have to be edited appropriately. This can get you diagonally 3 islands, or about 4 islands N, S, E, W. And here's the route if you're interested: https://docs.google.com/document/d/1wttBXGQpVcnWp8xiAun4B0VL34vF0Au8KpLmkc1qK5s
IronSlayer wrote:
Your counterargument would be like me saying that the Earth is round and then you telling me that I need to show it's flat so I can "prove us all wrong".
Seems legit.
Joined: 5/30/2013
Posts: 44
Location: Australia
Awesome! Thanks again man! REALLY appreciate that!! :D
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
CGF95, you will be continuing from abahbob's WIP or doing your own stuff? And be sure to post lots of yummy WIPs and try out Gohma Storage/bombs on Gohdan :3
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
Joined: 5/30/2013
Posts: 44
Location: Australia
Hopefully both haha. Just remember, I'm a beginner. But I read alot of stuff that I'm interested in. Like TASing lol. It will be a long journey and if I ever lose motivation, I'll be sure to release the .dtm file to people who are interested! And I'll be sure to do alot of crazy stuff and possibly finding my own stuff :3
Player (33)
Joined: 3/8/2012
Posts: 398
Location: Windfall Island
My WIPs were outdated. The first superswim should be re-done with that script.
IronSlayer wrote:
Your counterargument would be like me saying that the Earth is round and then you telling me that I need to show it's flat so I can "prove us all wrong".
Seems legit.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
I think for a game as incredibly hard to optimize, hard to route, hard to optimize movement in and steadily being broken as this it would be acceptable to keep the TAS going even if improvements are found to earlier parts. Otherwise you get stuck in an infinite loop of fixing the first 10-20% of the TAS and get burned out.
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
Active player (434)
Joined: 2/5/2012
Posts: 1688
Location: Brasil
Patashu wrote:
I think for a game as incredibly hard to optimize, hard to route, hard to optimize movement in and steadily being broken as this it would be acceptable to keep the TAS going even if improvements are found to earlier parts. Otherwise you get stuck in an infinite loop of fixing the first 10-20% of the TAS and get burned out.
amen to that.
TAS i'm interested: megaman series: mmbn1 all chips, mmx3 any% psx glitched fighting games with speed goals in general
Former player
Joined: 2/19/2007
Posts: 424
Location: UK
I agree. I think restarts due to new tricks should mostly be avoided, because:
  • It burns people out
  • You might not be the only person interested in doing that game, and having a good, if improvable, TAS published gives others something to compare with
  • A published TAS may increase interest in the game, and inspire others to try to improve it.
Publish early, publish often. By the time your re-re-re-restarted TAS would be finished, you could have have a v3 TAS published in stead. And since that would have gotten more feedback (and possibly competition!), it would probably be better, too.