VVVVVV is a game where you flip so hard that you warp to the credits even after the devs patched it out.

Game objectives

  • Aims for fastest time
  • Uses death to save time
  • Skips the Gravitron OoB which skipped Gravitron Skip from the previous movies
  • It's actually optimal to not skip Space Station 1 lmao

Comments

This run saves almost 3 minutes (again) over the previous run by using Terry Cavanagh's state machine. It also improves the previous movie by being able to be played back at higher framerates.

New credits warp

It was known that in 2.0, by getting the - Press ACTION to advance text - prompt and interrupting any code that might remove it (e.g. by quitting, which resets the scripting engine), you can increment the gamestate freely. It was also known that this was patched in 2.1 (a beta which was never officially released; the 2.2 release built on top of it and thus ships with this patch).
But despite the patch being around for at least 7 years, no one knew you could still use it to warp to the credits until very recently. So basically, the patch made it so that you could not increment the gamestate more than once per gamestate delay. So if you tried to increment during a gamestate delay, or induced a delay by killing yourself (pressing R), then you simply could not increment it more than once. This was needed because the gamestate incrementing still needed to be used for advancing text in certain gamestate-based cutscenes (e.g. collecting a trinket).
What was recently discovered was that this nerfed increment can still be used to warp to the credits. Now, to be fair, it might have only taken so long to discover because it requires you to do...

Comms Relay

Comms Relay is a room in Space Station 1 that receives Violet's distress signals. It does this by using, you guessed it, the gamestate system.
The way the distress signals are triggered are as follows: Every time a room is loaded, check that we're not in a time trial or a custom level or in Outside Dimension VVVVVV, or that flag 5 is on (which marks that the Comms Relay cutscene has started). If any of those are true, then do nothing and quit this routine. Otherwise, set the gamestate to 0. If we are in Comms Relay, set the state to 50 (which starts the loop of distress signal text boxes).
The catch here is that this check executes for every room load, every single time. (Presumably this is to stop the distress signals if you leave the room. Which is pretty lazy.) So if the Comms Relay cutscene has never been ran, then the gamestate will be set to 0 every single time. This is actually pretty useful; it allows you to skip You have found a shiny trinket! cutscenes by frame-perfectly pressing R on the trinket if your checkpoint is in another room. In essence, it interrupts the current gamestate every time a room is loaded. However, for this credits warp to work, we need to be able to keep a gamestate while going across rooms, and thus we actually need to do Comms Relay.
But it was quite the norm for some time for runners to actually skip Space Station 1 entirely by pressing R in the beginning cutscene. This is doubly useful since it lets you skip intermissions, too (by rescuing Violet when an intermission would happen, canceling the intermission). So it could be understandable why this credits warp wasn't discovered until now. Especially since you need to get...

Text Storage

This is when you have the - Press ACTION to advance text - prompt, but pressing ACTION doesn't make the prompt go away, letting you increment the gamestate. A run on 2.0 would have gained this state by simply quitting to the menu, resetting the scripting engine, and then interrupting the fadeout too. But quitting isn't allowed in this branch, as per the previous run's judging.
The way it's done in this run is fairly non-obvious without hindsight and was discovered entirely by accident. It was known that you could gain control of the player during teleport animations by pressing R. It was even used a lot to clip into walls, which was dubbed "telejumping".
But this time, we use a Level Complete cutscene and a trinket (or a terminal too, but it's fastest to rescue Verdigris and the Warp Zone maze area in the Overworld only has a trinket available). We grab the trinket at a precise time (a 2-frame window!) after the Level Complete gamestate sequence is done, but before the script that the sequence loads starts executing. Then the script calls another gamestate (to teleport you out of the Ship teleporter), which interrupts the trinket text box gamestate, and thus we can increment freely.
Then just like in 2.0, all the teleporter animation gamestates are adjacent to each other (4010-4019, 4020-4029, 4030-4039, 4040-4049, 4050-4059, 4060-4069, 4070-4079, 4080-4089, 4090-4099), so we simply increment our way up the state machine until we reach 4080 (which starts the ending cutscene).
And this is why we need Comms Relay; in order to reach the trinket, we have to travel across rooms, and not having Comms Relay would interrupt the Level Complete gamestate sequence.

Miscellaneous considerations

This run is played on the latest stable release, which is 2.3. 2.3 patches the quit fadeout so it can never be interrupted. (Source: I patched it.) Additionally, 2.3 also adds a glitchrunner mode; you can select between either 2.0 or 2.2 to emulate the specific bugs that were in that release. (Source: I added it.) 2.1 has the same bugs as 2.2, so there's no 2.1 option.
Even though the quit fadeout can't be interrupted, it's still possible to save and quit to skip certain things. In this run, I skip Violet's post-Space Station 1 cutscene by pressing R. Instead of doing that, I could have simply saved, quit, and loaded back in at the earliest possible frame; it would save over a second, even when counting menu frames in the final time.
I decided to not allow saving and quitting because the previous movie didn't allow it either. Also, it's more entertaining to have Viridian kill themselves right in front of Violet's eyes as she speaks. And having the Level Complete text boxes up on screen is kind of hilarious.
2.3 also patches the Alt+Enter Glitch, which among letting you flip during cutscenes, also interrupts any scripted walking; this can be re-enabled with 2.2 or 2.0 glitchrunner mode. (Source: I patched it.) This can be used to save maybe a frame or so by preventing Viridian from walking entirely to the left during the opening cutscene. I decided not to do this either because enabling either glitchrunner mode also re-enables the glitchy quit fadeout, and anyways it wouldn't save any time as you'd have to navigate through the menus to enable it (and you're not allowed to have dirty SRAM that affects gameplay here on TASVideos).
2.3 does save some minor time here and there in certain places. It lets you press ACTION to skip the fake loading screen. (Source: I added it.) Previously, your only alternative was to modify the binary or source code to remove it, which is obviously not allowed here on TASVideos. It also fixes a bug where the game would freeze if it started playing an audio track while an existing track was already fading out, like when you load in to the game. (Source: I fixed it.) And it lets you press R, Enter, or Esc during cutscenes where you couldn't previously without needing to first gain control by killing yourself. (Source: I added it.) However, these differences shouldn't matter because this route is still possible to perform on 2.1 and 2.2. In other words, this credits warp does not inherently rely on anything added in 2.3.
2.3 adds a translucent room name option; it is off by default. (Source: I added it.) My encode has them on, because I like the look of them. Maybe you could have them on, too?
(Did I mention you can see my name in the credits, separate from everyone else?)

Special thanks

  • Elomavi for accidentally discovering the text storage and gamestate incrementing to skip The Final Level
  • Olivier Moreau for finding that you can use text storage to increment to the credits instead of skipping Final Level
  • Elomavi again for the Verdigris+trinket route
  • tzann for checking my TAS was optimal
  • Everyone on the VVVVVV speedrunning Discord server who participated in discussion

Suggested screenshots


Samsara: File replaced with a new version that updates the game and adds a 9 frame improvement.

slamo: Claiming for judging.
slamo: Setting to Delayed for now. This should be accepted eventually, it's just waiting on a UI tweak to handle different versions.
slamo: Now that the game versions are displayed on publications, this can be handled properly.
This run was originally pitched as a branchless run to obsolete 4009M, but there is a problem with this classification. The current "game end glitch" run, 2611M, uses a "save + quit" glitch to manipulate the game state and skip directly to the credits. While this run does not use the "save + quit" glitch, it still modifies the game state to skip to the credits, albeit in a more roundabout way. Therefore, this run would qualify as a "game end glitch" run, not branchless.
However, this does not mean the run is without merit. The goal is actually not arbitrary; this run uses a newer version of the game in which the old "game end glitch" method has been patched and is impossible to replicate without using a special glitchrunner mode. This run finds the fastest way to warp to the credits in the current version (without using any save + quit skips).
The run was also very well received. Voting and commentary on the movie was overwhelmingly positive. Comparing this run to other VVVVVV movies on the site, the route is completely different from any other movie and there is some new glitchy content showcased as well. Nobody has objected to having this movie coexist with the other "game end glitch" run, so we'll allow it.
Accepting to Moons as an additional "game end glitch" branch under a different game version.
fsvgm777: Processing (after Star Wars).
slamo: Replaced movie file with 60 FPS version.
fsvgm777: Processing (for real).


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15536
Location: 127.0.0.1
This topic is for the purpose of discussing #7268: InfoTeddy's Linux VVVVVV "game end glitch" in 02:55.81
Post subject: Don't Let TASers Patch Your Game!
GamesFan2000
He/Him
Joined: 1/4/2019
Posts: 84
Location: Canada
So, it turns out that one of the guys who helped Terry Cavanagh on the later patches of VVVVVV also does some TASing. And he's here to absolutely destroy the game. Turns out that the secret to manipulating the duct tape of this game is not skipping the first Space Station visit. And, thus, with text box storage, teleporters, and trinkets, the credits can be forced. Yes vote.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
Gahaha, this is deliciously glitchy (and possibly a judging headache). Yes vote
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
nymx
He/Him
Editor, Judge, Expert player (2228)
Joined: 11/14/2014
Posts: 927
Location: South Pole, True Land Down Under
Wow...I had no idea what I saw, midway through this. All I know is...that was amazing and you get my yes vote.
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Post subject: Re: Don't Let TASers Patch Your Game!
Judge, Moderator, Player (200)
Joined: 7/15/2021
Posts: 112
Location: United States
GamesFan2000 wrote:
And he's here to absolutely destroy the game.
she*
Post subject: Re: Don't Let TASers Patch Your Game!
GamesFan2000
He/Him
Joined: 1/4/2019
Posts: 84
Location: Canada
Info Teddy wrote:
GamesFan2000 wrote:
And he's here to absolutely destroy the game.
she*
Sorry
Post subject: Re: Don't Let TASers Patch Your Game!
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
WWWWWWhat did I just watch? YYYYYYes vote.
Judge, Moderator, Player (200)
Joined: 7/15/2021
Posts: 112
Location: United States
Player (200)
Joined: 9/24/2021
Posts: 20
Location: Germany
Midway through the run once it started looking very glitchy, I lost track of what was going on. I don't really mind not understanding what's going on, and still enjoyed the TAS though!
Masterjun
He/Him
Site Developer, Skilled player (1986)
Joined: 10/12/2010
Posts: 1185
Location: Germany
So, I'm not quite sure what's going on here, the submission text is all over the place with versions and patches and what glitches were actually used and which ones are patched. From what I gathered, this submission uses the glitch that advances the game-state like in the current game end glitch movie [2611] Windows VVVVVV "game end glitch" by Masterjun in 00:45.33, but in a less powerful way because it's somewhat patched now? Then an argument could be made that this submission shouldn't obsolete the current run of the default category, since the current one avoids using that glitch (as it would be the game end glitch run otherwise). In that case it feels like this run is an inferior version of the published game end glitch run. But as I said I didn't quite get everything from the submission text, so maybe the author can explain where this run fits in between the existing branches.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Judge, Moderator, Player (200)
Joined: 7/15/2021
Posts: 112
Location: United States
Masterjun wrote:
From what I gathered, this submission uses the glitch that advances the game-state like in the current game end glitch movie [2611] Windows VVVVVV "game end glitch" by Masterjun in 00:45.33, but in a less powerful way because it's somewhat patched now? Then an argument could be made that this submission shouldn't obsolete the current run of the default category, since the current one avoids using that glitch (as it would be the game end glitch run otherwise). In that case it feels like this run is an inferior version of the published game end glitch run.
The difference is that the game end glitch branch uses the Escape key (save+quit), whereas [4009] Linux VVVVVV by Masterjun in 05:49.86 and this run do not. The publication says
4009M wrote:
This run avoids using glitches that require pressing the Escape key.
and the judgment notes also say
6429S wrote:
The author explained that they chose to disallow saving + quitting because it was the least complicated restriction that wouldn't allow a game end glitch, and after some thought, I will agree with this argument.
This run does use gamestate incrementing, but it's a nerfed version that you can't immediately skip to the credits with with any text box, and furthermore it's possible without doing save+quit (although "save+quit" is a bit of a misnomer; you don't need to save, you merely just need to interrupt the quit fadeout).
Masterjun
He/Him
Site Developer, Skilled player (1986)
Joined: 10/12/2010
Posts: 1185
Location: Germany
Ah, so the 5 minute run only restricted itself to avoid the escape key, since this was the only way to trigger the gamestate manipulation. I think now that there's a different way to trigger it, it calls into question whether it should be allowed by itself or not. I personally prefer the default category (branchless) to avoid the glitch, because it feels memory-corruption'esque. It doesn't seem like what viewers would expect. The other runs all still physically reach the locations of the crewmates and the end location, albeit with weird teleportations and going through screens, but those features are themselves part of the game. It feels like a category with restrictions like in this run can quickly become a second game end glitch visually. I'm not the one to decide where to put the distinction between game end glitch branch and default branch, but my opinion is that the gamestate manipulation falls into the game end glitch area.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Judge, Moderator, Player (200)
Joined: 7/15/2021
Posts: 112
Location: United States
Requesting to replace file with a newer version that updates it to 2.3.6 (has different file hash which libTAS warns about) and has the 9 frame improvement.
Judge, Moderator, Player (200)
Joined: 7/15/2021
Posts: 112
Location: United States
Requesting to replace the move file with the 60 FPS version, as I want that to be the primary encode, and the game defaults to over-30-FPS mode anyway (which hinders playback of the 30 FPS movie unless you disable it or change the timing function).
Reviewer, Expert player (2432)
Joined: 5/21/2013
Posts: 414
So it's clear to me that this will not be obsoleting the branchless run. While both of these runs don't use save + quit, ultimately this submission still utilizes the same game ending glitch (using game state manipulation to reach the credits) as the currently published "game end glitch" run, just in a less efficient way. However, that doesn't necessarily mean it should be rejected. This run uses a completely different route from the other published runs and has some new glitchy content. Compare for yourself: Game end glitch Branchless The entertainment ratings and feedback for this run are also really good. Would anybody mind if this movie was put into Moons as a separate branch? Also, what on earth would we call the branch? "No save + quit" is also a restriction for the branchless run, so that wouldn't work. The branch could even be based on the game version, since the published run's GEG was patched and can't be done the same way on this version.
Judge, Moderator, Player (200)
Joined: 7/15/2021
Posts: 112
Location: United States
slamo wrote:
the published run's GEG was patched and can't be done the same way on this version.
It's patched, but it can be re-enabled via 2.0 glitchrunner mode, which emulates the glitch that enables for a much faster credits warp. Thus, I propose that the current GEG be called "2.0 glitchrunner" (so a run on 2.3 or later can obsolete it by using glitchrunner mode), and this run be called "2.1 game end glitch" or something similar (since the gamestate increment was nerfed in 2.1). Branchless can remain branchless.
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11469
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
So in the end it's not about which setup is more optimal but which setup is optimal for what version/mode?
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.
Judge, Moderator, Player (200)
Joined: 7/15/2021
Posts: 112
Location: United States
I'd say so, yeah. There's the "normal" run which completes the game without directly using a game end glitch, then there's one that does it with no holds barred, and then there's this one which has some restraint.
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11469
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
We can have them both as GEG, with only changing game version. The current UI doesn't display game version in pub name tho. For example, these are of J and U: https://tasvideos.org/Movies-2413M-2648M
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.
Judge, Moderator, Player (200)
Joined: 7/15/2021
Posts: 112
Location: United States
That could work. Is there an issue filed about the UI?
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11469
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
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.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15536
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. ---- [4588] Linux VVVVVV "game end glitch" by InfoTeddy in 02:55.81
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
I understand from the publication notes that there are now three branches, but if I look at https://tasvideos.org/2159G then I see only two. Am I missing something?
EZGames69
He/They
Publisher, Reviewer, Expert player (4431)
Joined: 5/29/2017
Posts: 2761
It’s because the current site code doesn’t combine the same game on two different platforms (this being Linux and Windows). However for Linux and Windows crossover, it should be combined. This could be written as a ticket on the site github.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Joined: 1/13/2007
Posts: 340
Awesome movie. Now we need to make a new VVVVVV version that patches this, and see if someone else can STILL credits warp.