Thaumanova Fractal boss teleporting at 50%
Noticed that too today, he does some new projectile attack after porting so it looks intentional :X
Noticed that too today, he does some new projectile attack after porting so it looks intentional :X
I hope not, that boss was already bad for pugs, there’s no need to make T4 dailies longer…
I hope not, that boss was already bad for pugs, there’s no need to make T4 dailies longer…
Seconded.
What’s with Anet and their desire to needlessly complicate things that are fine as they are?
Remember, remember, 15th of November
I still don’t understand the issue at this boss for players.
First rule is: Don’t run around like chicken – Stand still!
If there are blinking tiles, don’t move asap, wait 1-2 seconds and go slowly onto the adjacent tile.
With running around you just make things worse and harder.
So, I don’t see that this teleportation will make the anomaly harder for pugs because they already range it from distance while running around headlessly.
This is a bug. I have been able to reproduce this internally, but I’m still not quite sure what is going on. At 75%, 50%, and 25% his script asks him to re-teleport to the middle, presumably as a safeguard in case he somehow got moved away. However… for some reason, at 50% he gets teleported to the corner of the platform, almost every time. When he hits 25%, he teleports back. The script handlers for 75%, 50%, and 25% are almost identical, so I suspect code shenanigans… I’m going to have to debug this more thoroughly before I can figure out what is really going on.
I could probably easily fix this by removing the safety teleport but this seems like it could be causing problems game wide so I need to figure out what changed.
For us he teleported to the side at 50% then back to the middle at 25% and then almost instantly back to the side.
I still don’t understand the issue at this boss for players.
First rule is: Don’t run around like chicken – Stand still!
If there are blinking tiles, don’t move asap, wait 1-2 seconds and go slowly onto the adjacent tile.
With running around you just make things worse and harder.So, I don’t see that this teleportation will make the anomaly harder for pugs because they already range it from distance while running around headlessly.
Except when you’re doing it on t4, because the platform shrinks, so he’s always teleporting to a spot where he can no longer be melee’d. Even if you’re ranged tho, all of the tile destruction mechanics/lightning strikes now appear in a cone in front of him (since there are no back or sides to attack from), effectively making him unattackable for long periods of time.
Except when you’re doing it on t4, because the platform shrinks, so he’s always teleporting to a spot where he can no longer be melee’d. Even if you’re ranged tho, all of the tile destruction mechanics/lightning strikes now appear in a cone in front of him (since there are no back or sides to attack from), effectively making him unattackable for long periods of time.
He can be melee’d there. I did it yesterday and he wasn’t outside of the platform for us only when tiles disappear for some seconds but afterwards you can go back again and continue to melee.
Finally figured it out. The bug was hilarious but too technical to explain. Fix incoming.
Finally figured it out. The bug was hilarious but too technical to explain. Fix incoming.
You know you want to tell us
“Beware he who would deny you access to information,
for in his heart he dreams himself your master.”
Sad sad.
To me, that bug added a new flavor to Thaumanova Reactor Fractal. Maybe I was the only one, oh well.
GG.
Sad sad.
To me, that bug added a new flavor to Thaumanova Reactor Fractal. Maybe I was the only one, oh well.
GG.
Yeah tbh id like to see that boss get a little bit more flavour with moving around every now and then and executing a mechanic or something.
This “bug” actually made the encounter significantly harder as it is more difficult to deal with the disappearing platform when he is on the edge. Maybe it is worthwhile for future “challenge mote” or whatnot.
Finally figured it out. The bug was hilarious but too technical to explain. Fix incoming.
Try us. Im sure it will make for an entertaining Dev blog.
Finally figured it out. The bug was hilarious but too technical to explain. Fix incoming.
You know you want to tell us
Yeah…
Finally figured it out. The bug was hilarious but too technical to explain. Fix incoming.
Try us. Im sure it will make for an entertaining Dev blog.
OK fine.
So I started by looking at the anomaly’s creature script. The fact that this was a consistent teleport at 50% made it seem like it would be an easy thing to track down, and the creature script was the likely culprit.
The anomaly had a script handler listening for it to hit 50% health. In this handler was a call to teleport it to the center of the map, presumably the designer who originally built the anomaly put it there as a safeguard, but it should not be needed. I figured, “maybe the teleport is failing and picking the wrong navmesh?” so I just deleted the whole handler.
The boss still teleported at 50%…
OK so it isn’t the creature script, so I looked at everything referencing the anomaly with regards to its 50% health threshold, and the only thing left was a map script. This map script did nothing but set a trigger, but there was a handler listening for this trigger that fired a skill at the feet of the anomaly “Unstable Matrix”, which is the skill that targets everyone and makes platforms fall.
This skill is not sourced from the boss, since the boss is doing his own thing at this time. Instead, the skill is sourced from an invisible, unattackable gadget that spawns right at the feet of the anomaly. These types of gadgets are called “skill launchers” and are used in places throughout the game, though we try to avoid them these days as they have a tendency to be buggy. For instance, until last year, some player skills such as the revenant sword 2 would randomly target these skill launchers, and players would see their projectiles flying at invisible objects.
All gadgets in our game have flags that define their behavior. Skill launchers were properly flagged to be unattackable and non targetable, but I discovered that they, hilariously enough, were not flagged as “No Collide”.
The skill launcher at the anomaly’s feet was colliding with him when it spawned. And when colliding gadgets collide with a creature when they initialize, they “Eject” said creatures, causing them to teleport to nearby navmesh. The reason the boss would teleport back to the center at 25% was because of those teleport safeguards on the creature script. But of course the next time Unstable Matrix fired it would teleport back out.
Flagging skill launchers as no collide solved this bug (and probably some elsewhere), and then Bill fixed some issues that could cause creatures to teleport too far away when ejecting, as the anomaly had.
So why did it started happening only recently? Also could skill launchers cause rev hammers to dissapear after colliding with them?
So why did it started happening only recently? Also could skill launchers cause rev hammers to dissapear after colliding with them?
It started happening only recently due to some code changes to physics and navmesh. Before, when the skill launcher collided with the anomaly, a code bug coupled with a navmesh crack caused the ejection to fail. Now that that bug was fixed, the ejection succeeded.
Projectiles shouldn’t be able to collide with skill launchers, even before this change, because of the unattackable and non-targetable flags. Additionally, the collision radius is like 9 inches and they are on the ground so the projectiles would just pass over them anyways.
I see, so anet by fixing encounters they make them literally unplayable :p .
Kind of sad that the model of the anomaly didnt look like it was launched and it looked like it just teleported.
I was hoping for something like this: https://youtu.be/Xc0dNgQA6AY
timestamp 0:18
(edited by zealex.9410)
For instance, until last year, some player skills such as the revenant sword 2 would randomly target these skill launchers, and players would see their projectiles flying at invisible objects.
lol this is still happening with rev sword 2
Madara
For instance, until last year, some player skills such as the revenant sword 2 would randomly target these skill launchers, and players would see their projectiles flying at invisible objects.
lol this is still happening with rev sword 2
I believe the update will be shipped with the balance pass in a few days.
So why did it started happening only recently? Also could skill launchers cause rev hammers to dissapear after colliding with them?
It started happening only recently due to some code changes to physics and navmesh. Before, when the skill launcher collided with the anomaly, a code bug coupled with a navmesh crack caused the ejection to fail. Now that that bug was fixed, the ejection succeeded.
Projectiles shouldn’t be able to collide with skill launchers, even before this change, because of the unattackable and non-targetable flags. Additionally, the collision radius is like 9 inches and they are on the ground so the projectiles would just pass over them anyways.
So the teleporting bug didn’t happen because of another bug? That’s hilarious!
Thanks for sharing the source of the bug. An interesting & informative (as well as funny) story.
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
This is basically programming 101. On to the next bug. Maybe the crash in the Hot story one?
For instance, until last year, some player skills such as the revenant sword 2 would randomly target these skill launchers, and players would see their projectiles flying at invisible objects.
lol this is still happening with rev sword 2
That’s not Skill Launchers, it’s probably hand placed invisible gadgets.
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
thought this would have been fixed by now…
Benjamin you are the best hahahaha, I love hearing funny coding stories. Great job pinpointing the issue by the way!
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
thought this would have been fixed by now…
The fix is in the arkk balance patch. Just wait a day.
(edited by Benjamin Arnold.3457)
this thread got awesome
head here to discuss wvw without fear of infractions
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
thought this would have been fixed by now…
The fix is in the balance patch. Just wait a day.
so this is called the game of oh joys spaghetti code ???? 2.01 :P
I could only see what it really be like for you all . if crossfire and SLI and DX11 with multi core support was put into the game . :P
thanks for the good laughs and storys tho makes this game even more enjoyable these days :P
It was funny, but last time I ran Thaumanova it actually didn’t re-port back at 25%
o_O
So it was middle of the platform, then side location until the fractal ended
Actually I didn’t mind that too much, though it wasn’t possible to walk around the anomaly (it was in the corner of the platform)
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
thought this would have been fixed by now…
The fix is in the balance patch. Just wait a day.
Please don’t hurt Guardian :<
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
If the code can do operations with the name from the effect, just use a prefix to detect the ones don’t need to be rotated so artists and designers no need to spend additional time rotating those effects when they design new ones. Something intuitive like fix_name_resource should be enough. if you handle only numbers just put something is not used.
So if you detect the new prefix in the name of the animation you apply the fixed code otherwise you apply the old flow. Because the name of the of the resource should be something they should be able to define it can be all handled transparently by them.
(edited by anduriell.6280)
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
If the code can do operations with the name from the effect, just use a prefix to detect the ones don’t need to be rotated so artists and designers no need to spend additional time rotating those effects when they design new ones. Something intuitive like fix_xxxxxxxxx should be enough.
So if you detect the new prefix in the name of the animation you apply the fixed code otherwise you apply the old flow.
The problem is, the rotated effects are also used in non attached manners, for instance playing at a particular location in the world. So we can’t just use the model file name, we have to detect the usage.
Ben,
If you have not been told today. Let me be the first.
Yer Awesome.
Finally figured it out. The bug was hilarious but too technical to explain. Fix incoming.
You know you want to tell us
Yeah…
Finally figured it out. The bug was hilarious but too technical to explain. Fix incoming.
Try us. Im sure it will make for an entertaining Dev blog.
OK fine.
So I started by looking at the anomaly’s creature script. The fact that this was a consistent teleport at 50% made it seem like it would be an easy thing to track down, and the creature script was the likely culprit.
The anomaly had a script handler listening for it to hit 50% health. In this handler was a call to teleport it to the center of the map, presumably the designer who originally built the anomaly put it there as a safeguard, but it should not be needed. I figured, “maybe the teleport is failing and picking the wrong navmesh?” so I just deleted the whole handler.
The boss still teleported at 50%…
OK so it isn’t the creature script, so I looked at everything referencing the anomaly with regards to its 50% health threshold, and the only thing left was a map script. This map script did nothing but set a trigger, but there was a handler listening for this trigger that fired a skill at the feet of the anomaly “Unstable Matrix”, which is the skill that targets everyone and makes platforms fall.
This skill is not sourced from the boss, since the boss is doing his own thing at this time. Instead, the skill is sourced from an invisible, unattackable gadget that spawns right at the feet of the anomaly. These types of gadgets are called “skill launchers” and are used in places throughout the game, though we try to avoid them these days as they have a tendency to be buggy. For instance, until last year, some player skills such as the revenant sword 2 would randomly target these skill launchers, and players would see their projectiles flying at invisible objects.
All gadgets in our game have flags that define their behavior. Skill launchers were properly flagged to be unattackable and non targetable, but I discovered that they, hilariously enough, were not flagged as “No Collide”.
The skill launcher at the anomaly’s feet was colliding with him when it spawned. And when colliding gadgets collide with a creature when they initialize, they “Eject” said creatures, causing them to teleport to nearby navmesh. The reason the boss would teleport back to the center at 25% was because of those teleport safeguards on the creature script. But of course the next time Unstable Matrix fired it would teleport back out.
Flagging skill launchers as no collide solved this bug (and probably some elsewhere), and then Bill fixed some issues that could cause creatures to teleport too far away when ejecting, as the anomaly had.
Ben, has anyone ever told you that you’re great and we love you? That is a hilarious bug, thanks for taking the time to explain to us! I hope that solving that issue helped fix some other things elsewhere since that lack of No Collide seems like it could have far-reaching impacts
“Beware he who would deny you access to information,
for in his heart he dreams himself your master.”
Love you guys too
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
thought this would have been fixed by now…
The fix is in the arkk balance patch. Just wait a day.
Lol. You are amazing for taking the time to interact with us like this and tell us great stories. You should seriously consider running a mini blog where you just post stuff like this to it.
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
thought this would have been fixed by now…
The fix is in the arkk balance patch. Just wait a day.
Lol. You are amazing for taking the time to interact with us like this and tell us great stories. You should seriously consider running a mini blog where you just post stuff like this to it.
I second this. Even if it’s not always a strange bug of the month blog. This was a fun read.
The problem is, the rotated effects are also used in non attached manners, for instance playing at a particular location in the world. So we can’t just use the model file name, we have to detect the usage.
I am not sure how advanced the tooling is, but in my works this is commonly dealt with via a editor/compiler-supported “deprecated” flags. Those flags would be placed on the old function and a humanly-readable message telling people to use the new functions. The “deprecated” functions would still be fully functional and usable, but would give a warning in the editor and during compilation.
Because it is communicated that those functions are deprecated, and what their replacements are, downstream developers would know to use the new “fixed” functions. Slowly overtime, the new function would supplant the old one due to refactoring, and the old function would only be seen in legacy untouched code base, thus can be deal with more confidently.
Just some thoughts.
(edited by voidvector.2780)
anyone else like the teleportation? it’s more fun than the boss staying in the middle.
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
thought this would have been fixed by now…
The fix is in the arkk balance patch. Just wait a day.
Lol. You are amazing for taking the time to interact with us like this and tell us great stories. You should seriously consider running a mini blog where you just post stuff like this to it.
I second this. Even if it’s not always a strange bug of the month blog. This was a fun read.
I third this.
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
thought this would have been fixed by now…
The fix is in the arkk balance patch. Just wait a day.
Lol. You are amazing for taking the time to interact with us like this and tell us great stories. You should seriously consider running a mini blog where you just post stuff like this to it.
I second this. Even if it’s not always a strange bug of the month blog. This was a fun read.
I third this.
Fourth this. Or something.
So basically, before the teleport didn’t happen because two bugs countered each other. Then one bug got fixed and it revealed the presence of another bug.
Yeah this kinda stuff is why fixing bugs in a codebase with millions of lines of code is always scary. Sometimes its better to NOT fix a bug :P
Do you have an example of a bug that if fixed could mess up a diff something else?
When designers play “Attached” effects on a creature, the effect is actually rotated 180 degrees the wrong way due to a code bug. So artists and designers would manually rotate the effect to work. But since there are already thousands of attached effects, fixing this bug would break all of those effects.
Granted, with some work you could probably make a clever python script to find all references to all attached effects and manually do some kind of fixup along with the patch, but it will still break for people working in different code streams than the main one that you do your fixes in.
thought this would have been fixed by now…
The fix is in the arkk balance patch. Just wait a day.
Lol. You are amazing for taking the time to interact with us like this and tell us great stories. You should seriously consider running a mini blog where you just post stuff like this to it.
I second this. Even if it’s not always a strange bug of the month blog. This was a fun read.
Yeah, thanks Benjamin, you’ve given us all great insight into the bug and the process used to identify and fix it, it should really help people appreciate what actually needs to happen in order to fix these issues.
Just to emphasise what others have already said: you’re awesome dude, keep it up!