Submission #6860: lexikiq's Linux Baba Is You in 02:48.70

(Link to video)
Linux
baseline
libTAS 1.4.0
10122
60
1944
Unknown
bin64/Chowdren
! Version info: 

libTAS version: 1.4.0

! Annotation info: 

{{Created on libTAS commit 20efa76, verified on latest stable release 1.4.0

Created on Manjaro w/ Linux Kernel 5.8.0-2-MANJARO -- you can personally sue me if this doesn't sync on other distros.

Created with the current latest Steam version of the game, V277. As the game is still being updated, here's how to downgrade in the future:

- Open "steam://open/console" in a web browser, which will open steam and its console view.

- Alternatively, launch steam with "steam -console" and navigate to the new CONSOLE tab on the top of the UI.

- Run the following command in the steam console: "download_depot 736260 736263 4833052568574903351"

- Go to your Downloads tab and ensure some network is being used, then wait for it to stop.

- The game's files should now be located in ~/.steam/bin32/steamapps/content/app_736260/depot_736263

- Copy the contents of your depot folder to ~/.steam/steam/steamapps/common/Baba Is You/

- When done with playing the TAS, you can fix/update your game files to tha latest version by verifying your local game files in the game's properties.

Now, steps for all people, current and future (and past?):

- Backup and delete (or move) the "~/.local/share/Baba_Is_You" folder if you've played the game before, as it contains your saves and will obv desync the run

- Game executable: ~/.steam/steam/steamapps/common/Baba Is You/bin64/Chowdren

- Executable Options -> Run Path: ~/.steam/steam/steamapps/common/Baba Is You/

- Runtime -> Time Tracking: SDL_GetPerformanceCounter()

- Runtime -> Recycle Threads 

- Video -> Virtual Screen Resolution: 1280x720 (16:9) -- sorry encoders, changing resolutions alters lag frames and desync :(

- Start the movie. -- Future Users(tm) may see a popup error, but as best as I can tell, you can just accept the error and ignore it. It's a quirk of downgrading.}}
			
Submitted by lexikiq on 8/28/2020 9:53:03 PM
Submission Comments

Levels at quarter speed

Game objectives

  • Completes puzzles
  • Presses a lot of buttons
  • Does not save a princess :(
  • Does collect flowers :)

Comments

Baba Is You is a puzzle game. Baba moves tiles around his world that define how the world works. The text "Baba Is You" means you are controlling Baba. If that becomes "Wall Is You", suddenly you are controlling all of the walls.
The optimization in this game comes from picking levels with the shortest number of inputs, as you only need to beat so many of them to clear each area.

Route

Only 4 areas need to be completed before accessing the final level: the Overworld, Lake, Island, and Ruins. Levels are chosen based on how few moves are necessary to complete it, along with the travel time to get there for some levels.

Gameplay

Movement Quirks

Baba Is You's input system is a little weird. Most games let you press a button, then to press it again you must release it (wait a frame) then press the button again. Keep this in mind.
There are two ways to move Baba: WASD and the arrow keys. The system of waiting a frame to release the key before pressing another one applies to each entire group of inputs. For example, if you press W, you can't press A next frame, but you can press the up arrow. You also can't press W and A on the same frame (both are ignored), but you can press W and Up on the same frame, which registers two up movements.
Most of the run was made by pressing two inputs on one frame, waiting for a frame, then repeating. This is used instead of alternating WASD/arrow keys to save a single frame on a variety of levels (from getting to the goal earlier). The exception is the end of the final level which requires you to be standing on the same tile as a flower at the end of a frame to pick up that flower, so each frame alternates between WASD and arrow keys.

Overworld Movement

After the completion of most levels, there is a mini cutscene displaying the next levels that were unlocked, which we would usually need to wait for to be able to access the next levels. However, we can hit R to reset the "level" instead, which skips the cutscene. The small time waiting for the fade out/in from resetting is much shorter than the cutscenes.
Some levels don't require resets though, such as if the level we want to go to next is already unlocked, in which case we instead manuever to the next level as fast as possible. The same movement system as listed above applies, though the final movement also includes a press of the spacebar in the same frame to start the level.
So why exactly did I pause the game and change an option after the zeroth level? I was turning on an option that bypasses the confirmation screen when resetting a "level", which takes ~20 frames but saves ~5 frames each reset (from laggy menuing to hit the "Yes" button), which is done 16 times throughout the run. So, it saves around a second overall.
At the end of each area (determined by how many levels have been beaten, see the counter in the top right between levels), I return to the map by heading back to the starting tile of the area. This is one of the differences between RTA, where runners use pause -> exit to map, as it's much more consistent but a few frames slower from menuing. (TAS does movements during the fade in animation, whereas runners don't have as much time, so they have very little leeway for getting there in time to save the couple frames)

Small Tidbits/Miscellaneous

You can't enter levels/pause the game if a fade in/out animation is playing. Also, if one of the Area Unlocked cutscenes is queued (ie if you just beat a level and it's sparkling), you must wait until the frame before its first frame of animation to make inputs.
The first few frames after you open a menu don't let you click on anything, which is why menuing is avoided as much as possible.
This game has lag frames that don't output any audio/video and drop inputs from the frame before. No idea why this happens, but it forces us to hold inputs for two frames sometimes. Just thought I should mention it.
EDIT: might be a quirk of libTAS instead, here's a quote from Kilaye:
About lag frames, I suspect it's because the time tracking uses an arbitrary value to trigger, that is too low for Baba
Game version is v277, which is the latest at the time of writing. The related steam manifest ID is 4833052568574903351. See Annotations for more information on getting the correct version. The TAS has also been confirmed to sync on the latest public beta of the game, v362.

Author's Comments

Thanks to Hempuli (game creator) for providing some insight on game quirks in his Discord server and appreciating the run :)
And massive thanks to the hard work of the Baba Is You RTA community who have done an amazing job on the routing for this game. Every time I thought I found a faster strat, I saw the community already had a faster (or identical) path discovered. Run wouldn't be as good without them.

Samsara: SAMSARA is JUDGE.
Samsara: INPUT is REPLACE. ANNOTATIONS is FIX. RUN is not CHANGE.
Samsara: TAS is SYNC. FSVGM777 is THANKS.
OPTIMIZATION is GOOD. LEVELS is FAST. SLOW VIDEO is not ENOUGH. COMPREHENSION is LOW. HUMAN is SUPER. SHORT LEVELS is OFFSCREEN and not FUN. LONG LEVELS is FUN. BUILDUP is NICE.
BRANCH is CONCERN. BABA is NEW. SPOILERS is AHEAD. YOU is WARNED.
BABA has END and END. THIS is ONE. TRUE is OTHER. TRUE has LEVELS and TIME. THIS has PRECEDENT. MARIO is not END. MARIO END is DEFEAT. THIS is END. CREDITS is PLAY. BABA is END. THIS END is not TRUE END. ROUTE is DIFFERENT. CATEGORY is ACCEPTABLE. COMPLETION is FASTEST.
SAMSARA has CONCERN. AUDIENCE has FEEDBACK. FEEDBACK is MIXED and POSITIVE. TIER on FENCE is CONFUSING. SAMSARA has IDEA. FEEDBACK is not TASVIDEOS. FEEDBACK is ALL. TWITTER is SOURCE. COMMENTS on ENCODE is SOURCE. FEEDBACK is POSITIVE. FEEDBACK not on TASVIDEOS is not COMMON. OPPORTUNITY is GOOD.
RUN is ACCEPT.
fsvgm777: FSVGM777 is PUBLISHER.
Last Edited by adelikat on 11/5/2023 3:50 PM
Page History Latest diff List referrers