No Really, There Are No Rules!

All video games are made by programmers, but Baba Is You was made by programmers. Also the title screen contains a link to givingwhatwecan.org, which I feel obliged to mention.

The First Level

The premise of the game is simple. There are objects on the screen, and rules governing how those objects behave. Each object takes up a tile. “Baba Is You” means that when you press the arrow keys the little rabbit (or whatever it is?) called Baba moves around. Having this rule and “Flag Is Win” means that when Baba reaches the flag, you win. “Rock Is Push” means the rock is a physical object you can push around. “Wall Is Stop” means you can’t walk through the wall tiles.

If instead “Flag Is You” and “Baba Is Win” then you have to move the flag around and reach the (unmoving) Baba. The objects have no properties other than what the rules give them. Some objects which are important in certain levels are just decoration in others, as they have no rules pointing to them to give them properties. The tile squares in the level above act in that way.

But these rules are built from words which are themselves movable objects. “Baba Is You” is a rule which exists because the “Baba”, “Is”, and “You” tiles are all in a row. If you (as Baba) push the word “Rock” in place of the word “Baba” in “Baba Is You”, then you control all the rocks on screen at once. A lot of the puzzles rely on your limited supply of tiles to manipulate.

The hardest thing to keep in mind is that, no really, there are no rules! except those that are written on the screen. No matter how many times you’ve pushed rocks around in previous levels, if this level doesn’t have “Rock Is Push” (or you’ve disrupted that rule by moving things around) then you can’t push it, you might even walk right through it if there aren’t any rules!

Realizing there are no rules! is often difficult. You have to put in some conscious effort to not expect rules to be followed. Because so many of the objects in Baba Is You are “loaded” in some way (like keys, doors, boxes) you often find yourself forgetting that, no, this time the key doesn’t unlock the door because keys don’t unlock doors unless the rules specify that.

The “ghost in the machine” type thinking is an example of this. There is no mind which looks over code to evaluate it, the mind is the code. Programming a computer might seem like giving instructions to a person, but it requires unlearning all the implicit rules which we rely on to communicate with people.

Another example is a pure maths. You can attempt to define the natural numbers by the rule “every number has a successor”, but this in fact also gives you a separate chain of positive and negative numbers, and an infinite number of possible loops. But these have to be pointed out to most people. It’s not obvious that the rule “every number has a successor” is more permissible than first imagined.

Noticing the consequences of fewer rules is harder than noticing the consequences of more rules. It’s very easy to follow non-existent rules without seeing them. If you don’t violate the rules then you’ll never realize they’re not there. I think of the 2-4-6 problem.