It was released in 2019, but an early demo version with much fewer features was known in 2017. Code and data in Baba is You is layed out as objects on the same two-dimensional level grid. Baba is you allows writing powerful programs, as evidenced by someone having implemented Conway's Game of Life in it. I don't think I have written about that anywhere! The names Baba and Keke come from an old psychology experiment where people were shown two shapes, a round and a spiky one, and asked to label one 'Kiki' and one 'Bouba'. I'm pretty sure you can guess which way people preferred the label the shapes.
Baba Is You is an puzzle video game that appeals specifically to esoteric programmers. It was released in 2019, but an early demo version with much fewer features was known in 2017.
Code and data in Baba is You is layed out as objects on the same two-dimensional level grid. Baba is you allows writing powerful programs, as evidenced by someone having implemented Conway's Game of Life in it.
- 2Words
- 3Examples
Descriptions
Baba Is You is a puzzle game where the rules you have to follow are present as blocks you can interact with. By manipulating them, you can change how the game works, repurpose things you find in the levels and cause surprising interactions!
Baba Is You is a special variant of the Sokoban game, where the rules are present as pushable blocks in the game. In order to win, the player(usually Baba the rabbit) must reach the winning object (the object specified by the rule 'is win'). https://5ravelu-gu94.wixsite.com/softkeep/post/win-at-craps.
Words
IS
This is the most significant word in the game. As long as the rules are not changed, the word 'is' will assign the property to an object.
Noun1 IS Noun2
will replace all appearances of Noun1 to Noun2 immediately. If the rule is interrupted (the blocks are not in a single row/column), the action will not be cancelled. The object after the transformation will not retain any properties before it transforms. Reel rich devil. E.g. Baba Is You -> Baba Is Crab will transform Baba to Crab; Crab Is You allows the player to move as Crab.
Noun IS Noun
(the two nouns are equivalent) will prevent the conversion of the noun. This will overload all conversions of the noun, but it will not cancel the previous conversions.
NOT
When combined with IS, this prevents the noun from getting a property. If the noun is mentioned by this rule, the noun will never get the specified property even if another rule provides it. One NOT will overload an arbitary number of rules.
HAS
Noun1 HAS Noun2 will make the destructed Noun1 generate Noun2.
AND
Combines two words(nouns or properties) together, and apply both. I.e. Noun AND Noun AND Property, or Noun IS Property AND Property. Money train 2.
ON
The behavior of Noun1 ON Noun2 is similar to single nouns, but it only applies to rules where Noun1 and Noun2 overlap.
YOU
The Object that specifies the player. Other objects will only be triggered when they are connected with [You]. There can be multiple objects triggered by this. If there is not a [You] and there is not a conversion that creates one, the player is frozen, and you have to undo or restart in order to continue.
As an exception, if nothing IS You, pressing the arrow keys will press every object in the column, if there is space in the opposite direction, then presses other interactions with [You]. (e.g. Touch bar customization. You may not collect [Win] when you are nothing.)
Win
Wins the level if this overlaps with any of the [You] objects.
Stop
Avoids other objects from crossing it. These objects will not overlap.
Push
When the player moves to the nearby position to the position of the object, the object backs away one position from the pusher. These objects will not overlap.
Sink
If this object overlaps with any other object, the other object and the object itself will be destroyed.
Weak
If it overlaps with another object or is blocked from moving, it will destroy itself.
Defeat
Destroys any [YOU] touching the object, and does not destroy other objects. In contrary to nouns, if there exists other [YOU] 's, this wil not immediately fail the game.
Hot
Spreads vapor, and it has no other effects except for interaction with the object below.
Melt
If this overlaps with [Hot], it will be destroyed.
Fall
Baba Is You Developer Log
This tries to go down until it can't go down anymore.
Tele
Any object overlapping with [Tele] will be teleported to the other [Tele] object.
Float
[Float] will never be seen as overlapping with another object that is not [Float]ing (and vice versa), even if they are in the same position. Note that pushing will not be affected by Float.
Baba Is You Demonstrated
Open
If this overlaps with any [Shut] object, it will destroy itself and the overlapping [Shut].
Shut
It has no other effect other than interacting with the object above.
Examples
Noun IS Noun
(the two nouns are equivalent) will prevent the conversion of the noun. This will overload all conversions of the noun, but it will not cancel the previous conversions.
NOT
When combined with IS, this prevents the noun from getting a property. If the noun is mentioned by this rule, the noun will never get the specified property even if another rule provides it. One NOT will overload an arbitary number of rules.
HAS
Noun1 HAS Noun2 will make the destructed Noun1 generate Noun2.
AND
Combines two words(nouns or properties) together, and apply both. I.e. Noun AND Noun AND Property, or Noun IS Property AND Property. Money train 2.
ON
The behavior of Noun1 ON Noun2 is similar to single nouns, but it only applies to rules where Noun1 and Noun2 overlap.
YOU
The Object that specifies the player. Other objects will only be triggered when they are connected with [You]. There can be multiple objects triggered by this. If there is not a [You] and there is not a conversion that creates one, the player is frozen, and you have to undo or restart in order to continue.
As an exception, if nothing IS You, pressing the arrow keys will press every object in the column, if there is space in the opposite direction, then presses other interactions with [You]. (e.g. Touch bar customization. You may not collect [Win] when you are nothing.)
Win
Wins the level if this overlaps with any of the [You] objects.
Stop
Avoids other objects from crossing it. These objects will not overlap.
Push
When the player moves to the nearby position to the position of the object, the object backs away one position from the pusher. These objects will not overlap.
Sink
If this object overlaps with any other object, the other object and the object itself will be destroyed.
Weak
If it overlaps with another object or is blocked from moving, it will destroy itself.
Defeat
Destroys any [YOU] touching the object, and does not destroy other objects. In contrary to nouns, if there exists other [YOU] 's, this wil not immediately fail the game.
Hot
Spreads vapor, and it has no other effects except for interaction with the object below.
Melt
If this overlaps with [Hot], it will be destroyed.
Fall
Baba Is You Developer Log
This tries to go down until it can't go down anymore.
Tele
Any object overlapping with [Tele] will be teleported to the other [Tele] object.
Float
[Float] will never be seen as overlapping with another object that is not [Float]ing (and vice versa), even if they are in the same position. Note that pushing will not be affected by Float.
Baba Is You Demonstrated
Open
If this overlaps with any [Shut] object, it will destroy itself and the overlapping [Shut].
Shut
It has no other effect other than interacting with the object above.
Examples
Infinite loop
Here, words are enclosed with brackets and objects are not enclosed with objects.
Another infinite loop:
Turing completeness
If Baba Is You is played on infinite size, it is basically Turing-complete, since it can simulate Conway's Game of Life. https://software-dash.mystrikingly.com/blog/online-roulette-practice.