Submission Text Full Submission Page
This total control run of Pokemon Red played on a Super Game Boy by TASBot was presented at Awesome Games Done Quick 2015 and is widely known as "Pokemon Plays Twitch", presented here in a more illustrative way by adding extra button presses after the payload completes thanks to a Lua script from Ilari. If you are unfamiliar with Pokemon Plays Twitch, I recommend starting with this Ars Technica article that describes the event and what we were able to accomplish, as well as the videos showing the presentations we did in front of 100,000+ live viewers (archive.org or on YouTube for part 1 and part 2). As noted below, the submission text that would normally be found here can instead be found in issue 0x10 of the PoC - please consider the article to be the detailed technical description of this run.

Authors

While many, many people contributed in various ways, the movie file itself contains input from three people - Ilari, p4plus2 and dwangoAC. Before I (dwangoAC) go any further I must credit Ilari for all of his hard work, without which this whole project would never have been possible. Credit also goes to p4plus2 for his amazing payload. Masterjun contributed the item swap order converted over from Pokemon Yellow but none of his input ended up in the final run; his contributions are no less notable, however, so I've placed credit for his work in this section. See the end of these notes for the full list of credits.

Accomplishments

  • Successfully completes a Super Game Boy enabled game
  • Hijacks said SGB and deliberately crashes part of it
  • Transfers data at 3,840 bytes a second
  • Plays back the full screenplay presented at AGDQ 2015
  • Explains things better than this text can
  • Allows Pokemon to Play Twitch chat
  • Shows how TASBot wins the internet

Teaser poster from the article by Ange Albertini

Comments

Usually here at TASVideos, authors use the submission notes to explain what's going on in the game. In this case, the run is going to describe *itself* at a datarate of 3.8k per second (in reality thanks to 5-bit lowercase letter encoding we manage to eke out more characters per second than we would otherwise, but I'm getting ahead of myself - see the description for full details on this and much more). In brief, this run starts with the full screenplay as shown in the second presentation from AGDQ 2015, followed by a rapidfire presentation of all printable characters, emoticons, and emoji, and finally a full description of how everything was accomplished.
To properly read the explanation by watching the movie you'll need to frame advance or pause and unpause frequently. While novel, this is perhaps not the best method to consume this information in part because things like B) are interpreted as emoticons and the script strips characters like < and >, but this is the full contents of an article that can be found in issue 10 of the International Proof of Concept or GTFO Journal which was distributed in print form to attendees at ShmooCon 2016.
The text in the article was written by Ilari, p4plus2 and I. The article itself references this submission by URL / submission ID and the article had to be completed early enough to allow the article to be sent to the printing press to be distributed at ShmooCon, meaning there was an intermediate time where this submission existed without proper documentation about it. During that intermediate period, FractalFusion took it upon himself to transcribe the entire article text from the movie which amused all of us greatly.

Encode with all button presses displayed

Also, a hardware verification encode is available at: https://youtu.be/NTzrbhCTEhw

Movie file and emulator notes

The original submission file was pretty evil; I uploaded it with the wrong gametype to get past the not-yet-complete (at the time) lsmv file check that cannot currently understand SGB games. Mothrayas was able to correct the problem and replaced the submission file with an updated version that can now be considered an intermediate file. The *actual* movie file that should be associated with this is issue 10 (simply rename the .pdf to .lsmv) but at 55 MB it is too large to submit given current site restrictions. To play the movie, the Gambatte core.so library must first be loaded via File -> Load -> Load shared object / Load linked library. This has been confirmed to work in both Linux and Windows with the lsnes build "Beta - rr2-β23 with SGB Core" (Windows build).

Full Credits (using the same format as the run)

dwangoAC: Main project organizer
and presenter, primary tester,
Stage 0/1 movie files, PR
Ilari: Emulator coder (lsnes),
developer of Stages 3-5, payload
tester, game mechanic researcher
p4plus2: Primary payload author,
encoding scheme creator, SNES
expert, general stage 3-x help
Masterjun: Stage 0/1 original
idea and research, SNES advice
micro500: Wiring harness build,
Python IRC to bot streaming,
poll speed firmware modification
true: Creator of NES/SNES Replay
device, reset handling updates
TheAxeMan: Python script support
ais523: Data encoding assistance
Nach: SGB docs, site defacement
Tompa: On-site hardware support
padz: Pokemon Red research
Vulajin: Camera serial interface
twm: Initial IRC Python script
Full article in next PoC||GTFO!

Mothrayas: Updated submission file.

Nach: This run is quite a technical marvel. I want to stress that a ton of effort went into making this run itself, from improving emulators, exploiting mistakes in a game, working around limitations, using overlooked system features, writing new code in two different languages, to displaying a brand new program in an extremely creative and unexpected way. Despite what this run does however, it must be judged on its merits of itself, not the merits of what the same technology did for a demonstration at a popular gaming conference.
To start with, let me lay out any bias I may have due to my contributions before I get into specific analysis of this run itself. I was involved with the team to prepare for the aforementioned gaming conference. I got people together in an IRC channel to work together, I contributed some build scripts to make it easier for some collaborators to get software building, and I packaged up some binaries for various collaborators. I also did research on how to get an SGB to run SNES code from a DMG application which was necessary for this run. Lastly, I provided an interface to allow the aforementioned demonstration to deface the site. Due to my involvement, I am inclined and have incentive to want to see a run like this published. However, I am going to be focusing on what this run itself does and splitting that from the demonstration as a whole. While I assisted in the production, I do not believe my contributions are significant enough to bias any decisions I make, and we can agree that some of them like defacing the site doesn't actually occur with the run submitted here.
To begin analysis, one must realize what this run is not. This run does not deface any websites, it does not control any cameras, and it most certainly does not play Twitch. In fact, this run does no networking of any kind. As a Magician, I appreciate the intricacies of what this run portrays to the uneducated individual. However, in truth, this run is actually Pokémon Plays Notepad. It does nothing more with its payload than receive input which can be converted to text and displayed within a text-based output (emoticons and a brief screenshot aside). All the networking, parsing of IRC-based commands, controlling cameras, and everything else happened outside this run on some other computer during a demonstration. Nothing within the SNES itself was responsible for any of it.
As far as networking goes, this did NOT bring the Super Nintendo or Gameboy onto the Internet, nor introduce them to networking. The novelty of supplying hardware used alongside these consoles to supply network input for another player (or all the players) is hardly anything new. Emulators brought Internet play to games on these consoles long ago by providing their own network stack for input. Further, the XBand Modem precedes the creation of this run by more than two decades, and was officially sanctioned hardware for remote networked play. Various Gameboy consoles (including the SGB2) are also capable of real duplex networking on their own using the gamelink port or infrared communication. Making use of those could actually allow a future Pokémon hack to achieve true duplex networking without having the magician's assistant operating the mechanics behind the scenes.
Feedback for this run at the demonstration was wildly enthusiastic and extremely positive. Much of that enthusiasm spilled over into the discussion thread for this. For what the run itself actually does though (filtering those who were fooled), I could find little positive feedback (although there was some). Contrasting to some of our other total control runs, positive feedback for what this run actually does is quite slim in comparison. Judging this run solely on its own merits makes it hard to consider it significantly entertaining. From the standpoint of a viewer with no prior experience or expectations, this run does nothing more than print out some text somehow and show some imagery.
This run must also be considered against another Pokémon total control run. The precedent has been till now to consider DMG and SGB interchangeable as seen by numerous obsoletion chains. We've also toyed with the idea of drastically different cross-system obsoletions, although I'm not certain if we have a hard precedent to cite regarding this or not. As far as games go, we've had Blue and Red constantly obsolete each other, and we've even had one game obsolete a completely different game, making it difficult for me to consider one Generation 1 Pokémon game different enough from another. These runs don’t even make it out of the first room to a point where the gameplay itself significantly diverges (if we were even were to consider these differences significantly divergent). Internally, Yellow is actually a later iteration of the engine with considerable improvements removing bugs and a different compilation resulting in memory layout differences (like most other revisions in classic games). However, what can be seen in the run is ultimately what matters.
I've toyed with the idea of publishing this taking into account that it runs SNES code to differentiate it from the existing Pokémon total control run. However, after much deliberation, I find the argument lacking. From the viewpoint of creating this run, it could have been created on any SNES game with critical exploits, such as Super Mario World, and would even have had less limitations, but was intentionally not selected because the creators had something else in mind. Pokémon was intentionally selected because of a previous phenomenon known as Twitch Plays Pokémon, where players used an IRC channel to collaborate to play through Pokémon Red (and later, other games). The creators wanted to turn this on its head, and allow the game to take revenge so to speak. This is actually the most crucial determinant in which platform this game is for.
The creators also wanted to show off something more technically challenging than just controlling a DMG game. They wanted to show mastery of the SGB and SNES from a DMG game. However, that latter point is not a technical novelty, as Space Invaders already did this back in 1994, and it's even documented how to do so in the Super Gameboy programming manual, making it an officially sanctioned and somewhat expected feature of the SGB. This component was actually one of the least challenging in creating this run.
As far as TASing goes, we like showing off different techniques, and making use of SNES code is assuredly one of them. However, I have to consider this as subservient to the original game. Therefore, the fact that it runs SNES code is an optional technique to all runs in general for the original game, such as whether the run decides to make use of Fly or a glitch to acquire Mew in a random battle. At best we can consider this a different type of total control run, but it is still in fact a total control run for a first generation Pokémon game with gameplay beginning on a DMG processor.
Based on the lackluster positive feedback, and that publication would require another run to obsolete this on entertainment values, I cannot in good faith accept this for publication. However, the final nail in the coffin is actually that this run is not complete. All our runs complete something in some sense. They reach a game endpoint, or reach a point in the game where there is no new material, or they reach the end of a payload with has some kind of endpoint. All our total control runs with the exception of the previous Pi Day run reach a noticeable endpoint of a final cut scene or a special The End screen. Pi Day itself actually has a natural endpoint of exactly 3:14.15 seconds into the run (as well as other endpoints if dragged on to add additional digits to π). The conclusion to the input to Notepad in this run is entirely arbitrary. Therefore its very mechanics provide no natural conclusion and no definition for what kind of modifications to this run would be acceptable to obsolete it or not. I have no alternative but to reject this.

Nach: This is a bit unorthodox, but due to the nature of this run, dwangoAC asked me to include some groundwork on the kind of discussion and site improvements that would need to occur to make a run like this acceptable. This really isn't the place to discuss this, so if people want to do so, please start a new thread with the following material. Feel free to copy what you want, using each of the following sections as needed in each of their respective threads.
We have a two-fold problem in our current methods in classifying and organizing published movies which currently prevent us from publishing this and other runs. There are various loopholes and rule hacks we could employ to try and shove some runs into the existing framework. However, I think it better we fully analyze the issues at hand and properly deal with them, allowing the site to become better as a whole, inviting new contributions.
The first problem we face is a lack of conscious understanding of how to differentiate different kinds of total control or execution of arbitrary code runs. The site offers a categorization tool known as movie classes. Logistically, this tool allows site users to find runs of a certain genre or make use of certain techniques. More importantly however, it provides a conscious objective understanding of something certain runs do or don't do compared to others. Many of these movies classes share a direct relationship with the various branches of runs that exist for a particular game. Regardless of what the name of the branch is, which sometimes has identical categories under different names for different games (such as the different >100% 100% completion of the Donkey Kong Country series), there is generally that implicit relationship we have not yet made explicit. We really need some kind of effort to map all kinds of existing branches to movie classes to better consciously understand what objective criteria separates various runs. We then need to see if there are any would-be movie classes missing that our branching would indicate we should have.
The above point is all the more true regarding our various total control or execution of arbitrary code runs. They are clearly different from each other, however we haven't done anything to differentiate between them, and they are all lumped together in a single generic understanding. This lumping, or lack of sub-categorization, prevents us from accepting a wide range of these runs for a single game, as the underlying goal/objective or key differentiating factor is the same for them all. I already raised this point in another discussion nearly two years ago, actually predicting this and other recent runs, and perhaps future runs that we'll be seeing. I believe it's time we restart this discussion, and find some way to categorize different total control runs so we can accept multiple of them for existing games, where we find objective grounds to differentiate between multiple (not to mention organize them better and allow each genre to be searched for individually).
The second problem here is our overall classification of game runs or lack thereof. We relatively recently introduced a concept to the site known as tiers. However, we as of yet failed to make good use of this system.
The site was built upon showing off Tool-Assisted Superplays. The idea behind the superplay is a run which shows off something which is extremely difficult or impossible for a mere human to do, and doing it again and again in an entertaining manner. A by-product of this superplay is completing a game as fast as the game allows, often faster than is humanly possible. This is the superplay that is also known as the Speedrun.
The site originally accepted movies based on entertainment, but also acknowledged movies which went above and beyond in their superplaying, and best represented the TAS genre, and labeled such runs with a Star. The length aspect of each run was used to obsolete longer runs, and thus also showed the site was in some way a way to keep track of fasted possible records for a game. However, the superplay non-speedrun known as the playaround looks more at entertainment factors and techniques shown off, and actually longer runs are usually used in this case to obsolete the shorter. Since we wanted to find a way to allow any kinds of runs that were superhuman in completing games, even when lacking entertainment, tiers was born.
We invented the Vault in order to store runs which were not entertaining, but were the fastest completion of games in a mainstream manner. At the same time we shifted the concept of a Star to a pseudo-tier. I say pseudo-tier, because the sentiment on the site regarding Stars is still the pre-Tier definition. As a tier, there really should be an objective divider between what runs do or do not do in order to tier things one way or another. However, with Stars, we are still primarily looking at things at a percentage level which in no way objectively views the accomplishments of each run on its own. There is a sort of middle ground by stating Stars could be for top two or three runs which best portray their genre/platform/franchise, which on the one hand objectively views runs as the best of technique wise, but still pays some attention to outside factors. However, with various genres under-represented due to not being as entertaining to most of the audience compared to other genres, this hasn't really been accomplished either.
Returning to the main problem, we are not really tier-ing our runs, as we lack strong tier boundaries between much of them. We do view Stars as a tier above Moons, and Moons as a tier above Vault, something which I have no intention of changing, but we don't make use of this system to properly and totally differentiate between different runs and classify them properly. Tiers are directly tied to criteria that a run must conform to. Due to the open ended nature of the total control and other kinds of runs, we really do need a different set of established criteria on when to accept runs, how to view obsoletions and so on.
Resistance to creating new tiers generally has two arguments. The first is that we can find ways to hackalter the existing rules to find a way to shove in runs we wish to accept. This approach sort of works, but does reject many runs we'd like to publish somehow, muddles some of our rules, and also lacks acknowledgment that some runs are drastically different from each other. This first argument by some is also actually predicated on the second argument, that new tiers which by definition are not Moon nor Star must be unentertaining, or minimally, fail to acknowledge the entertainment factors in runs in these new tiers. However, this lack of acknowledgment can be easily overcome if new tiers are created in groups. Meaning, that if we decided we wanted tiers to cover runs which are technically impressive, using techniques like new code entered via controllers which is impossible for a human, we could simply make two of them. Both cover the technically impressive of this nature, but only one of them conveys that the run is also entertaining. The various lists on the site are then modified accordingly to add the new Grade-A tier here to the entertainment qualifying lists.
To be sure, we are seeing runs which take very different approaches to games than others. Overall, when we look at a run, we look at how the run behaves in the gameplay portion of it. We reject runs for sloppy gameplay, and obsolete runs when a newer run shows it performs the gameplay better. We tend to ignore what happens during the non-gameplay segments which change due to different versions of the game (switching between USA and Japan), or mistakes made in utilizing the in-game menus, not proceeding through them to the fullest (forgetting to exploit wrap-around or figuring out the menu system's controller poll mechanics). Yet at the same time, somewhat hypocritically, we do allow for runs to take advantage of these auxiliary features, such as exploiting buffer overflows in menus, or finding corruption bugs in the built-in save management features. A critical look into this phenomena indicates we should perhaps be splitting these things into two tiers, the runs which focus solely on the gameplay (or try to anyway), and those which exploit non-gameplay features somehow. This way, each can have its own set of rules as to what is considered good or bad play, and how multiple runs for a game compare against each other across versions.
Returning to the problem at hand, in my opinion, we need a way to classify these total control and similar runs. They need to have their own rules regarding completion criteria, as well as overall criteria on what is allowed and disallowed. I find a key factor here that games which lack these exploits are finite. Baring loops, there are a (nearly incalculable) finite amount of ways to complete a game. However, in games that we can add our own code, once we do so, there are now an infinite amount of ways to proceed. These two groups are now objectively distinct, and we really do need to come up with a set of rules for each. These rules we develop should take into account how the different groups of these runs differ from each other as I entailed in my presentation of the previous problem, and allow for many runs per game, but limit the infinite.
An important point to consider in developing a tier and rules for it is how a run makes use of the existing game once its payload begins. This run to my knowledge is the first run to no longer make any use of the game whatsoever once the payload begins. Meaning that the final payload can be ran on any SNES game once controller input to RAM becomes possible. Since it's not tied to a game, do we accept different runs of Notepad attached to Super Mario World, Super Metroid, Kirby Super Star, and others? Not only do we have to categorize what kind of diversity we allow for any given game, we need to limit how we apply this diversity to many different games, as I do not wish to publish the same virtually identical payload over and over.
I already began work in trying to define a new tier for these kinds of runs in order to spark some discussion. However, I find this initial work to be lacking in that it does not make use of yet to be developed movie class/branch criteria, and it does not supply a series of rules on how to deal with the aforementioned sub-problems in this tier problem. If we can iron these issues out, I'd be happy to enable the site to support it, and then accept this run if it conforms to the new rules.
In closing I want to add that runs like this which include payloads and play them take tool-assistance to their epitome input-wise, and we should put the effort in to properly acknowledge them.

Editor, Experienced Forum User, Skilled player (1293)
Joined: 12/28/2013
Posts: 394
Location: Rio de Janeiro, Brasil
SNES TAS of 2020TAS of 2015SNES TAS of 2015
Well, this is total control, and I found it extremely impressive in a technical point of view. I remember being amazed with this at AGDQ. I'm sure there was a lot of hard work behind this run and I congratulate the authors on this, you guys made an awesome job! However, I have to agree with Samsara about the entertainment factor. This run differs a bit from both SMW total controls runs and from the PI day run, and I think that's a negative point that worth to be discussed: I still didn't re-watch the PI day run, all I remember is that the letter PI was drawn many times, and pi was written to many decimal places. That was something visually interesting and easy to follow, while pretty entertaining in my opinion. In the first SMW run, 2 new games were programmed with input. That was something absolutely novel, that amazed a lot of people here as we remember. The second SMW run was even more amazing as it programmed the entirety of SMB, a much more complex game then Pong and Snake. This run doesn't have these same qualities the 3 previous had. What we see is a long text that goes up extremely fast and obligates us to pause the video to understand what is happening. Of course, after we pause the video and actually understand what is happening, it gets a bit interesting. And needing to pause the video to understand what is happening uses to be a positive point in a TAS, but I don't think it is a positive point in a total control run. It sounds weird to me to publish something that uses total control to create something that aims for entertainment, but you can't understand it if you watch the encode. Well, I'm not saying this should not be published, I honestly don't know. I just wanted to leave here this point of view. I'm sad to vote meh on this, as I imagine how hard it must have been to make such a complex ACE run. This TAS deserves without a doubt to be watched and it is nice that it exists. I'm just not really sure if it should be as a published run.
My YouTube channel: https://www.youtube.com/channel/UCVoUfT49xN9TU-gDMHv57sw Projects: SMW 96 exit. SDW any%, with Amaraticando. SMA2 SMW small only Kaizo Mario World 3
WST
She/Her
Active player, Experienced Forum User (323)
Joined: 10/6/2011
Posts: 1676
Location: RU · ID
Pokota wrote:
I love ACE shenanigans. Very Yes.
I love your avatar too. Very Yes.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Editor, Experienced Forum User, Skilled player (1798)
Joined: 6/15/2005
Posts: 3151
Glitchy TAS of 2013Gameboy TAS of 2013PSX TASer of 2010
I have transcribed the chat portion of this submission, the part where it scrolls with unreadably fast text (as it stands now according to https://www.youtube.com/watch?v=plVNKa9cQsg ). It's a little long. Exactly as shown, including formatting. Formatted for readability.
yybtcbk
He/Him
Joined: 12/27/2015
Posts: 1
Location: Tokyo, Japan
Total Control is great to watch, and I just love how the gradual increase of data rate can be seen via the input display, going from the once-per-two-frames cycle, all the way up to the subframe button presses! I enjoyed reading the mechanics of this run as well, despite the wrist pain from overclicking the play/pause button... Two points I'd like to ask are, at 4:04 in the current video, where the encoding is picturesquely explained: 1) should "BXXXXXXX" read as "EXXXXXXX" instead? (line 1648 in http://pastebin.com/T93sm9vf ) 2) should "0AAAABB" read as "0AAAAABB" instead? (line 1651 in above) (apologies in advance if I'm just missing something...)
Amaraticando wrote:
Tell me what can be improved, for the definite video.
It might be neat if you could show the effective code input in the spare space at the top/bottom of the video in real-time, if it's not too much work (i.e., if such Lua script or debug output already exists somewhere; I don't know if it'd be worth writing a script from scratch)... (edit: added question 2) (edit 2: strike out question 2 given below response; I didn't reckon the transcription was done manually; thank you for the quick fix as well as all the work put into that!)
Editor, Experienced Forum User, Skilled player (1798)
Joined: 6/15/2005
Posts: 3151
Glitchy TAS of 2013Gameboy TAS of 2013PSX TASer of 2010
yybtcbk wrote:
2) should "0AAAABB" read as "0AAAAABB" instead? (line 1651 in above)
Sorry about that. I made a mistake in transcribing the text. It is 0AAAAABB in the video. I fixed it now. I didn't check the code as closely as the other text so there may still be errors.
Experienced Forum User, Experienced player, Moderator, Senior Ambassador (844)
Joined: 9/14/2008
Posts: 916
Exotic platforms TASer of 2015Exotic platforms TASer of 2013
FractalFusion wrote:
I have transcribed the chat portion of this submission, the part where it scrolls with unreadably fast text (as it stands now according to https://www.youtube.com/watch?v=plVNKa9cQsg ). It's a little long. Exactly as shown, including formatting. Formatted for readability.
Well, I seriously should have expected this, seeing as it's exactly the kind of thing I would have done myself. :) I obviously have the full text available in better format than this and have every intention of posting it, but I'm quite amused that you went to so much work to transcribe this. It's very clear you did this literally using the "analog hole" rather than attempting to reverse-engineer the movie file, as I did a diff against my original file and I can see some places where things like 1's were replaced with l's. You are doing me a huge service, it turns out - I knew that emoticons (such as the :/ in URL's) were being converted but your transcription shows that <and> are also being replaced. I need to fix this at the same time I fix some other things, such as correcting my memory (Masterjun actually gave me BizHawk files that I then moved over to lsnes; I was confused because I thought I had used VBA and indeed I *had*, but that was when we were still basing everything off of the Pokemon Yellow run, before switching to Red, but I digress). I'm not at all upset, I'm quite thrilled someone did this. I hazard to think how many hours this took you. :) Note that there will be text changes in the final version of the article but I will release updated text at that time. FractalFusion, your act of dedication will be forever memorialized in some form in the article. Thanks for your work. (I'm actively working on an updated movie file; we are *still* fighting with trying to figure out a way to slow down the text as requested by several people in this thread but haven't quite cracked it yet; I'll get back to that as soon as possible, however.)
The TASBot community made our most significant run yet with Ocarina of Time Triforce% Showcase! The TASBot Discord server has a #triforce-percent channel about the run that helped raise $227k for Doctors Without Borders during SGDQ 2022. I'm posting TAS content on YouTube.com/dwangoAC based on live streams from Twitch.tv/dwangoAC. If you can help defray charity event costs via Patreon.com/dwangoAC my kids and I would be very thankful.
Experienced Forum User
Joined: 12/29/2007
Posts: 483
What's making it difficult to slow down the text? During the actual Pokemon Plays Twitch run there were certainly several pauses in between lines as Twitch chat users don't output stuff continuously. How was the text slowed down then? As I'm sure I've said before I've been waiting for this very run to be submitted for ages - awesome to see it's finally here! Clever to use the run's own submission text in lieu of actual Twitch chat. (Sorry I can't remember if this was already mentioned: are the MK64 and SMW-SMB1 runs also being considered for submission?)
Experienced Forum User, Experienced player, Moderator, Senior Ambassador (844)
Joined: 9/14/2008
Posts: 916
Exotic platforms TASer of 2015Exotic platforms TASer of 2013
Please replace the submission movie file with: http://acbit.net/static/tas/PokemonRedForPoCGTFOUpdatedSubmissionFile.lsmv This version *is* longer, but for reasons that should become apparent very soon. I've asked for an encode using Amaratica's display method. Thanks!
The TASBot community made our most significant run yet with Ocarina of Time Triforce% Showcase! The TASBot Discord server has a #triforce-percent channel about the run that helped raise $227k for Doctors Without Borders during SGDQ 2022. I'm posting TAS content on YouTube.com/dwangoAC based on live streams from Twitch.tv/dwangoAC. If you can help defray charity event costs via Patreon.com/dwangoAC my kids and I would be very thankful.
Editor, Experienced Forum User, Skilled player (1293)
Joined: 12/28/2013
Posts: 394
Location: Rio de Janeiro, Brasil
SNES TAS of 2020TAS of 2015SNES TAS of 2015
I loved the changes, it became much more interesting now! I'd vote yes this time.
My YouTube channel: https://www.youtube.com/channel/UCVoUfT49xN9TU-gDMHv57sw Projects: SMW 96 exit. SDW any%, with Amaraticando. SMA2 SMW small only Kaizo Mario World 3
Amaraticando
It/Its
Editor, Experienced Forum User, Player (151)
Joined: 1/10/2012
Posts: 672
Location: Brazil
TAS of 2015SNES TAS of 2015
Encode for the new movie Link to video
yybtcbk wrote:
Amaraticando wrote:
Tell me what can be improved, for the definite video.
It might be neat if you could show the effective code input in the spare space at the top/bottom of the video in real-time, if it's not too much work
If you mean printing the assembly code, it's a bit hard for me :(...
Post subject: Submission text updated
Experienced Forum User, Experienced player, Moderator, Senior Ambassador (844)
Joined: 9/14/2008
Posts: 916
Exotic platforms TASer of 2015Exotic platforms TASer of 2013
I've updated the submission text to include a scaled image of an amazing teaser poster made by Ange Albertini as well as an updated link to the above encode (thanks!). I also replaced the branch name now that the phrase "SGB" appears in the console name as the original branch name was redundant. Some people have asked if they can change their votes now that the submission file has been replaced but that is not possible; I will take the full consequences of this as I deliberately posted this file early in order to give the judges more time to decide so this can potentially be posted in 2015 (it would be silly to have it listed as 2016 after all of the hard work we put into it). All that to say I will leave it to the discretion of the judge to make a decision based on all feedback in the thread so please feel free to post your thoughts below. Thanks for the support, all!
The TASBot community made our most significant run yet with Ocarina of Time Triforce% Showcase! The TASBot Discord server has a #triforce-percent channel about the run that helped raise $227k for Doctors Without Borders during SGDQ 2022. I'm posting TAS content on YouTube.com/dwangoAC based on live streams from Twitch.tv/dwangoAC. If you can help defray charity event costs via Patreon.com/dwangoAC my kids and I would be very thankful.
Experienced Forum User, Experienced player (811)
Joined: 11/15/2010
Posts: 267
Definitely a yes vote. It is clear to me that this should be published here as an archive of the complete mastery and subsequent fun of pokemon plays twitch. It is a little sad that the submission doesn't have audience input, but that obviously isn't viable in this sort of static published format. The submission does link to the archive video of the live event which really captures the magic. The submission (and presumed publication) does well at capturing and explaining the feat though, and that seems important to me.
Experienced Forum User, Skilled player (1591)
Joined: 9/17/2009
Posts: 4883
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
GBA TASer of 2010
I've been thinking about the "PI Day" TAS. While it's been argued to keep it as is, the PI one also obsoleted the previous movie that played music with a familiar background due to being shorter to setup and more entertaining. Should that be applied to here as well? Doesn't seem fair not to for the original movie if this gets agreed as more entertaining but doesn't get compared to another "executes arbitrary code" movie of a similar game.
Experienced Forum User, Experienced player, Moderator, Senior Ambassador (844)
Joined: 9/14/2008
Posts: 916
Exotic platforms TASer of 2015Exotic platforms TASer of 2013
jlun2 wrote:
I've been thinking about the "PI Day" TAS. While it's been argued to keep it as is, the PI one also obsoleted the previous movie that played music with a familiar background due to being shorter to setup and more entertaining. Should that be applied to here as well? Doesn't seem fair not to for the original movie if this gets agreed as more entertaining but doesn't get compared to another "executes arbitrary code" movie of a similar game.
You're making the assumption that Pokemon Yellow on an original Game Boy / DMG is the same game as Pokemon Red on a Super Game Boy. I argue *quite strongly* that these are different games and this run should not obsolete any previous run. It's a completely different platform. :)
The TASBot community made our most significant run yet with Ocarina of Time Triforce% Showcase! The TASBot Discord server has a #triforce-percent channel about the run that helped raise $227k for Doctors Without Borders during SGDQ 2022. I'm posting TAS content on YouTube.com/dwangoAC based on live streams from Twitch.tv/dwangoAC. If you can help defray charity event costs via Patreon.com/dwangoAC my kids and I would be very thankful.
EgixBacon
He/Him
Experienced Forum User, Player (172)
Joined: 4/15/2013
Posts: 331
Location: In the attic
5:53 is the actual game screen, right? In that case, consider my mind officially blown. With that, here's a Yes vote, and here's to this year's event!
FanFiction|Youtube Still on Win7! Take that, Microsoft!
sack_bot
He/Him
Experienced Forum User, Player (105)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
Before I vote... I just have to know... What was the twitch thing? was the emulator sending to the internet?
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
Post subject: Console verification of Pokemon Plays Twitch run
Experienced Forum User, Experienced player, Moderator, Senior Ambassador (844)
Joined: 9/14/2008
Posts: 916
Exotic platforms TASer of 2015Exotic platforms TASer of 2013
EgixBacon wrote:
5:53 is the actual game screen, right? In that case, consider my mind officially blown. With that, here's a Yes vote, and here's to this year's event!
Yes, that is the, er, "website browser" browser we created in the SNES. It took p4plus2 quite some time to get the palette right for the number of unique colors. Most of them are dedicated to the purple area at the top. You'll note that the actual website was defaced as well, as captured on the Archive.org wayback machine.
sack_bot wrote:
Before I vote... I just have to know... What was the twitch thing? was the emulator sending to the internet?
The lsnes emulator Lua script was a one-way street and itself could not talk to the internet, but to create the input that we fed the Lua script I ran everything on the real console and the user tasred joined the Freenode IRC channel #tasbot and sat idle. No one said anything during that time so the bitstream of button presses that comprises the screenplay found in the https://github.com/TheAxeMan301/PptIrcBot repo as https://github.com/TheAxeMan301/PptIrcBot/blob/master/RedScreenplayCorrected.txt was uninterrupted, i.e. the only participants were from the screenplay as dwangoAC, TASBot, and RED (tasred on IRC due to the nick being taken on Freenode at the time). You'll note that this was not the case when I later did the same thing a second time while recording it with a camera: Link to video You'll see that near the end of the screenplay there's a brief, unrelated conversation from Ilari and I, which is exactly the kind of thing you'd expect out of IRC and is basically a short sample of what it would have looked like had we done this on the Twitch chat stream for AGDQ 2015. :) Thanks for your feedback!
The TASBot community made our most significant run yet with Ocarina of Time Triforce% Showcase! The TASBot Discord server has a #triforce-percent channel about the run that helped raise $227k for Doctors Without Borders during SGDQ 2022. I'm posting TAS content on YouTube.com/dwangoAC based on live streams from Twitch.tv/dwangoAC. If you can help defray charity event costs via Patreon.com/dwangoAC my kids and I would be very thankful.
Post subject: The full article is out! Please provide feedback on this run
Experienced Forum User, Experienced player, Moderator, Senior Ambassador (844)
Joined: 9/14/2008
Posts: 916
Exotic platforms TASer of 2015Exotic platforms TASer of 2013
I'm very happy to announce that the PoC||GTFO issue 0x10 issue is finally out, which contains the article that fully describes this run with diagrams, workflows, and much more. The article describes how to take the .pdf itself and run it as a movie file in lsnes which is a movie file equivalent to the one used in this submission. As noted, there was a chicken-and-egg problem; the article itself references this submission by URL / submission number but this run contains the article itself; I absolutely had to submit this run early in order to meet the deadline for the issue to be printed and subsequently distributed at ShmooCon 2016. I also initially hoped this could be accepted in 2015 but that was a secondary concern. I would like to respectfully request that this movie be re-voted on based on the new content, or if you've already voted, please provide feedback to help Nach make a decision. Thanks!
The TASBot community made our most significant run yet with Ocarina of Time Triforce% Showcase! The TASBot Discord server has a #triforce-percent channel about the run that helped raise $227k for Doctors Without Borders during SGDQ 2022. I'm posting TAS content on YouTube.com/dwangoAC based on live streams from Twitch.tv/dwangoAC. If you can help defray charity event costs via Patreon.com/dwangoAC my kids and I would be very thankful.
ars4326
He/Him
Experienced Forum User, Experienced player (683)
Joined: 12/8/2012
Posts: 706
Location: Missouri, USA
Well, I just watched the console verification and updated encode in Amaraticando's post. I've gotta say that I did get a kick out of watching the "payload" input HUD, as well as seeing TASbot display and mess with the colors on the home page. I do think this is a publish-worthy run; both in technical achievement and historical significance. My question, though, lies in the category. Would this fall into the 'demo' category, or 'executes arbitrary code', or both? Other than that, I hope my feedback helps!
"But as it is written, Eye hath not seen, nor ear heard, neither have entered into the heart of man, the things which God hath prepared for them that love him." - 1 Corinthians 2:9
Experienced Forum User, Experienced player, Moderator, Senior Ambassador (844)
Joined: 9/14/2008
Posts: 916
Exotic platforms TASer of 2015Exotic platforms TASer of 2013
ars4326 wrote:
I do think this is a publish-worthy run; both in technical achievement and historical significance. My question, though, lies in the category. Would this fall into the 'demo' category, or 'executes arbitrary code', or both? Other than that, I hope my feedback helps!
I would obviously prefer that this fell into a demo or technical showcase tier, but the site lacks that. Instead, this is an arbitrary code exploit on an entirely new platform and thus if it is deemed to be entertaining and is accepted I believe it should be placed in Moons, against SGB (not GB!), and *not* obsoleting any existing runs as it is in no way the same game or even the same platform as other previous arbitrary execution runs. I know I'm repeating myself, but this is something that I think it's very important I convey as I do not want to see other runs obsoleted. Thanks for the positive feedback!
The TASBot community made our most significant run yet with Ocarina of Time Triforce% Showcase! The TASBot Discord server has a #triforce-percent channel about the run that helped raise $227k for Doctors Without Borders during SGDQ 2022. I'm posting TAS content on YouTube.com/dwangoAC based on live streams from Twitch.tv/dwangoAC. If you can help defray charity event costs via Patreon.com/dwangoAC my kids and I would be very thankful.
Alyosha
He/Him
Editor, Experienced Forum User, Expert player (2822)
Joined: 11/30/2014
Posts: 2470
Location: US
NES TASer of 2015
dwangoAC wrote:
I would obviously prefer that this fell into a demo or technical showcase tier, but the site lacks that.
I'm not sure it was ever publicized but there is a recently added demonstration category at least that I hope this run makes it into. (Added about a week ago as far as I can tell.) I particularly like the high level of documentation done here, as this kind of knowledge is always at risk of being lost if not properly written down. The article can be renamed .lsmv and magically run? WOW!
Amaraticando
It/Its
Editor, Experienced Forum User, Player (151)
Joined: 1/10/2012
Posts: 672
Location: Brazil
TAS of 2015SNES TAS of 2015
You don't even need to rename the article. Just drop the pdf on the emulator screen and the movie will run!!! Can the moderators allow people to change their votes after all those modifications? If not, the authors could cancel and upload a new submission.
Experienced Forum User, Experienced player, Moderator, Senior Ambassador (844)
Joined: 9/14/2008
Posts: 916
Exotic platforms TASer of 2015Exotic platforms TASer of 2013
Amaraticando wrote:
Can the moderators allow people to change their votes after all those modifications? If not, the authors could cancel and upload a new submission.
Unfortunately, no. The article itself links to this submission (which is how we got into this mess in the first place, we had to submit the run to get a link to put into the article to get it published to get the submission text to submit the run to get a li... I've gone cross-eyed). For anyone changing their vote, please state that in a new post so the run can be judged based on how it really is and not the incomplete run it had to start out as, which I should note largely happened that way because AGDQ prep was more important at the time and it was either submit something incomplete or miss the opportunity to have the article link to the submission, but I digress. Thanks for the feedback!
The TASBot community made our most significant run yet with Ocarina of Time Triforce% Showcase! The TASBot Discord server has a #triforce-percent channel about the run that helped raise $227k for Doctors Without Borders during SGDQ 2022. I'm posting TAS content on YouTube.com/dwangoAC based on live streams from Twitch.tv/dwangoAC. If you can help defray charity event costs via Patreon.com/dwangoAC my kids and I would be very thankful.
Experienced Forum User, Site Admin, Skilled player (1013)
Joined: 4/17/2010
Posts: 10632
Location: RU
NES TAS of 2011
I don't see how the site becomes better rejecting runs like this one. The same happened to FF "console verification". It is obvious, that we can no longer limit our approach to "fast" and "entertaining", because technical work that is being done for the last few years has its own merit, and it's irreplaceable for the community. See what's going on regarding TAS blocks. They are a huge trend now, thanks to those efforts. So if the question is "were you entertained?", I give it a Meh, it's not particularly entertaining to watch. But "should this be published?" ABSOLUTELY. By flushing such runs in the gruefood delight, we do not give proper credits to what was done for the community by such runs, and totally ignore the effects of them. The site is not getting better then. And this is exactly the reason to add a Demo tier category, where such runs of superb technical level and priceless historical meaning would feel best. But to make the global acceptance terms sane, we should not base Demo on some isolated type of efforts, like we tried earlier. I described the approach in-depths here.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting. If TASing is meta-play, TASVideos Movie Rules are meta-meta-play!
Experienced Forum User
Joined: 5/23/2014
Posts: 162
I appreciate the concept of "total control" but the payload is just... boring. I'm sorry, but this is just boring. The chat itself is meh, and the article goes too fast to be remotely readable. Some things are best done live, and this is one of those things.