LSV Breaks MTGO
TCGplayer0 HN recommenders · 2017–2023
323K views · demo · evergreen · Uploaded 2012-05-03
Pro Magic player Luis Scott-Vargas triggers a mandatory-action infinite loop on Magic Online, and the game stalls in a non-terminating state.
Cited as the real-world example of an inescapable loop in Magic: The Gathering, in discussions of its Turing completeness.
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
1:16:17In Search Of A Flat Earth
Folding Ideas
19:06This Is Phil Fish
Innuendo Studios
1:30:28AlphaGo - The Movie | Full award-winning documentary
Google DeepMind
53:51The Engoodening of No Man's Sky
Internet Historian
16:18Computer program that learns to play classic NES games
suckerpinch
59:2328c3: The Science of Insecurity
28c3
42:43"Propositions as Types" by Philip Wadler
Strange Loop Conference
4 comments from Hacker News
There's also the infamous video of (well-known professional player) Luis Scott-Vargas "breaking" MTGO by causing the game to wind up in a non-terminating loop of mandatory actions: [VIDEO] For those who are confused, the card involved there is Oblivion Ring: [LINK] Its effect is that, when it comes into play, you choose a non-land card in play that gets exiled (removed from play) for as long as Oblivion Ring stays in play, then gets returned once Oblivion Ring leaves play. This game devolves into a situation where there are three Oblivion Rings and no other non-land cards, so: Ring 1 exiles Ring 2, which returns Ring 3, which exiles Ring 1, which returns Ring 2, which exiles Ring 3, which returns Ring 1, which exiles Ring 2, and so on to infinity. The rules state that when a loop like this occurs (which is not often in real play), the game is an automatic draw.
That rule is exactly where the the construction used becomes interesting: it's built in such a way so that if the turing machine halts, the player who set it up wins the game. If it doesn't, by the rule above, it's a draw. So it's fundamentally impossible to tell the result of an arbitrary setup (and in practice you could set it up such that it halts iff some unknown conjecture is true). Regarding the oblivion ring loop, there's an example of it being used on MTGO, which doesn't end well (basically seems to crash the server and/or client): [VIDEO] And here's the paper on the latest turing machine construction in mtg: [LINK]
> Regarding the oblivion ring loop, there's an example of it being used on MTGO, which doesn't end well (basically seems to crash the server and/or client): [VIDEO] Oh wow, I should have realized that somebody would try it out online just to see what happens! I'm not surprised it ends up with some sort of clash; given that it's Turing complete, the game engine obviously can't detect whether a current state will end up halting or not... > And here's the paper on the latest turing machine construction in mtg: [LINK] Awesome, thanks! I'll definitely check that out
There’s never a time where players can’t interact - just passing priority or putting triggered abilities on the stack are actions. And each time this could happen the game checks state based actions to see if someone has won. That said, if both players have no options or just pass (which is more pronounced online) then you can end up in inescapable loops that cause draws. A classic example is this Luis Scott-Vargas game: [VIDEO]