about 2 years ago - /u/The_Easy_Target - Direct link

Hi. I am the engineer who worked on "Premonition" (the cracked-card system), so I can give some (lengthy) context on what is going on with HexCoreUpgrade.

HexCoreUpgrade is using a random effect. Those are hard to deal with in "predictions" (OracleEye and Premonition), as we need to be very careful to not leak information:

  • Imagine playing Ebb (Deal 2 randomly to an enemy...). If the cracks reveal which unit will be damaged, the opponent will know which unit they need to protect. This knowledge would change gameplay pretty significantly.
  • I am not sure a situation exists currently where giving Victor a random keyword would result in any unit dying or not depending on which keyword he will get. Unfortunately the system dealing with "predictions" is not able to distinguish between "different kinds of randomness". It just sees "random" and bails.
  • Making that system smarter in a general way is excruciatingly hard, even though the right answer seems quite obvious for HexCoreUpgrade. That system needs to account for all possible interactions between existing and future cards and mechanics. It is a bit of a long shot, but imagine
    • A future card that speeds up HexCoreUpgrade similar to what Level2 Senna does to damage/kill spells
    • Now you can play SingleCombat (An ally and an enemy strike each other) targeting Viktor before HexCoreUpgrade
    • As HexCoreUpgrade will resolve first, depending on what Viktor gets (QuickAttack, Tough, ...), he'll survive the SingleCombat or not, and we are back at leaking gameplay altering information, which would be bad...

If giving the right answer with random effects is not possible, what can we do?

  • For the OracleEye, we deal with this by simply not opening the eye. This seems to have worked reasonably well so far.
  • For Premonition, however, not showing cracks would be actively deceiving and give you a false sense of safety, as "This unit will not die" would look just like "We don't know if that unit will die or not due to randomness". Having a unit without cracks (due to a random effect) die would be a very rough experience.
  • Hence, when there is a random effect, and we don't know if a unit will die or not, we resort to "cracks blinking on all units", to alert you that the Premonition visual unfortunately cannot be trusted right now.

We are discussing internally if there might be ways to prune out the most irritating cases of "there is a random effect, but nobody will die from it" without leaking information but, it is a surprisingly complex setup, so I cannot promise a timely change.