Baba Is You, but you create an Infinite Loop every level
Vložit
- čas přidán 31. 05. 2024
- A Baba Is You levelpack about CREATING the INFINITE KEKE LOOP.
An Infinite Loop is caused when during parsing, the game is forced to parse a statement that invalidates and recreates itself over and over.
For example, "BABA IS WORD" means that the baba object acts like text. But if you then put the baba object to make the statement "[baba] IS NOT WORD" this causes an infinite loop because NOT WORD invalidates the BABA IS WORD, which invalidates the NOT WORD, which re-validates the BABA IS WORD, etc.
by Pito, Eternity Expedition:
cdn.discordapp.com/attachment...
Timestamps by axerity (the #1 custom baba is you level creator) :D
0:00 Intro
0:17 The classic
0:48 The simplest
0:58 Also well known
1:07 Not your mission
2:17 Collision
3:27 How it works
5:04 With confidence
7:02 Flower dance
7:50 The gang
11:01 As you may know
11:32 The chain
13:04 A word from our sponsor
16:24 Avoidance
17:32 Words cannot describe
18:45 Innate
20:21 My feelings
21:19 What? Why not?
23:25 My true feelings
25:07 Unfeeling
26:51 A fake loop
27:24 Still works
Playlist (CUSTOMS): • Baba Is You - Customs ...
"secret" discord: / discord - Hry
I like how the video itself is also a loop with the real intro at the end connect to the beginning.
its a youtube short LOL LMAO /HJ/J/G/S
did you just remove the ads on my video
Oh my god the video is an infinite loop-
Cuz it ends with him going back into A, and starts with him in A.
The levels are in the same order too-
Oh, I didn't notice when this got uploaded!
"Still Works" is there to show that Win would've worked normally if it was ever in a level.
Half the Feeling section is about complete jank because that's what Feeling is. As you saw, even the most basic variations on x feeling y is not y *don't work,* so I didn't have as many options to make it interesting.
The pack as a whole would probably be more interesting if Infinite Loop was actually designed to handle every case in which it's logically an infinite loop, but it wasn't designed as a game mechanic, it was designed as a failsafe.
cheese in lvl colision just do rocket *is* ufo
@@gg-96 If you play the level, you'll find this doesn't work. The reason for this is actually very strange; GROUP IS DONE makes the ufo disappear before the infinite loop checker realizes something is wrong. Because hot/melt happens after done, ufo doesn't get immediately doned when created via has.
me thinking "group is done" was supposed to make it look like ufo is flying:@@dusaprukiyathan1613
also how u make levelpack where infloop=win.
19:43 - innate: Bear in mind that "X feeling Y ..." rules only affect objects which are feeling Y. The reason e.g. "tree feeling pull is not pull" did not cause an infinite loop is because there were no trees feeling pull in the first place, so no individual tree got stuck in an infinite loop. "Text feeling push is not push" caused each piece of text to reparse its own rules in a loop, because each piece of text felt push so became not push so didn't feel push so stopped being not push so felt push.... The trees simply weren't pull, so didn't need to reparse their instructions.
That wasn't the confusing part. Icely tried "tree NOT feeling push is push." If the tree isn't feeling push, then it becomes push. Otherwise, there is no rule making it push.
As far as I can tell, here is the resolution: remember that an infinite loop is created when "no coherent set of rules can be determined." In the *very particular* case of "X not feeling Y is Y," the game determines that, while "X is not Y" is contradictory, "X is Y" is consistent. Therefore, it settles on giving the object the property and moving on. Internally, it's probably spaghetti-code weirdness; perhaps losing a property doesn't force a rescan to determine if the object should still have the property or something.
@@circuitcraft2399 my view is that "X feeling Y is not Y" is one whole statement. The game reads it only that one statement and then moves on. If you have two different statements that change each other it can cause a loop but the game will only go and check previous statements that have changed as part of a new statement being made.
That's what's happening at 26:15 , the game reads the top-left statement as one whole to determine "bird will be float" and then the next statement as "the bird is float, so the bird is not going to be made float from this statement (but the bird is still float)". THIS then causes the game to ask "Okay, so does this change a previous statement?", it reads the top-left and sees "Ah, the bird is float, therefore BIRD NOT FEELING FLOAT is false and therefore bird is not float."
the following float statements seen later on make sense if each new statement it reads re-checks all previous statements once and only once for each new statement parsed, maybe because none of them ever say "not float" which would force any instances of "is float" to not work, which is why "not float" causes a loop whereas many instances of "is float" won't cause loops.
@@Ka_muu that wasn't the confusing statement, though. The "not" is in a different position. Re-read my first comment.
Edit: I agree that "X feeling Y is not Y" is a contradiction if and only if there is some "X is Y." We observe this in "Unfeeling," under slightly weirder conditions. The problem is "X not feeling Y is Y," which should be unstable in both configurations, but causes the bizarre behavior of "unfeeling" instead. It is almost certainly a bug.
Sun, Clock, Eye, Ear, Nose, Hand, Foot, Knight, and Pawn are all objects in the Abstract theme, the one I normally use.
chess battle advanced
@@SomeGuyNamedDezecra chess battle advanced
@@goldenorb1210 chess battle *advanced*
I still don’t get how Baba Near Group is Group causes a loop, wouldn’t that just make Baba part of the Group and let that be the end of it?
baba needs to be near every object that is part of the group to be in the group, when baba joins the group, it's not near baba, so it's not in the group anymore
Imagine the Group contains {Keke}
Then Baba Near Group Is Group reads as Baba Near Keke Is Group.
Now the Group is {Baba, Keke}
Then the rule reads Baba Near Baba And Keke Is Group
Ah thanks! I was reading Near Group as only needing to be next to one element of Group, when actually it should’ve worked something like Near All where it needs every object in the level to work
Let's say group is keke and baba near group is group, when baba comes near keke baba also becomes group which means group = baba, keke but baba can't be near itself unless there is another baba near it, which mean group is no longer near baba, making baba not group but now again group is just keke so this process is repeated inf times and makes a infinity loop
@@BryanLu0an object isn't near itself, weirdly
11:30 So as an experiment I found out that in vanilla you can get a win and an infinite at the same time. I recreated this level arranged as it is in the solution except baba is one square to the left. I put a CIRCLE underneath the ON and added BABA ABOVE CIRCLE IS WIN. To my surprise the game doesn't do the sensible thing and skip the infinite loop check if you win. Instead, both happen!
221P-2C2G is my level download. You can try a few different combos to see if you can win and get an infinite or not
I actually made a level concept around making an infinite loop and winning at the same time. I have a trapped flag that in order to free creates the phrase "Flag feeling win is not win". So when you try to create "flag is win" you get an infinite loop before you can get to the flag. But you can create "flag on rocket is win" ("rocket is you" btw) and so the infinite loop only happens once you get to the flag and win. (also there's a preventative rule of "rocket is not win")
@@keylimepie3143 Yeah things seem to be more complicated than I thought.
10:59 My favorite of the PBS kids shows with alliterative titles starting with w.
Chess CBA Advanced, CBA standing for "Chess CBA Advanced,"
Recursive acronyms are the funniest
That doesn’t work because it would actually be CCA.
Here’s my fixed version: In CBA Battle Advanced, CBA stands for “CBA Battle Advanced”, where CBA stands for “CBA Battle Advanced”, where CBA stands for “CBA Battle Advanced”, where CBA stands for “CBA Battle Advanced”, and so on.
@@TheCaregiverSITMOB The C is the first letter of Chess, the B is the second letter of cBa and the A is the fourth letter of advAnced
Brain is hot and melt
"X is Word" makes it so that [X object] can be used as the word X itself in sentences. if Text is Word, that would theoretically mean that every [Text object] could be used as the word Text... which would be really weird. it would, for example, make "Baba is You" also function as "Text is You"... and the same would go for "is is You" or "You is You" or "without is You" etc. etc.
alternatively, perhaps "X is Word" means that [X object] acts in sentences like the thing that refers to it specifically. so "Text is Word" would, for example, make it so that the statement "Baba is You" also means "BabaText is You", because "Baba" is also acting as Baba metatext, which defines behavior for the "Baba" text.
using these justifications, it's fair to say that "Text is not Word" does nothing because that's just default behavior anyway.
I think second explanation is correct. In metatext, TEXT (N) IS BABA for example turns TEXT (N-1) into baba. So noun text points to its child. But baba is word makes object baba point to itself.
Baba is you, text is word would make you control text_baba
i think the metatext mod did actually make "TEXT IS NOT WORD" actually be useful, even if it means it's inconsistent with the base game
@@IcelyPuzzles Yeah I looked inside the code, and basically text is word by default, and making it not word makes it not function(I think), I'm not smart or anything there's just a lot of helpful comments in that lua code so that's how I could tell. Its just a toggleable setting in the part I looked at.
@@IcelyPuzzlesmost of these should just be alternators lmao
I knew for a fact the starting world was edited from the start because no one changed how I see the letters ABC other than you
ONG BIJUU MIKE BACK AT IT AGAIN WITH A GREAT BANGER!
the joke is that he's not bijjuu mike
@@Graydiantshilarious.
Something I've wondered for a while: From a programming point of view, how does undo work in this game? It seems like the game can remember all the way back to start no matter what you do which shouldn't be possible normally since that would require infinite RAM which the CPU doesn't have.
s
@@IcelyPuzzles s battle advanced
@@JustAnotherCommenter youtube literally keeps redirecting my comments to other comments THIS SITE IS A JOKE that is all
I meant to post that on a video called "s"
real reply: the data for a level is probably not close to large enough to excess it i think
@@IcelyPuzzles Wouldn't you still be unable to undo all the way back to start eventually given enough time
Star stuff demo is getting an update on thursday .also great vid like the fact the vid is a loop
I think that "X feeling not push is push" doesn't work because it checks for the propery not push. "X not feeling push is push" would work.
but level "What? Why not?" (at 21:26) has text "X not feeling Y is Y"
x feeling not push refers to every x with at least one property other than push
some of the sentences make me think this is taken from a stream
What I’m wondering is how did the creator even make this level pack? How much do you have to break the game to make it possible to “win” with the infinite loop screen?
LEVEL NOT WITHOUT ERROR IS YOU AND WIN
Creator here. This game has mod support, and you are 100% allowed to inject custom code into a levelpack. Conveniently, there is a function called MF_win() that just wins the level, so all I had to do was call MF_win() when an infinite loop happened. This was only slightly more complicated than simply putting the function in the correct place.
Baba advanced
Babadvanced
chess baba
Banced
Pro-level Baba is You turns my brain into mush, it's just one of those things I'll never fully comprehend. Kind of like how some people can solve a rubiks cube in three seconds, it's just eldrich knowledge that I'm not built for.
Chess Battle Advanced Deluxe
CBAD
i still cant get over that face in the middle of the level
2:39 one must ask why you didn't just do "Rocket is Ufo" in the first place? Is there some priority issues with that?
looping the video. Thanks for
you're welcome
1:53 HAND is normally white. All the others are correctly pink
Edit: Wait… what? On the wiki it says ‘In the level editor, it is recolored to be purple.’ I didn’t even notice that and thought it would be white anyway as in the base game
hand is normally pink in levels as a default
@@IcelyPuzzles yeah just didn't notice like what would be the reason to recolor it anyway
Parabox Baba Advanced
26:11 i see, bird not feeling float is float, meaning they're floating, but bird not feeling float is float again would reverse it, meaning bird feeling float is not float but stable
So that's what we called a never ending level
What language do you have the game set to? I'm just wondering
Keke.
Custom one from the video "Baba Is You: Why is everything Keke"
17:34
Why is there no feet or foot in this level?
Day uhh... 5 of this you know waiting for ummm... Icely to publish the chease i meant Chess Battle Advanced: the song
yeah...
Chess Battle Advanced
TEXT IS KEKE for some reason. Have you made a language file?
does a baba feeling all groups that do not contain itself contain itself
Why is NOT GROUP IS GROUP an infinite loop?
Suppose LEAF and TREE is in a group, and BABA is not in a group
NOT GROUP IS GROUP would make BABA into the group with LEAF and TREE
So now everything is a group
Where's the paradox?
Because everything is a group, none of them are "not group", therefore they aren't group.
@@dusaprukiyathan1613 so if everything is in a group, that somehow causes a paradox?
1. Everything that is currently not group becomes group.
2. Since the nouns included in group are changed, this triggers a rule re-parse.
3. Everything that is currently in group is no longer group (since NOT GROUP IS GROUP)
4. The nouns included in group has once more changed. Re-parsing rules.
5. This process from 1-4 goes on endlessly, until the game realizes "Hey, this rule is taking way too many steps to process. Cue the infinite loop screen."
cake baba advanced
why is WORD the most spaghetti-coded property in BIY.
you know what isn't spaghetti? Chess Battle Advanced
in "Collision", you could've just turned rocket into ufo.
18:28 why does that work?
EDIT: 26:02 - 26:16 got me off-guard, especially the troll baba smudge thing💀
When text is stacked on conditions, the game can get confused. For example, BABA (ROBOT/ON) KEKE IS YOU will parse as both BABA ON KEKE IS YOU, and KEKE IS YOU. This works with WORD objects as well as it does with text. So EYE ON EYE IS NOT WORD is made, but when EYE IS WORD, it confuses the ON and makes EYE IS NOT WORD.
i love how CBA
Brain is defeat and done
Easiest map pack ever, every single level can be beaten just by toggling high contrast colors 200 times then moving or idleing.
Edit: I Infinite looped in the map to beat the map and ended up in default level(with map size carrying over), but I pressed f3 to go into editor(debug mode feature) and the music is set to blank, the object palate is empty(not the object list though), and everything else is default. Also there's no name or level id, so its just () in the top left corner.
Thats bad sportspersonship
@@SomeGuyNamedDezecra I was joking, this is obviously not the intentional way to beat it, and ending up in default level was just me messing around.
So it seems like "Too Complex" only really exists to prevent lag since to a human the level with all the clocks really isn't complex at all
There are different "Too Complex" triggers with different reasons behind them. Most of them relate to game lag. (SPOILER)
However, one exception is the clause where you can't transform a LEVEL into more than 50 objects at once - that was added to prevent you from softlocking yourself by transforming a LEVEL into so many objects that the map is inherently "Too Complex" and therefore unusable.
@@underrated1524 Interesting. There's something kinda fascinating about trying to reverse engineer a game's programming just by playing it and paying attention to its internal logic
Why is "not group is group" an infinite loop? By the gane rules it doesn't mean "only not group is group", as in while everything but group is group, group can still be group
if not group is group then the object is in the group but then the object is not part of NOT GROUP so the object stops being in the group which makes it part of NOT GROUP which makes in the group again
@@mathematicskid oh yeah I forgot that objects initially outside of group can get stuck, thanks!
You rearranged the map
Baba is a deranged game
Baba not feeling troll is troll
1:08 chess batlee adve.... you know
Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is Baba Is...
Loop Baba Advanced
Why in "collision" you can't just make "rocket is ufo"?
I think its because done comes after is but before has
The pack's first screen said CBA and you didnt point it out
Keep watching :)
Loop Battle Advanced
How did you not make a Chess Battle Advanced joke at the begining.
He did. That’s why it’s like that. Watch to the end.😊
I was confused at first, like "did the pack download get corrupted or something? Why are the levels out of ord... oh."
Baba is word
[Baba] is CBA
CBA is not word
Loop battle advanced
BABA NOOOOOOO
X = (x battle advanced)
Ba
Ba
I would like but rn it’s at 699
hello me some amount of videos in the past
jun 17
17:26 why is that an inf loop?
same question please notify me too
so i opened the editor and tested
1) all that stuff at the top is irrelevant (kinda? it probably parses after the rules causing the Infinite Loop? otherwise Too Complex would take precedence), all you need is X IS WORD and ObjectX ON Y IS WORD
2) if you put the ObjectX in question on ObjectY everything becomes fine
3) if you replace Y with X the loop still occues (unless ObjectX is stacked on another ObjectX)
4) if you make X IS WORD and X ON Y IS WORD, then all ObjectXs will act as text, even those not on ObjectYs (so in our case second rule should not take precedence over the first)
5) if you place a random ObjectX on an ObjectY in the level, it does not fix the loop
6) EVEN IF you stack an X on top of ObjectX, it is still somehow an infinite loop (even though at no point in rule parsing does Y IS WORD exist)
ok probably one of those "ridiculous parsing bugs in this game"
@@bot24032 The level transformation stuff is in fact just an obstacle to beating the level, because it causes Too Complex. As for why it infinite loops, uh...
I have no idea. I'm pretty sure my intended solution made more sense.
22:47 feesh
Chess Battle Is Advanced
Chess Battle Feeling Advanced Is Not Advanced
KekekekekekeKekekekekekeKekekekekekeKekekekekekeKekekekekekeKekekekekekeKekekekekekeKekekekekekeKekekekekekeKekekekekekeKekekekekekeKekekekekeke
Says the infinite loop
Chess Looping Advanced
Icely puzzle is still make video baba is you
But alienshock is stop make video baba is you
Not group is group
1st
27:54 chess battle advanced developement started in 1984?!??!??!
must be a glitch
ugkckugkgukugugkugk yeah a glitch
1:16 too complex
Chess battle advanced