Simon has succeeded in making a playable game using another game as a programming language. He created a clone of Fight using Baba Is You, currently one of his favorite puzzle games he spends hours exploring every day. Baba Is You is an award-winning puzzle game where the specified character can reach a goal by following “rules”, simple English sentences defining what various objects in the game do. The player can interchange the predicate nouns in the sentences, as long as the general syntax remains the same, thus changing the rules to make it possible to reach the goal. This makes the game very abstract and suitable for use as a programming language of its own kind. In fact, Baba Is You is Turing complete, i.e. can be used as any basic computer to make computations and write programs.
A free update titled “Baba Make Level” was released in November 2021, featuring over 150 new and previously unused levels and a level editor with online sharing. Simon has jumped on the level editor to make a whole new game:
Simon told me that one of the most difficult things was to avoid creating a rule by accident on the horizontal axis while writing them as vertical columns and smooshing them together. He was so careful he ended up writing some word on top of each other.
Simon started from trying to program Pong with Baba Is You, but that project has remained unfinished so far:
With a normal game, the rules have to be intuitive, otherwise the player will get shocked right when they start the game. With Baba is You, however, the rules can change. So they can just start simple, and gradually get more mind-bending along the way. This allows it to do some really cool things, e.g. have the level select screen also be a level, be winnable, and later on in the game, even have it be a challenge. In the late game, sometimes accessing a level is literally more complicated than the level itself.
Simon has also built the Game of Life in Baba!
This actually proves that Baba is You is Turing complete, because the Game of Life is Turing complete!