Levels at quarter speed
Game objectives
- Completes puzzles
- Presses a lot of buttons
- Does not save a princess :(
- Does collect flowers :)
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.
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.
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.