Infinite loops

rafalele
rafalele Posts: 876 Critical Contributor
Instead of making changes in the way the cards should work to fix just an special case that could end in an inifinite loop (read this https://forums.d3go.com/discussion/73900/naru-meha-nerf/p1 or read in the 2.9 release notes the fix for Legion conquistador),  I think that the code should be changed in order to detect a loop and stop it after a number of iteractions, automatically if it is made by the IA or asking the user if stoping is desired (asking again every number of iteractions).

@Brigby, @Oktagon_Daiane is not possible, much more convenient smarter and cheaper what I sugest that changing every possible case that can be detected in the future?

You should also consider that the behaviour of the nerfed card does not fit with the card wording anymore after the nerf made on them and that new players should read every release notes post made in forums to understand why a card does not work as written.
«1

Comments

  • rafalele
    rafalele Posts: 876 Critical Contributor
    edited October 2018
    @Tilwin90 Infinite loops not need to be detected, just a number of iterations in the same turn or even just time (1 minute watching a game doing things alone could be enough). Then if it is IA's turn stop automatically if it is user's ask to stop or continue, and after the same new number of iteractions or time past, ask again and again and again until user decides to stop.

    And of course, I agree with you, infinite loops are not bugs.

    Also I think that every card should ask the user to be casted or not since I started to play the game.
  • Mburn7
    Mburn7 Posts: 3,427 Chairperson of the Boards
    I agree, it should be simple enough to set a "timer" on a turn.

    Just add a "break" condition to each turn, say if 20 or more cards are cast from hand every subsequent card cast gets a "do you want to cast this" prompt.  Like @rafalele said, just make the AI always say no.

    Then you don't need to nerf anything, just let it play out
         
  • rafalele
    rafalele Posts: 876 Critical Contributor
    Brigby said:
    This actually reminds me a lot of the situation Blizzard faced with Shudderwock. The way they handled it was placing a limit on the number of Battlecry effects triggered. I think this was a rather good compromise between maintaining the functionality and flavor of the card, while still placing a hard stop to prevent "infinite" Battlecry triggers.

    I think this is certainly an interesting discussion, and I'll pass it along to the team for review.
    Thank you @Brigby I think allowing user to decide is much better than nerfing cards and loops.
  • sutoLkcalB
    sutoLkcalB Posts: 119 Tile Toppler
    Hm, what about limiting the deck to 40 cards? Or xyz cards?

    Would that not limit any loop - not to say the fun if all the "loop loving players" lose the match because they can not draw a card anymore. I really would like that.

    That way the current TotP Green would not end each time  in round 2 with either the player or AI attacking with  infinite number of Ghalta, Primal Hunger - despite the boring waiting time until the loops finished. I tried it with a playable deck - but no chance; I had to switch to the same win-in-round2-deck type.

    And this type of decks is not what MTGPQ was intended to be, I guess at least.

  • Mburn7
    Mburn7 Posts: 3,427 Chairperson of the Boards
    Hm, what about limiting the deck to 40 cards? Or xyz cards?

    Would that not limit any loop - not to say the fun if all the "loop loving players" lose the match because they can not draw a card anymore. I really would like that.

    That way the current TotP Green would not end each time  in round 2 with either the player or AI attacking with  infinite number of Ghalta, Primal Hunger - despite the boring waiting time until the loops finished. I tried it with a playable deck - but no chance; I had to switch to the same win-in-round2-deck type.

    And this type of decks is not what MTGPQ was intended to be, I guess at least.

    40 cards is a terrible idea, it would make a lot of the PvE bosses impossible.

    Making a 120 card limit or so would be fine I guess, but I'm not sure if making Loopy decks impossible is the way to go.  They are quite fun after all.
  • sutoLkcalB
    sutoLkcalB Posts: 119 Tile Toppler
    Agreed. Would be hard against PvE bosses. As I do not play these, I had not thought about that.
    120 cards would not help, I think.

    Loopy decks are a matter of taste.
    I do not like them, because it comes down to pure luck who will win - the one who's loop will trigger first. No strategy, no interaction. It is like playing dice.
    That is not the spirit of MTG in my opinion.
  • techmarine5
    techmarine5 Posts: 57 Match Maker
    edited December 2018
    I would like to tack on that the current method of making a 40 card deck, then making a new one each time you run through is not a good idea. In addition to bricking some cards like the fetch 2, destroy 4 creatures green spell from origins. I used to like the card for my Karn embalm deck. However, hat bugged me most is that it causes cards in the tutorial to not work as worded. If you get unlucky with your mana, you can end with your surveil cards not always seeing 4. This is a major flaw and needs to be fixed ASAP, in one way or another. 
  • This content has been removed.
  • BlessedOne
    BlessedOne Posts: 258 Mover and Shaker
    TL;DR.
    There are a handful of "infinite" loops that can be done with table top magic. It's up to the player to determine when to stop the loop. The same could be the case for MTGPQ. Have a button that is a "break" that can stop any card interaction at any time.
  • stikxs
    stikxs Posts: 533 Critical Contributor
    TL;DR.
    There are a handful of "infinite" loops that can be done with table top magic. It's up to the player to determine when to stop the loop. The same could be the case for MTGPQ. Have a button that is a "break" that can stop any card interaction at any time.
    The problem is Greg not knowing how to stop.
  • Kinesia
    Kinesia Posts: 1,621 Chairperson of the Boards
    stikxs said:
    TL;DR.
    There are a handful of "infinite" loops that can be done with table top magic. It's up to the player to determine when to stop the loop. The same could be the case for MTGPQ. Have a button that is a "break" that can stop any card interaction at any time.
    The problem is Greg not knowing how to stop.

    We all have friends like that...
  • rafalele
    rafalele Posts: 876 Critical Contributor
    stikxs said:
    BlessedOne said:v
    TL;DR.
    There are a handful of "infinite" loops that can be done with table top magic. It's up to the player to determine when to stop the loop. The same could be the case for MTGPQ. Have a button that is a "break" that can stop any card interaction at any time.
    The problem is Greg not knowing how to stop.
    Should stop after a given/coded number of casted cards.
  • Shaaw
    Shaaw Posts: 15 Just Dropped In
    Could always have a counter for both player and Greg's turn. After X actions without player input, prompt with a message to halt any card effects on the stack. Make it like 100 or something so it will not stop Greg from making ridiculously powerful combos but will stop the game from endless looping.
  • ZW2007-
    ZW2007- Posts: 812 Critical Contributor
    I'm only assuming here that this discussion is in regards to infinite loops that have no possibility of stopping on their own and have no possibility of actually killing the opponent. There are plenty of "infinite loops" that can go on for a long time and are painful to watch and play against but will generally come to a natural end point and kill you. There are also infinite loops that are truly infinite and will never kill you if Greg kicks off the loop while missing a piece of the combo.

    For example, there is the Kiora Waterveil deck that we all know and hate. That will eventually run out of steam and either kill you or pass the turn. There are a number of different decks that utilize Omniscience in a similar way that will also either kill you or run out of gas and pass the turn.

    On the other hand, we have the Naru Ruse deck of old and now the Murder Investigation/Divine Visitation deck that will trap you in an infinite, unbreakable loop. The interesting thing with these two decks is that while they are perfectly viable decks for a human to run (because they have an additional combo piece that will end the game), Greg is not smart enough to always run them properly and can get stuck in a loop.

    Naru Ruse worked by doing three things:
    1. Cast Imminent Doom
    2. Cast Naru
    3. Cast Siren's Ruse on Naru.

    If you have no other spells in hand, ID will grow and do more damage with each cast of Siren's Ruse and kill the opponent.

    Murder Investigation/Divine Visitation (MI/DV) decks work similarly:
    1. Cast Poison-Tip Archer or Sarkhan's Unsealing
    2. Cast Murder Investigation and Divine Visitation
    3. Cast and kill your own creature or create a creature token.

    Assuming you have either of the cards from step one in play before dropping both of the cards for step two and then doing step three, you win. 

    Greg can pilot either of these decks (assuming he's smart enough to target the opponent's PW with the Sarkhan's Unsealing trigger) but he doesn't always cast everything in the right order.

    So, here's my proposal: If the game could recognize that the same action is repeated X times in a row with no damage being dealt, then it should stop the loop after X iterations.

    This wouldn't effect Waterveil or Omni combos since they don't repeat the exact same action over and over again. Sure, Waterveil converts gems and draws cards over and over but it casts different spells to convert those gems. On the contrary, the Naru Ruse deck only needed to cast Naru with Siren's Ruse as the only spell in hand and it would repeat that action endlessly. With this system in place, it would cast Siren's Ruse X times and then just stop since no damage is being dealt. If ID is in play, it would keep going and kill the opponent. Same concept with the MI/DV deck. It would spawn X angels and then stop making more leaving Greg or even the player with a decent size angel blocker but it wouldn't be stuck infinitely if one of the damaging cards weren't in play.

    This way there is no programming to recognize specific cards or even actions, the game just needs to recognize that the exact same action is being repeated to no avail and automatically end it.
  • Monkeynutts
    Monkeynutts Posts: 566 Critical Contributor
    Getting sick of the AI comboing off for minutes on end.
    Gets pretty boring when it's the same combo.
    End up pause and quitting so I CAN ACTUAL PLAY the game again..
  • Brigby
    Brigby ADMINISTRATORS Posts: 7,757 Site Admin
    Hi Everyone. The team has been working on a Loop Prevention system and it should be implemented in the upcoming 3.3 update!
  • Monkeynutts
    Monkeynutts Posts: 566 Critical Contributor
    @Brigby, it's not necessarily a loop prevention you need. Just stop older set interacting with newer sets in most cases and it will eliminate pieces interacting as they won't be in the decks together.

    Having Origins around for her I get...kinda, but having BFZ & SOI card interacting with IXA & DOM for example is a recipe for disaster. It why the paper version rotates out older sets.

    There is one spell combo about with new cards and a few masterpieces that has been going around. Mostly Ram Derek planeswalker.