(Link to video)

Game objectives

  • Emulator used: lsnes rr2-β15
  • Demonstration
  • Heavy glitch abuse
  • Heavy luck manipulation

Comments

My first submission of 2014 is a Total Control TAS. I would suggest watching the movie before reading this submission text. Since this run was (just) streamed at AGDQ 2014, you can say that this was console verified :D. As you might notice, this TAS doesn't aim for speed and the reason why it doesn't end on last input is because I wanted the last picture as a suggested picture.

How did you do this?

If you really want to know then I suggest reading the submission text of the glitched SMW TAS, as the first around 100 seconds (until the game-breaking glitch) are the same.
In short: I manipulate where the moving objects (sprites) are located or where they despawn, then I swap the item in Yoshi's mouth with a flying ?-block (thus the yellow glitched shell) and using a glitch (stunning) to spawn a sprite which isn't used by SMW and since it tries to jump to the sprite routine location, it indexes everything wrong and jumps to a place I manipulated earlier with the sprites (OAM) and because of the P-Switch it jumps to controller registers and from there the arbitrary code execution is started.
Even shorter: Magic.

This run and the TASBot

So this TAS was designed to sync on the TASBot by true and dwangoAC. For example, I was limited by using only 3 multitap frames while I'm able to do 30. Though the bot can use all 8 controllers (2 multitaps) and since every controller has 16 buttons, that means 16 bits or 2 bytes for each controller, which are 2*8=16 bytes per multitap frame and 16*3=48 bytes per frame.

Suggested Screenshots

Thanks to

  • p4plus2 for helping me with more experienced ASM stuff
  • everyone that gave me weird ideas what to include in this run :D
  • AGDQ 2014 for creating a huge time pressure for me (that wasn't actually good)
  • true and dwangoAC for the console verification of this
  • YI2 for being the perfect level for Total Control

feos: Judging...
feos: Added AGDQ TASBot stream.
feos: This TAS is definitely TEH GREATEST MOVIE EVAH. Which somehow didn't prevent flamewars about it. First, I'll say about the similarities of this and the current any% run.
They use the same input to setup total control. It is known to be optimal, the fastest. Which means there is no copyright on it - in some cases only certain combination of button presses can be used to achieve the best result, and no matter how you alter it, it's basically the same.
None of these movies is a playaround within that setup time, so artistic choices would not matter. The way it is done is, again, the fastest. And therefore it was directly picked to be used in this submission (by the same author).
So what is the actual difference, after total control is gained? The any% run completes the game as fast as possible. It jumps right to the ending sequence. It is a world record in SMW. This submission does not complete the game. It does not jump to real ending. And it does not aim for speed (shortest input). Its goal is to demonstrate a concept: what can be done within SMW when total control is gained.
Second, due to heavy time pressure (AGDQ 2014), what we see here is what Masterjun came up with overall. It may be not perfect for everybody, so there is a room for obsoletion - if better stuff is programmed within total control. But for now it is the best payload existing. And posts and votes on this submission prove that.
Since this movie's goal is in no way speed, it can not be obsoleted by reaching the total control point faster, or by making input during total control shorter. Only by providing a better payload. Which will be judged by the audience response. If people like the new movie more (as happened with Pokemon total control), this one will be obsoleted by it.
Sum: accepting as a new branch.

1 2
7 8 9
Joined: 11/9/2012
Posts: 23
this is another of the guy who said “yes” or whatever; quality post stop spamming *Edit. Point of the post for people that don't get the joke. Useless posts that just complain that one person does not agree can be copy/pasted to the same person that said that.*
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
Cyber_Kun wrote:
this is another of the guy who said “yes” or whatever;
which are in the majority, yes your point being? you’re keeping up the spam, stop
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Cyber_Kun wrote:
*Edit. Point of the post for people that don't get the joke. Useless posts that just complain that one person does not agree can be copy/pasted to the same person that said that.*
Well, I'm not laughing. In fact, I'm getting a headache trying to figure out why anyone would want to obsolete an any% run with a playaround. I mean, don't we have the vault tier for pure speed oriented runs or was that once again changed?
Joined: 6/4/2009
Posts: 893
i don't get why everybody is so worked up if everybody want to compare this run then use the pokemon yelow submitions one finish the game , the second runs code we already agreed that a better code execution would be the obselete requierement as exemple the original MLP demo was obseleted by a PI day themed demo now on the sames bases i think this run should be accepted and if a better demo than "code another game in a game" is made then this run would be obseleted as for the "last input like the old demo, it should be when the payload as been fully injected. the inputs showing that the payload work is not needed (as we have a live video showing that they work) gosh do we really need to get THAT serious for so simples details?? i guess that tas is definitly SERIOUS BUSINESS...
Joined: 5/8/2010
Posts: 177
Location: Entropy
This TAS just can not get anything less than a BIG YES. I do love the reaction in the background on the AGDQ 2014 fundraising. My jaw almost dropped when I say the end of the TAS. Nice going!
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
Nicos wrote:
i don't get why everybody is so worked up if everybody want to compare this run then use the pokemon yelow submitions one finish the game , the second runs code we already agreed that a better code execution would be the obselete requierement as exemple the original MLP demo was obseleted by a PI day themed demo
good comparison
Patashu
He/Him
Joined: 10/2/2005
Posts: 4017
Why do people complain that this and the any% run start the same, when yellow any% and yellow 'pi day' also start the same?
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
Editor, Skilled player (1939)
Joined: 6/15/2005
Posts: 3247
Patashu wrote:
when yellow any% and yellow 'pi day' also start the same?
Technically, they don't quite start the same (the any% does not give the rival a name, but the pi day one does). They also differ in glitch execution; the any% does not use arbitrary execution.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14884
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [2513] SNES Super Mario World "arbitrary code execution" by Masterjun in 02:25.19
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
“Masterjun builds upon his previous work at destroying Super Mario World by programming some simple games in using only controller input!” “in using only controller input” is that supposed to be correct? shouldn’t it be “by only using”? congrats to Masterjun for publication :)
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
I think it's supposed to be "in" like programming some games into/inside another game.
Noxxa
They/Them
Moderator, Expert player (4139)
Joined: 8/14/2009
Posts: 4083
Location: The Netherlands
There should be a comma after "in", for clarity. Right now that part of the sentence looks a bit off.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
Mothrayas wrote:
There should be a comma after "in", for clarity. Right now that part of the sentence looks a bit off.
oh, now it makes sense I think just “in,” would still sound iffy, though; why not go all the way: “inside it” or something?
Joined: 2/16/2005
Posts: 462
I thought the run was amazing though the payload could have been better. In particular I think it should have had more custom spirtes / other assets to make it absolutely clear what was happening was not a part of the original game. I'd loved to have seen the reaction to throwing in characters from non-nintendo franchises like sonic and megaman.
This signature is much better than its previous version.
Editor
Joined: 11/3/2013
Posts: 506
asteron wrote:
I think it should have had more custom spirtes / other assets to make it absolutely clear what was happening was not a part of the original game.
That would have taken a lot longer to input though. Remember that it took nearly 2 minutes just to load some balloons into Pokemon Yellow.
Joined: 2/16/2005
Posts: 462
thatguy wrote:
asteron wrote:
I think it should have had more custom spirtes / other assets to make it absolutely clear what was happening was not a part of the original game.
That would have taken a lot longer to input though. Remember that it took nearly 2 minutes just to load some balloons into Pokemon Yellow.
Well it looked like this one only spent 2 or 3 seconds though in loading the payload. I don't think anyone would have minded that going up to 10-15seconds, that should be enough for a couple kilobytes? I'm assuming the bandwidth of the SNES controllers is faster due to more buttons and more controllers.
This signature is much better than its previous version.
Noxxa
They/Them
Moderator, Expert player (4139)
Joined: 8/14/2009
Posts: 4083
Location: The Netherlands
The Gameboy has 8 buttons to send input, which would be good for 1 byte per frame. The SNES has 8 controllers with 16 buttons to send input, and input can be sent at least 3 times per frame to sync on consoles - that's 48 bytes per frame. Without console verification in mind, that can go up all the way to 480 bytes per frame. Even just for console verification, it's possible to input about 3Kb of data per second (compared to Gameboy's 60 bytes per second). That's enough to get a lot done in just a few seconds. (Also, I think bortreb's payload was mostly so long because it consisted of importing and interpreting a midi file for music output, and importing and interpreting a png file for the image. Just raw sprites would probably be much shorter to do.)
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Joined: 2/5/2011
Posts: 14
Location: Washington, DC
I absolutely loved this run. Really entertaining to watch, I wouldn't change a thing.
If you must choose between two evils, pick the one you've never tried before :P
Emulator Coder, Skilled player (1141)
Joined: 5/1/2010
Posts: 1217
Mothrayas wrote:
The Gameboy has 8 buttons to send input, which would be good for 1 byte per frame.
One can spam read of relevant hardware register (IIRC, 0xFF00) to get data faster than 1 byte per frame. I haven't tried how fast one could actually read it. The hardware register actually reads one nibble at a time.
Mothrayas wrote:
The SNES has 8 controllers with 16 buttons to send input, and input can be sent at least 3 times per frame to sync on consoles - that's 48 bytes per frame. Without console verification in mind, that can go up all the way to 480 bytes per frame.
IIRC, when I tested no-limits read speed, I got something like bit over 1024 bytes per frame. Of course, that is burst speed, only maintainable for a bit over a second. Moving the data somewhere else (e.g. APU or PPU) will slow things down.
nesrocks
He/Him
Player (241)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
This TAS is the pinnacle of tasing. It is the best TAS I have ever seen. How could I miss this... I saw it on destructoid a few minutes ago.
Post subject: - this run colors a Deignosaur and eats at Deign's.
Former player
Joined: 1/17/2006
Posts: 775
Location: Deign
GeminiSaint wrote:
Glitcher wrote:
If it includes a reference to My Little Pony.
It could play a music from the show and there could be balloons in the background and... oh wait
and... it could eat at joe's, and color a dinosaur! Certainly those things would be more relevant to this site than mlp would.
Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign aqfaq Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign
Tub
Joined: 6/25/2005
Posts: 1377
Mothrayas wrote:
Even just for console verification, it's possible to input about 3Kb of data per second (compared to Gameboy's 60 bytes per second). That's enough to get a lot done in just a few seconds.
The SNES has 128kB of Ram, 64kB of video ram and 64kB of audio ram. Even if you need to fill all those to the brim, it takes no longer than 85 seconds (using tasbot) or 8.5 seconds (on an emulator). Though if you're going through the trouble of programming something that large, you're sufficiently familiar with SNES programming to simply add a progress bar during loading.
m00
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Once you're at that point, there actually is no limit what you can program in. You can have controllers 1 and 2 playing through whatever you created, while the other 6 are adding more to it and modifying what's already there. You could cycle through game after game, or have additional levels for games being created as previous levels are being completed by the player(s).
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Post subject: Brought to you by your favorite news media
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Former player
Joined: 6/30/2010
Posts: 1093
Location: Zurich, Switzerland
The most fabulous thing I could imagine for this category would be to program SMB 3 into SMW and beat it with an exact copy of the famous TAS by Morimoto. Then you would have won. Everything ever.
Current project: Gex 3 any% Paused: Gex 64 any% There are no N64 emulators. Just SM64 emulators with hacky support for all the other games.
1 2
7 8 9