Post subject: Wacky new category concept: Shortest Input Cycle
Personman
Other
Joined: 4/20/2008
Posts: 465
For some reason, thinking about Twitch Plays Pokémon lead me to the following question: For a given game, what is the shortest series of inputs which, when repeated indefinitely, will eventually complete the game? I don't have a good name for this category, nor am I at all sure that anyone would ever want to try to make a movie that explores it ^_^ But it seemed like an interesting new way to view a game as a puzzle, and one that TAS tools would be uniquely suited for exploring. Obviously, every TAS is already an entry in this category, just not a very good one. In many, many cases, the very beginning and very end can be made to overlap trivially (e.g. in any justice-based right-holder). It seems like maybe a good cutoff point for "Is this worth considering" is if you can shorten to the input to at least half of the total length of the movie file, ie., cause it to loop fully at least once, though maybe it could still be interesting to do less than that. In the extreme case, it would be pretty magical to find a 50-frame loop that beats a multi-hour RPG or something, but that will probably never happen. Anyway, just this just came to me and I thought some people might get a kick out of thinking about it, so here it is. Has anyone ever done anything similar?
A warb degombs the brangy. Your gitch zanks and leils the warb.
Spikestuff
They/Them
Editor, Publisher, Expert player (2656)
Joined: 10/12/2011
Posts: 6449
Location: The land down under.
I'm going to say N?K and I win. 55~56 inputs per round (average). #4192: Spikestuff & NhatNM's PSX Tekken 2 in 02:11.78 If not possibly a second or third place. But the thing seems more restricted to fighters.... so no.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
Spikestuff wrote:
I'm going to say N?K and I win. 55~56 inputs per round (average). #4192: Spikestuff & NhatNM's PSX Tekken 2 in 02:11.78 If not possibly a second or third place. But the thing seems more restricted to fighters.... so no.
But you use different inputs each time, so surely that doesn't count? And before anyone else brings it up: In Rampage you can just spam (I think it's A) over and over to keep using continues and the game eventually completes itself due to everything timing 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
Spikestuff
They/Them
Editor, Publisher, Expert player (2656)
Joined: 10/12/2011
Posts: 6449
Location: The land down under.
Patashu wrote:
But you use different inputs each time, so surely that doesn't count?
It says repeated indefinitely which doesn't break a rule? Heck if it does, that means nothing qualifies for it.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Player (146)
Joined: 7/16/2009
Posts: 686
Didn't adelikat hack FCEUX to do sort-of-this with Super Mario Bros.? If that version still exists, it should be possible to use for this. At the very least, it's an interesting concept.
Spikestuff
They/Them
Editor, Publisher, Expert player (2656)
Joined: 10/12/2011
Posts: 6449
Location: The land down under.
Scepheo wrote:
Didn't adelikat hack FCEUX to do sort-of-this with Super Mario Bros.? If that version still exists, it should be possible to use for this. At the very least, it's an interesting concept.
Bizhawk. Also not a hard find. (if you know what you're doing) #3912: adelikat's FDS Super Mario Bros. 2 in 115:17:46:40.00
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Post subject: In which Alden waxes nostalgic, and repeats Patashu.
Player (121)
Joined: 2/11/2007
Posts: 1522
Patashu wrote:
In Rampage you can just spam (I think it's A) over and over to keep using continues and the game eventually completes itself due to everything timing out.
Yep. ps you kids with your lua scripts don't know how easy you got it, why in my day i had to use stickykeys uphill both ways to school in the snow
I make a comic with no image files and you should read it. While there is a lower class, I am in it, and while there is a criminal element I am of it, and while there is a soul in prison, I am not free. -Eugene Debs
Personman
Other
Joined: 4/20/2008
Posts: 465
Spikestuff: I'm pretty confused about how that N?K video has anything to do with this topic. I think that it doesn't? Since I guess there is some confusion about what I meant by 'indefinitely', I will attempt to elaborate: 1. Write down a sequence of button inputs (like the first n frames, maybe all of them, of any current TAS). 2. Load a ROM, start recording, feed inputs from your sequence into the emulator, wrapping back to the beginning when you hit the end. 3. If the game is eventually completed, stop recording. You have now demonstrated that it can be beaten with a cycle length of n. Scepheo: Adelikat's infinite mario TAS is definitely playing around in the same space as this, and may have subconsciously influenced my thinking about it. Not quite the same, though, since it has a complete playthrough in each loop, designed to account for the small variations, and never terminates. But it is very cool! alden: So, it looks like your Rampage run has a period of 6? Would it still work with a period of 2, just autofiring A the whole time?
A warb degombs the brangy. Your gitch zanks and leils the warb.
Player (146)
Joined: 7/16/2009
Posts: 686
Personman wrote:
Scepheo: Adelikat's infinite mario TAS is definitely playing around in the same space as this, and may have subconsciously influenced my thinking about it. Not quite the same, though, since it has a complete playthrough in each loop, designed to account for the small variations, and never terminates. But it is very cool!
I was talking more about the emulator hack. It allows you to record some input, and then loop the rest of the input. If you instantly start looping, this emulator hack could actually be used to record and play back such movies as you suggest.
Active player (309)
Joined: 8/21/2012
Posts: 429
Location: France
Hey, Personman, I had the exact same idea after seeing adelikat's infinite run at the time :D (and learning about how he managed to loop the input sequence) It's all about finding the smallest list of inputs to loop in order to finish a game... But it would be a nightmare to do, because every little change like adding or removing inputs (changing the lenght of the loop when creating that "run") would really change everything for the whole run. I tried thinking about some genres where it would be "easier" and I still don't have a good idea, maybe a really simple shoot em up, or a shooter like Time Crisis, but a basic one (but that would be boring, it would just involve firing almost everywhere, the only difficulty could be bosses). It can be interesting with a platformer, you just have to find someone crazy enough to attempt it ^^.
Personman
Other
Joined: 4/20/2008
Posts: 465
Grincevent: That's really neat that you had the same thought! :D This might be tractable for individual levels of platformers. I might try to play around with SMB or SMB3 level 1 later... Scepheo: Oh, I see! Sorry for misunderstanding. It is nice to have an existing tool for trying this out, I suppose!
A warb degombs the brangy. Your gitch zanks and leils the warb.
Emulator Coder, Skilled player (1114)
Joined: 5/1/2010
Posts: 1217
Personman wrote:
1. Write down a sequence of button inputs (like the first n frames, maybe all of them, of any current TAS). 2. Load a ROM, start recording, feed inputs from your sequence into the emulator, wrapping back to the beginning when you hit the end. 3. If the game is eventually completed, stop recording. You have now demonstrated that it can be beaten with a cycle length of n.
Would allowing looping back to arbitrary point be interesting (the infinite SMB2j did that)?
Joined: 7/2/2007
Posts: 3960
Grincevent wrote:
Hey, Personman, I had the exact same idea after seeing adelikat's infinite run at the time :D (and learning about how he managed to loop the input sequence) It's all about finding the smallest list of inputs to loop in order to finish a game... But it would be a nightmare to do, because every little change like adding or removing inputs (changing the lenght of the loop when creating that "run") would really change everything for the whole run. I tried thinking about some genres where it would be "easier" and I still don't have a good idea, maybe a really simple shoot em up, or a shooter like Time Crisis, but a basic one (but that would be boring, it would just involve firing almost everywhere, the only difficulty could be bosses). It can be interesting with a platformer, you just have to find someone crazy enough to attempt it ^^.
I'm now imagining an emulator mode where it shows multiple displays, each one corresponding to one loop of the input. So when you changed the input, the emulator would re-run the entire game and let you see the corresponding variations in gameplay in each loop. That would rapidly show you that e.g. on loop #36 Mario falls into a pit because you changed the B button press to be 1 frame later. Of course, this would mean simulating thousands of frames each time you changed the input, which gets computationally expensive...but I think that this concept is unlikely to get much traction outside of simple NES/Gameboy games anyway simply due to game complexity increasing.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Post subject: Re: Wacky new category concept: Shortest Input Cycle
Joined: 5/13/2012
Posts: 18
Personman wrote:
For some reason, thinking about Twitch Plays Pokémon lead me to the following question:
And for some reason this part of your post made me think about this idea: 1-Get the fastest tas file for pokemon blue (reason for blue will be said later) 2-Use this file as a seed to make a order 1 markov chain table (http://en.wikipedia.org/wiki/Markov_chain). 3-Make a program that play the emulator using this markov chain table. 4-Markov Chain plays pokemon blue. PS:The reason behind playing pokemon blue is that you can catch meow that can use payday to get money, money is needed to enter safari and the markov chain playing the game will run out of money. PS: In markov chain table, combinations of buttons are considered different buttons, so "press A" is considered a different button from "press A and UP" Tas Start and Tas stop are also considered "keys" This could be made in 3 ways. Way 1 "Tas end" is removed from table. First key generated is Tas started. Program continue until it beat the game. Way 2: 1- "Tas end" is removed from table. 2- The program generate random random key based on how likely they are to be pressed. 3-If this key generated is not "tas start", generate the keys before this one until it generates the "tas start" key. 4- Video start and play the already generated keys up to the first one generated in step 2. 5-Then continue from there generating the next keys until it beat the game. This is "truer to markov chain spirit" than way 1 but you need to geneate some keys before the video start to broadcast, so some stuff is not generated live.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
The thing about a markov chain for a pokemon RBY TAS is that it mashes buttons randomly for no reason other than to manipulate the RNG, so it will be very 'noisy'
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/13/2012
Posts: 18
Patashu wrote:
The thing about a markov chain for a pokemon RBY TAS is that it mashes buttons randomly for no reason other than to manipulate the RNG, so it will be very 'noisy'
There is already RNG plays pokemon, markov chain one, would be just less random version of it.
Post subject: In which Alden presses A periodically.
Player (121)
Joined: 2/11/2007
Posts: 1522
Personman wrote:
So, it looks like your Rampage run has a period of 6? Would it still work with a period of 2, just autofiring A the whole time?
I definitely tested out a period of 2; it either didn't work at all or ended up being slower in the long run. Either way I think it's definitely a contender for shortest period (though trivial and uninteresting). I was actually considering yesterday that "Twitch Plays Rampage" would probably finish much quicker than Pokemon or SMB (SMB will never finish :P). Having it be 2 player might be better in that case. Another amusing one might be Sonic 1 or 2... hold right, and jump. You could finish at least the first level that way I suspect.
I make a comic with no image files and you should read it. While there is a lower class, I am in it, and while there is a criminal element I am of it, and while there is a soul in prison, I am not free. -Eugene Debs
Post subject: Re: In which Alden presses A periodically.
Skilled player (1743)
Joined: 9/17/2009
Posts: 4986
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Joined: 9/27/2011
Posts: 207
Location: Finland
I'd like to point out this is highly reminiscent to the problems of composing the likes of fugues and canons.
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
Didn't the Street Fighter 2 TAS for Zangief say, "We used a lot of tricks since going fast would be the same input over and over."
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Joined: 9/27/2011
Posts: 207
Location: Finland
They probably didn't mean the exact same inputs, just the general strategy for winning fast.
GoombaHeart
He/Him
Joined: 7/11/2015
Posts: 131
Location: Winters
An arbitrary code one could be particularly interesting.
Shit tier TASer.