Introduction
Baba Is You is a puzzle game. In this game, a level is a grid that consists of objects and texts, and the objective of the level is to, if there are texts BABA IS YOU
and FLAG IS WIN
, navigate Baba (a white cat-like creature) to a flag.
The fuss is, there are so many variety of possible texts. WALL IS STOP
, ROCK IS PUSH
, WATER IS SINK
, LAVA IS HOT
, KEKE IS MOVE
, KEY IS OPEN
, DOOR IS SHUT
, and so many more.
What's much more crazy is, the player can modify these rules in-game! All texts can be pushed to modify the rules. For example, if there was a text BABA IS YOU
and Baba pushed one of the words to break the text, now the rule BABA IS YOU
is gone and the player cannot control Baba anymore. For another example, if there was a text BABA IS YOU
and Baba replaced BABA
to WALL
, now the new rule WALL IS YOU
applies and the player has control on wall(s) instead.
This game is known to be Turing-complete. But would that mean that this game can participate as a language for challenges in this site? Let's look:
Input method
The game uses arrow keys to move objects that IS YOU
. It's also possible for them to "wait" by the player pressing the space key.
But as like the standards of this site, input methods must be flexible. Another method of input would include, for example, specifying a combination of in-game aspects as a codepage of input.
Output method
Beating the level may count as halting, but this game has no standard notion of an "output".
As like the standards of this site, output methods must also be flexible. Specifying a combination of in-game aspects as a codepage of output would suffice.
Scoring
This game doesn't have a notion of "score". The size of the bounding box of the level would count as the score, though.
Meta Question
What I'm concerning is that, the input/output method might become too flexible. I cannot imagine how crazy an answer in Baba Is You would be. Is this "language" really suitable for this site?