Is the AI Explode/Gather bug back?


#1

It looks like Troops that Explode on the AI side are getting way too much Mana. More than the 70% they should be limited to. Looks like they are getting full 100% again.


#2

Ok… more testing needed… here is a video please pick it apart. I don’t really want to capture hours of playing to test this more without asking everybody to take a peek first.

Here is my interpretation:

There are 11 Reds and Gord chooses Red. All 11 Red Explode.

11 * 0.7 = 7.7 Red Mana gathered

There are 11 Brown Gems adjacent, and Gord takes out 8 of them with the Reds

8 * 0.7 = 5.6 Brown Mana gathered

7.7 + 5.6 = 13.3 yet Ragnagord with a Mana cost of 14 got filled. Surely something is amiss, no? The game used to floor when rounding no?


Elemaugrim or Infernus
#3

IDK about mana gathering, in this cases there might have been banner or extra red traits on other troops. But today I had a weird match against Forest troll, Sea troll, and Kraken. I devoured bottom Mab card with Maw on turn 2. This left exposed some brown mana, FT filled up, cast, filled ST and Kraken, Kraken cast, ST cast, almost whole board became blue and after all blue collapsed … all my cards died except Maw that was left with 20 hit points out of about 200 starting health and armor. There was no direct damage apart from some from Kraken which did not devour anything. I think, it were some weird multiple triggers for Kraken’s 3rd trait.

After the board cleared and dust settled, AI actually got only a single extra turn. :rofl:


#4

I think the only possible thing that could be off with your interpretation is that it might count the two mana colors separately, with each rounding up. That is: 7.7 red rounds up to 8, then 5.6 brown rounds up to 6, for a total of 14. IF that is happening, this case could just squeak up to 14, but you might be on to something. I think we’d need a couple more data points to be 100% sure.

I can do some testing as well, but not until tomorrow evening.

Thanks for recording that at glacial speed!


#5

Thanks Stan.

More than a few times I’ve felt something was wrong but we know what “felt” is worth lol

This is my first time bringing it up. I don’t have as much time to look into this stuff as I’d like so why not make it a group effort :slight_smile:


#6

It just occurred to me that we can probably check this by counting the other colors and how much spills to Famine and Death.

Any excess Reds should spill to Death and any excess Brown should spill to Famine, but we’d also need to count greens and yellows. I’m not sure how the game counts and allocates mana when things happen simultaneously, so we might not be able to get 100% certainty. Give me a few minutes to plot the board out and see if I can get to any kind of conclusion.


#7

If it helps you there are 11 Red and 11 Brown when Gord casts. He chooses Red and takes out all 11, and 8 of the adjacent Browns.


#8

If you’d like to slow the video down further

image

If you don’t see that option you need to enable HTML5 video in your browser at https://www.youtube.com/html5


#9

See, I agree with you, but rounding in computer math is something that can work a lot of ways.

7.7 + 5.6 = 13.3. But you’re talking two separate events.

On the first event, 7.7 red mana is how much is “supposed” to be gathered. The three most common/easy rounding implementations would pick 7, 8, and 8 for that number.

(The three common rounding algorithms are:

  • Floor(), which always rounds down.
  • Ceiling(), which always rounds up.
  • “Banker’s Rounding”, which rounds to the nearest even number. (C# default.)

Humans tend to say, “> x.5 rounds up”, but Banker’s Rounding is more “fair” across the spectrum of numbers.)

The second event is 5.6 brown mana. That rounds to 5, 6, or 6 depending on algorithm.

So the game could reasonably call it 7+5 = 12 mana, or it could reasonably call it 8+6 = 14 mana. The only way it could end up with 13 mana is if the two gathers used different rounding algorithms for each operation. That would be very strange.

This is a common topic in computer science circles, what you’re seeing is “accumulated error” from rounding. The first match comes with 0.3 “free” mana when it’s rounded up. The second match comes with 0.4 “free” mana as it rounds up. That free 0.7 mana is exactly what’s needed to turn 13.3 into 14.

Of course, if the game is SUPPOSED to use Floor() rounding, this is ded wrong. My guess is it uses Banker’s Rounding, so, say, 8.9 would round to 8, leading one to believe Floor() is in use depending on example. I guess this because it’s the C# default, and if this is a Unity game I bet it’s using C#.

That’s kind of a bad deal, all things considered. I feel like GoW explosions and matches favor odd numbers. That takes away the “fairness” of Banker’s Rounding, because odd numbers round up. I think players would find a Floor() implementation to be more fair. Or, realistically, players want to get Ceiling() for themselves and Floor() for the AI. :wink:


#10

I think it’s working as intended.

I counted out all the gems on the board and determined how many of each color were destroyed in the explosion. The number of gems and how much mana it would be at 70% are are as follows:
Green: 6 = 4.2
Yellow: 5 = 3.5
Blue: 8 = 5.6
Brown: 8 = 5.6
Purple: 4 = 2.8
Red: 11 = 7.7

You’ll note Psion went from 4 mana to 13. That would make sense if each color were rounded individually, so 4 original mana plus 6 blue plus 3 purple.
Ragnagord goes from 0 after the cast to 14, consisting of 6 brown and 8 red. This means if the 70% calculation is working, there is zero red or brown mana left to spill over to Famine or Death.
Famine goes from 0 mana to 8, which agrees to the 4 green and 4 yellow.
All of Death’s colors have been soaked up by other troops, so he gets zero.

I think this confirms that everything is working with the 70% mana calculation on exploded gems and also confirms that they use bank rounding on individual colors before mana is applied to troops.

If it was 100% mana on explosion, Psion would have filled off that explosion and more mana would have spilled to Famine and Death.


#11

6-8 times when facing Ragna and Famine today. Ragna would clear the board then Cascade until famine filled (even at zero) and then casted. It was like Ragna was a goblin and Famine had a mana link.
AI and RNG have clearly been wacko since the update.


#12

I saw Spirit Fox cast which then filled Psion, Rag, Famine and itself back to full. This was the AI’s first turn, so Rag did have half already.

Just one instance of course, so not conclusive evidence of tomfoolery.


#13

Today it didn’t seem to happen as much if at all. Famine is still filling way too quick. Only takes it 3, 3 gem matches. Cause it surges every time. I’d say they changed something. But the devs will just say “they never touch the AI”. :joy: