[Notice] In older version, the infinite loop prevention feature shown in the video is not supported. It freezes. (I changed the caption. Thanks for watching and comments. I love this fascinating game!)
There are a lot of insightful comments on why this happens, but here's the jist 1. Rock is word. 2. Rock(obj.) is not word. 3. Rock is no longer word. 4. "Rock(obj.) is not word." is no longer valid. 5. Therefore, Rock is word. 6. "Rock(obj.) is not word." is valid again. 7. Game now realizes what the hell just happened and intercepts here.
everything else in the game resolves completely in order in one step, with glitches, and then acts glitchy on each 'turn' stuff like is you and is move letting you move 2 squares, or is shift and shift just shifting twice at a time it makes no sense why this one loop sets it into an infinite when everything else in the game that would cause an infinite loop if the logic actually kept looping every turn to make sure all things were 'resolved' gets turned into massive Xs. both terms should just become Xed out the splash screen is cute but it shows they found a serious loop that was missed in development that actually desperately needs to have just been bugfixed to prevent damaging peoples consoles, or computers if there was a time before this was patched infinite loop could have been a cute achievement and maybe instead of red Xs they could have just used little red infinity symbols for this one case
@@kevin-bf4ww Considering despite how glitchy conditional "X is Word" really is, they really should have an infinite loop achievement since there's really only one place you can get it, ironically enough.
FAQ! Q) What's so infinite about this? A) Normally, negative sentences override positive ones. So, for example, "baba is not you" invalidates any sentence that says "baba is you". If you spell "rock is word" and "rock is not word" normally, the latter overrides the former and the level carries on like normal. However, the inclusion of the physical [rock] in the sentences muddles things - the effect of the sentence "rock is word" is to allow a physical [rock] to be used in place of the word "rock". kazunoko_m spelled out [rock] "is not word", which is only a sentence if rock is word. The game sees "rock is word", so it makes [rock] be a word, which causes it to recognize [rock] "is not word", so it makes [rock] not be a word, which causes it NOT to recognize [rock] "is not word"... there's no sane way to interpret this arrangement of words and maybe-words, so the game gives up and throws an infinite loop screen. Q) So we solved the halting pro- A) Nope. The game doesn't look for infinite loops, it looks for long loops (200+ iterations) and just assumes they're infinite. Q) why does this feel kinda scary lmao A) Since Baba is You employs multiple layers of meta-gameplay, you don't feel safe in your little rectangle that is the level. Its rules are so fungible that you don't feel quite secure in your grasp of the situation. Thus, when the level suffers a catastrophic failure like this one, it's a brief moment of terror that the rules have escaped your understanding and are free to tear the game apart. (I mean, let's be real, if a Baba is You level presented you with the words "computer", "is", and "self-destruct", you wouldn't dare assemble that sentence.)
for this to be possible you have to resolve the loop by presenting a premise wherein both statements can be true without contradicting each other. If there was a [Same] command you could say [Rock][Is][Not][Same] and then one rock could follow one rule and the other rock follow the other rule and the loop would be resolved.
Just in case for those who do not understand what happens there, I leave me explanation here. When more than one conditions in the game contradict to one another, precedence rules are applied. One of them is "ROCK IS NOT BABA" precedes "ROCK IS BABA". Therefore you might see in some levels, you couldn't make some object turn into another and if you do so, the rules would be crossed out. From 2:23, the rule "ROCK IS WORD" is established, so the rocks are now viewed as both object and text. Because of this, another rules "ROCK IS NOT WORD" is also set at the same time vertically. These two contradict, and the latter one precedes. As a result, the rock objects are just objects now. However, because the rocks are not text at this instant, no contradiction is found when the rule "ROCK IS WORD" is built and thus it works, making rocks both object and text again. Due to the same reason, precedence comes into play and forbids rocks from being text, which nullifies the rule "ROCK IS NOT WORD", making "ROCK IS WORD" works again. Thus an infinite loop is created.
The infinite loop screen seems like something I'd come up with in a dream. It completely contradicts the rest of the game's visuals and that's what I love about it.
We’re laughing but when an XK class scenario actually happens in the SCP universe, the poor soul that has to do the unnecessary task of writing the log about an event that will fuck everything no matter what he does, then he’ll probably write exactly that
@@NiGHTcapD You gottu remember, though; the challenge isn't in figuring out how to explain the event, it's in being there during the event to explain it. It's hard for you to do something if you don't exist, if _nothing_ exists.
There's something so existentially unnerving about this and other error screens in other places. It's not easy to explain why it spooks you so thoroughly to the core but it just works.
@@ErikTheCleric its because when youre playing something you expect to play what you know youre playing aka a casual game or something and you know glitches look like someone being sucked in by a wall or something but thrn you get something like "something went terribly wrong" and everything turns to source engine eeriness because usually the game has noises and sounds then it goes silent and that is unusual so the brain is scared of it
2:24 Game Process View Time! "Ok, let's see, so rock is word." "Ok, so this rock is a word...wait, rock is not a word." "Ok, so that takes precedence over that...wait, rock is a word?" This repeats about 99 more times, until... "Hey, wait, I've done more than 200 operations. Must be an infinite loop. Cue the infinte loop sequence!"
@@trolololo720 Making an algorithm that can say if *one* *specific* *other* algorithm will loop forever is not solving the halting problem. Incidentally, it is also very much possible.
@@Leekodot15 Just has to look at the entire level and realize "wait so I'm repeating a command I already did and the game board hasn't changed since then" to know it is going to infinitely loop.
When you go ask your mom, she tells you to ask your dad, but your dad tells you to ask your mom, so you are like: 2:24 Honestly, the Infinite Loop screen is both creepy and soothing, basically looking like the reality haa collapsed, signified by the lack of music and the collapsing tone. Just like they caused an ZK-Class Reality Failure Scenario. Reality ceased to exist... music, none, just a void. The only thing that signifies that you broke reality, is the big infinity, staring at you with the judgemental eyes. Also, it has a meme potential.
we need an infinite loop% speedrun. run the game from the start until you find and execute the earliest possible infinite loop. might be interesting to route that
We could also try an All infinite loop% speedrun, where you try to speedrun infinite loop-ing any levels that can be infinitely looped. Similarly, All Too Complex%, where you try to get “too complex” for every level that can have that effect. Too complex refers to the creation of too many rules to parse, like creating too many actions to resolve, having more than 2000 objects, or creating more than 50 objects at once.
Setup annotation: 0:03 letting text be pushed again by using rock teleport to ruin TEXT IS NOT PUSH 0:12 now text is push again 0:24 NOT is obtained, use it to remove the wall 0:44 setting up a portable rock teleporter 1:00 portable teleporter is set! 1:03 use the portable teleporter to obtain WORD 1:20 let TEXT IS NOT PUSH so that you can push rock into text 1:34 WORD get! 1:40 set up ROCK IS WORD and Rock(object) IS NOT WORD 2:24 *the l o o p*
@@knuti27 I just found and uploaded the video I took back when this was broken. On the latest Switch release of Baba it acts just like in this video, with the same screen. Video below: /watch?v=SiGi2gJAb8s
That's incredible ! I tried to form this kind of thing putting "SOMETHING is WORD" and "SOMETHING is not WORD" but always with SOMETHING being the bloc of text in both cases, and now I see how to make the contradiction I wanted, so cool !
@@PragmaticAntithesis Yeah, because the developer didn't expect people to make two words collide with one after the another to make an infinite loop, so they add simple detection when Infinite Loop is occured to prevent crashing. This was added later on the Switch version.
1. ROCK IS WORD makes 🪨 usable as the word “ROCK” in rules. 2. The rule “🪨 IS NOT WORD” activates, overriding “ROCK IS WORD”. 3. 🪨 IS NOT WORD makes 🪨 not usable as the word “ROCK”. 4. The rule “🪨 IS NOT WORD” is no longer valid, and causes “ROCK IS WORD” to reactivate. Steps 1 through 4 repeat over and over, which the game detects, and halts the entire level.
If I remember correctly, the game throws up the infinite loop screen if there’s more than 200 operations made in a single move. Obviously an infinite loop will do more than 200. A lot more.
@@want-diversecontent3887 Well, yeah, of course that'll happen. It's just something that'll hardly if ever come up in normal play. Unless if you're aiming to reach that limit without making an actual infinite loop, the only way you'll really ever reach is making an extremely complicated custom level. It's not a solution to the Halting Problem, just a workaround.
Not exactly. A "true" solution to the halting problem would be an algorithm/program which detects whether any input algorithm/program either eventually halts or runs for an _infinite_ number of steps (not just a _very large_ number of steps). Baba Is You is basically just applying a heuristic, signalling an "infinite loop" after a merely _very large_ number of steps. It's not a mathematically exact solution, but it's good enough for reasonable gameplay.
Baba is you is technically not Turing Complete since it has limited memory. This means that there is a finite number of states, for which a process will either repeat or terminate. This is true for conventional computers as well, but those have expandable memory which can be expanded as you move along the tape.
I now want a baba is you movie where he self destructs the universe in order to thwart the villain while also taking himself and his little world out in the process, saving everyone else (outside of any pocket universes in question) in a heroic move. Baba is cool
did this and made it so that even z gave an error i had something that wall is word and wall(obj) is not word it didn't work the first time so i pushed the wall out then pushed it back that worked, then i pressed some z and the first one gave it then pressing z was pointing into null lol, there was nothing to go back, got error message lol
I have done this thing too, but it didn't show the infinity screen. I guess it's an older version. But without this thing, it's even more creepy as heck..
summary 1.when rock is not word 2.it is not "rock", so the "rock is not word" won't work 3.meaning rock is word 4.meaning "rock is not word: will work 5.meaning rock is not "rock" 6.meaning "rock is not word" wont work 7.go back to step 2 8. is said go to step 2 9. got to step 7 10. go to step 11 11. go to step 10 12. 10 and 11 in an infinite loop 13. so is pi (3.14159) but not really a loop, but it's infinite 14. circle is literal infinite loop 15. why are you still reading 16. go to step 38 17.got to step 2 18.go to step 14 19.go to step 12 20. go to step 2 21. go to step 16 22. kill yourself 23. antidisestablishmentarianism 24. supercalifragilisticexpialidoceos 25. why are you here 26. got to step 1 27.go to step 1 28. go to step 5 29. go away 30. poo 31. poo 32. pee 33. pee 34. now 35. it 36. is 37. time 38. you've just waisted your time 39. baba is not you 40. keke is not you 41. you get the idea now 42. x 10 equals a nice number. so is 6 x 23 and 6 x 111 ... ... ... ... ... ... ... 2642356: I am tired.
rock (word) is word, also rock (obj) is not word. (CONFUSED SCREAMING) also: "In that version, the infinite loop prevention feature is not yet supported and may cause unexpected malfunction or equipment failure." what in the world?!?!
So heres the explanation: [TEXT] = in game object ROCK is WORD - defines that the rock can act like its word self, therefore allowing to build rules with both object and text [ROCK] is _not_ WORD - defines that the rock cannot act like its word self, therefore not allowing the action of using it as text, however, due to it being the object, it causes an loop, and the game would crash but here we are at the “INFINITE LOOP” screen, preventing from freezing the game.
I'm kinda wondering if ROCK IS [ROCK] in the top left corner plays a part in the infinite loop. I believe that if two statements are opposed then one of them will be crossed out and inactive. But with a third one into play we might be able to get an infinite loop. Never did it myself though, all of this is pure theory.
Normally when two commands exist, one is always chosen over another. For example, "rock is not text" and "rock is text". "Rock is not text" always goes first. What happens is "rock(obj) is not text" forms. The game also sees rock(txt) is text. The game makes "rock(obj) is not text" the one that is true. However upon "rock(obj) is not text" activating, it is no longer true, but now that it's not true rock is text again making it true. This creating the infinite loop
the inf. loop: "rock is push" allows object-rock to be pushed downward to make: rock is word, object-rock is not word, intersects at "word" "rock is word" turns "object-rock is not word" into "rock is not word"
ik this is like a 2 year old video but is there any way to do this another way? like without the whole word sequence? or is this the only way to break the game with an infinite loop
comments: only sees "rock is word" and "rock (obj) is not word" me: also sees "rock is rock (obj)" at the top left of screen the third rule is also needed for the infinite.
Do both rules ( "Rock is word" and "🗿 is not word") have to be set up in the same move? I don't see why you can't just set up "🗿is not word" at a later point.
@@cerebralcloud92 but its still dumb because the game bases actual puzzles on doing a move like this in one frame, where you have rocks shifting right over and through solid objects just because of being set on one frame this is really dumb that it doesn't just show red Xs, or resolve glitchy, and switching twice every frame based on the resolve order, like literally every other single interaction in the game that matches this theres hundreds of infinite loops in the game, and it will suck immensely if anyone loses a computer (to an early unpatched version) or a console to this nintendo should be allowing a bugfix through as an A class bug
kevin It’s because it’s all happening without BaBa having to move. The player is completely still, but the function is still looping through its multiple actions. Also, there’s technically nothing saying that rock can’t be word except for itself, but as it says it’s not a word, Rock makes itself into a word. That’s the distinction, is that it loops around infinitely IN ONE ACTION. If the game detects 200 something actions in ONE TURN, then it determines that it’s an infinite loop. Without that special screen, what would happen is that there’d be infinite particles causing massive lag and slowdown.
Rock is Word Game: ok Rock Is *not* Word Game: ok. Rock is Word disables, Rock is not Word enables Game: wait rock is actually word? *enables Rock is Word (The next 2 lines repeat.) Game: And rock is not actually word? *enables Rock is Not Word Game: And rock is actually word? *enables Rock is Word (200 cycles later) Game: Wait I realized Ive been doing this 200 times, so I guess I will print an Error. *ERROR: INFINITE LOOP.*
for anyone wondering: NOT rules override rules without NOT so, ROCK IS NOT WORD overrides ROCK IS WORD however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word however, since the rock in the former rule is an object, the latter rule becomes true so the former rule becomes true and rock is no longer a word