[Reported] Sapphire Giant trait bug

Platform, device version and operating system:

Switch

Screenshot or image:


What you were expecting to happen, and what actually happened:

Sapphire Giant’s 3rd trait:
Sapphire Shard
Create a Blue Giant Gem when I take Skull damage.

It sometimes takes effect and sometimes doesn’t. When the opponent matches Skulls and Sapphire Giant gets hit, the trait name “Sapphire Shard” is always displayed, but sometimes no Blue Giant Gem is created.

How often does this happen? When did it begin happening?

Sometimes. Haphazard behavior.

Steps to make it happen again

Fully trait Sapphire Giant, put him in front, and get hit by Skull damage.


Yay! New weekly glory troop bugged AGAIN! When a new troop comes with any kind of new mechanism, we can now bet that it will be bugged!

Considering the again haphazard nature of this bug, it seems possible that the programmer has been very careless about object-oriented programing, forgetting to lock variables (such as the gem board) when multiple objects operate on said variable in parallel. (IMO, object-oriented programing is just like communism: introducted maliciously upon a peaceful world for the purpose of creating chaos and mayhem.)

That’s Skyrmir the Lofty on your team, right? Okay, so did Sapphire Giant have Barrier when it was hit?

Wait, I’m currently running some tests and finding some anomalies to add to the list. In my cases so far, explosions (e.g. Doomskulls) are involved, the trait DOES trigger but no Giant Blue Gem appears on the board – presumably because the game was attempting to insert it into the exploded area. And upon closer inspection of my video (I slow things to 1x speed for analysis purposes) I can just barely verify the game trying to render a Blue Giant Gem in a tile where a Purple Gem was just exploded. I’ll upload it later.

1 Like

No barrier. I have 2 videos, in both cases Sapphire Giant did take damage, the trait was triggered (name text) but no GBG. One case was similar to yours: birthing GBG visibly aborted by doomskull explosion. The other case (pics attached above) was a simple skull match, and I can’t see any baby GBG; perhaps it was aborted by the 3 matched skulls being eliminated?

Again, this is probably a parallel processing bug. The programmer really has to watch out for this, or there will be no end to bugged new troops and mechanics.

Hello :slight_smile:

@rulesDirector
Please send those two videos in order to investigate this issue.

Please also keep this thread civil and related to the topic at hand.

For one, here’s my footage:

Key moment is this:

For closer inspection:
gow-sapphire-trait-misfire

Note the particle effects showing how the game is attempting to create a Blue Giant Gem WHILE ALSO eliminating (as part of an explosion) the Purple Gem that was previously located here. Ultimately, the cell is left empty and the remaining Blue Gems in column 2 fall into place for a match-3.

This is a problem because:

  • The Giant Gem is created “after” the explosions (i.e. as a result of damage caused by the Skull match and ensuing explosion), in which case the Giant Gem should NOT be counted as part of the exploded area: it should appear in that location post-explosion (and in this case specifically, set up a match of 4 Gems along column 2 giving the cpu another Extra Turn). Instead, only 3 Gems are matched, and the turn passes to me.
  • Inversely, if the Giant Gem was intended to be included in the exploded area, it should have itself exploded, expanding the affected region into the left column. But this did not happen either.

Also: standard tip that when trying to record a bug with a specific setup/trigger, set your game speed to 1x just before triggering it. Makes the analysis easier (no skipped frames).

8 Likes

I believe this is really a programming / coding issue, as this strange behavior extends across many troops and spells / abilities.

We may try to look at it graphically, or think of it as one “thing” (effect) happening after another. In the good old days of procedure-oriented programming, that would be close to how the programmer make things work: each effect would be handled by a procedure, and they are executed one after the other. However, with object-oriented programing bringing parallel processing into the scene, the “objects” handling different effects may get interspersed at a “per line of code” level if one is not careful, leading to very erratic and unexplainable behavior. The graphical mishap is probably the result (rather than the cause) of inadvertant parallel processing in action.

Just wanted to say this is really cool and well made post @Stratelier !

Thanks for the information!