Sign in to follow this  
Sidereal

[NO BUG] Dye rounding bug

Recommended Posts

From the Patch notes 21/OCT/21:

On 10/21/2021 at 1:54 PM, DevBlog said:

Color components that are not equal in each dye will always result in a change in the final product, rounding toward grey (128). In other words, if 1g of RGB 200,200,200 dye is mixed into 10,000L of RGB 1,1,1 dye, the resulting dye will be RGB 2,2,2. This is a special case only applied when the change would have otherwise rounded to nothing, such as when mixing vastly different quantities of dye.

 

I'm noticing unusual rounding errors when making 'large' batches of single color dye.  My understanding of this update: when making 1kg batches of raw dye and adding them to a collection barrel, the dye in the barrel should eventually become the RGB of the worst quality dye in the barrel.  For example:  a collection barrel of of 85-90ql red dye should eventually converge to 240/15/15.  As the quantity of the dye in the barrel grows, any given 1kg dose of dye moves the RGB value less.  And since the lowest ql dye added will always pull the full value down - everything should ultimately converge to 240/15/15 (85ql).

I'm noticing that when brewing large batches of dye of a single color and adding 1kg at a time to the collection barrel, the resulting RGB is lower than what should be the lowest bound.  At first I thought this might just be me being sloppy and accidentally sorting a lower quality dye into the wrong barrel.

But paying closer attention, I'm noticing moments in which this change does not behave as expected.  Specifically:

I have a barrel with 39kg of 227/28/28 red dye.
I add 1kg of fresh 76ql red dye (231/24/24).  I do not expect this dye to change the RGB value at all in any direction.  I move the 1kg of dye into the collection barrel.
I discover I now have 40kg of 226/29/29 red dye.

In spite of adding a stronger red to the barrel which should at worst do nothing, The entire RGB of the collection barrel has moved in the wrong direction and become a weaker red.

 

 

  • Like 2

Share this post


Link to post
Share on other sites

I've heard this happening from other dye makers. Good thing that we get even more confirmation now!

  • Like 2

Share this post


Link to post
Share on other sites
6 hours ago, Borstaskor said:

I've heard this happening from other dye makers. Good thing that we get even more confirmation now!


This is so useful to know.  I had not heard this at all and I thought I was losing my mind!

In the meantime, I'll try and gather more data points.  At the moment, I have no idea how to reliably reproduce it but if others have noticed it?  I'm definitely intrigued.

  • Like 2

Share this post


Link to post
Share on other sites

I know that @Arno  was messing around with dyes right after the update and noticed some strange stuff and things happening. I'm sure he can give some more insight to this.

  • Like 3

Share this post


Link to post
Share on other sites
On 1/3/2022 at 4:25 AM, Sidereal said:

I'm noticing that when brewing large batches of dye of a single color and adding 1kg at a time to the collection barrel, the resulting RGB is lower than what should be the lowest bound.  At first I thought this might just be me being sloppy and accidentally sorting a lower quality dye into the wrong barrel.


Yesterday I was making bunches of black dye and did the exact same thing. Several times I wondered why my barrel of 20-25 and 30-35 barrels had dye that was over 40-40-40. I was convinced I must have slipped up several times since that had happened, so I cleared the barrels and continued. As this happened again I started to be suspicious because I usually don't slip up that much and honestly it takes a lot of 1kg dye to change 22-22-22 to 41-41-41.

Then I restarted telling myself not to worry about all the black dye of decent ql that had gone to waste and all the materials I can't gather myself as well.

This time around I tried to be more attentive when I added the 1kg of newlymade black dye to the bulk I had made minutes before.

 

For reference I make 1kg of black dye in measuring jugs and sort the results into barrels of appropriate intervals. I was solely working on black dye yesterday.

 

In my 20-25 barrel (this means black dyes ranging from 20-20-20 RGB to 24-24-24 RGB) I had a bulk of 12kg black 24-24-24 and added 1kg of 22-22-22. I expected it to stay 24 or maybe slighty go down a bit, but to my surprise it changed the total 13kg to 25-25-25. In my mind that would and should and could never happen. How can black + better black = grey? 

So I asked in the alliance, and the answers I got got me more confused than anything. How am I suppose to make good black dye in bigger portions if I can't combine it without turning it grey? Why does black dye have to be even harder to make that it already is.
As someone who has decent NS out of 300 acorns (100ql) and 300 irons (100ql) I am lucky to get 1kg 1-1-1 and 2kg 3-3-3 and then some more 4-4-4, but combining these latter ones gave me the result of 7-7-7. It hurts and there isn't much logic to it in my opinion.

 

I am aware that it might be a counter to the 1-1-1 'hack' that someone did in the past (I was told at least) but I still don't get why it should be so much harder now.


Thanks Sidereal for making this post and making it clear that I wasn't just losing my mind. 

  • Like 3

Share this post


Link to post
Share on other sites
3 hours ago, Fraskesa said:

Thanks Sidereal for making this post and making it clear that I wasn't just losing my mind. 

 

And thank your research and for your post confirming that I'm not hallucinating this!

 

It seems that we have a very similar dyemaking process and experienced this in very similar ways - and it's especially maddening because only a small handful of wurmians make large quantities of dye on a regular basis would even notice this bug because it's just so subtle.

The Five Stages of Dye Grief
Stage 1 - Denial: Notice a bad batch of dye and think: "Huh, that's odd.  I just have been sloppy with my sorting.  I'll be more careful next time."
Stage 2 - Anger: Being more careful with the dye sorting but not looking closely at every RGB value every single time:  "I'm almost positive I was absolutely careful with every single dye unit!?  All those materials wasted ARGH!"
Stage 3 - Bargaining: Watching every single unit like a hawk: "If I pay really close attention, I'll see that it's not happening and everything will be fine.  Wait a minute - that one was absolutely not fine."
Stage 4 - Depression: Ask other players if they've noticed anything weird with dye and realize they have no idea what you're talking about and feel like you're losing your mind.  Briefly consider never making dye again.
Stage 5 - Acceptance: Finally make a forum post to determine that there is either some sort of bug at play or you have in fact lost your mind.

I think we've just started a support group, Fraskesa.  ^_^

  • Like 2
  • Cat 1

Share this post


Link to post
Share on other sites
2 minutes ago, Sidereal said:

I think we've just started a support group, Fraskesa.  ^_^


I would very much need that support group and it's scary how you hit my emotional development of a rollercoaster spot on!

I hope this is a bug or an implementation-not-thought-through, and that they will look into fixing it as fast as possible :)

If I may suggest a fix it would be a conditional, that makes sure the dye never will increase RGB value above the highest added value.
Or add hidden decimals to the RGB values, so that if you add 1g of 200-200-200 dye to a 1-1-1kg dye, you would end up with a hidden 1,02-1,02-1,02 And technically it should be possible to make it effectively round up to nearest whole number so it would appear as 2-2-2, but if you add 1g more of the high RGB dye it will be hidden as 1,04-1,04-1,04 and still effectively only 2-2-2?

That way:

  • you will still add to the values like that
  • you can't make infinite super dye
  • it can't increase beyond the highest added value
  • it will be easier for dyemakers to work with

I know implementation wise it means to change the variables to different types and do a lot of math equations for the game, but I still think that or the old system will work better. Maybe it will work as inspiration for a solution.

Share this post


Link to post
Share on other sites

Did a little test and added 1kg 67-67-67 dye to 35kg of 196-196-196 dye to see if it would go up or down
Result = 190-190-190
So there is no logic behind this unless the greyness works towards 125-125-125 (true grey)

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, Fraskesa said:

Did a little test and added 1kg 67-67-67 dye to 35kg of 196-196-196 dye to see if it would go up or down
Result = 190-190-190
So there is no logic behind this unless the greyness works towards 125-125-125 (true grey)


The rough tools I've built to determine the results of these sort of mixes suggests that it should have gone to 36kg of 192-192-192.  I can see 191-191-191 resulting from the "rounding effect", but 190-190-190 seems at least one notch too many.  Unless it's also affected by the third note of the October dye patch:
 

Quote
  • Color mixing is rounded to whole values later in the calculation, resulting in increased accuracy of mixing in certain cases.


It's vague enough (presumably intentionally) that I don't quite understand how to factor that into my calculations?  But this change may also be at play here.

  • Like 1

Share this post


Link to post
Share on other sites

Good dye is in general very hard to make, even with 90+ NS. This just makes it depressing.

  • Like 1

Share this post


Link to post
Share on other sites

Jumping back into this thread to confirm that I still see this unexpected behavior with mixing 1kg of newly created dye into larger batches.  It's still infrequent, but happening often enough to be encountered at least 2-3 times in the course of creating 100 units of dye.

Is there anything else that we can provide that will help?  Short of taking notes on every single operation during a dye making session, I'm not sure what else we need can help provide from the player side.

  • Like 2

Share this post


Link to post
Share on other sites
10 hours ago, Pomona said:

This is working as intended.

 

Well now I'm truly confused.  I cannot understand which of the three changes in the October dye patch could cause this behavior.   Overall ql values still round as expected, and RGB values usually update as expected but sometimes update in unexpected ways.

 

On 1/2/2022 at 10:25 PM, Sidereal said:

I have a barrel with 39kg of 227/28/28 red dye.
I add 1kg of fresh 76ql red dye (231/24/24).  I do not expect this dye to change the RGB value at all in any direction.  I move the 1kg of dye into the collection barrel.
I discover I now have 40kg of 226/29/29 red dye.


I quote this example because this was not a hypothetical - I saw this with my own eyes.  Of the three tweaks described in the dye patch, none of these would seem to create a situation in which adding 1kg with _better_ RGB values to a larger batch of lower RGB dye would cause the entire batch to shift toward grey instead of keeping the current RGB values.  I just cannot see how this can be working as intended based on the text of the patch notes.

Edited by Sidereal
  • Like 1

Share this post


Link to post
Share on other sites

So I'm not a streamer and I'm old enough not to understand the fuss about streaming.  I have nothing but respect for Factional Fight, Gaffer, and everyone else that streams Wurm Online because I spent the last two hours nearly tearing my hair out trying to record this, but here you can very clearly see me adding small amounts of 10/10/245 dye to a larger 20/20/236 batch.  In real time you can see the larger batch change toward grey.  If this is truly working as intended based on how the change was described in the patch notes, I really need help understanding what I'm missing.

https://www.twitch.tv/videos/1305145184

  • Like 1

Share this post


Link to post
Share on other sites

First of all I must say that I agree with sidereal that this can in no way make sense that it's intentional that when you add a BETTER dye in small amounts that it will become a worse dye. In case you added worse dye it can in some way make sense. But never the other way around.

Second of all, Sidereal that was a good recording even though it really hurt seeing.

I think what is needed is a fix on how dyemaking is working so it isn't as esoteric and need a whole science to be used as well as implementing some logic to it while keeping the anti-abuse in check as I am guessing is the reason why this intentional-odd-behaviour was implemented in the first place. There is really no reason to make good dyes that hard to make so that it's only people with 99+ NS and a good deal of experience who can make it properly.
If I might ask I would love to have a proper walkthrough of how it is intended to make dye now since the update since it's - at least to me - is so different a method and need a different method of thinking to create the batches I used to.

Please consider what we are saying here. We are not many dye-makers as it is already, and we are at least two huge ones who really care about this and thinks there is something not working as it should. I am willing to work with you on improving it in the way of the logics if I can.

  • Like 3

Share this post


Link to post
Share on other sites

Using 10g of dye in that video made a light bulb go off.  Having thought about this a little more, I think I understand the underlying issue a little better, why this is working as intended, and why there's no good fix.  My hunch about what's happening under the hood is:


1. Check what the resulting QL of the mixed dye will be
2. If the QL of the resulting mix changes by some very small amount, move all three channels toward grey


Why we see this occasionally when mixing up a large batch of dye: eventually one will make a fresh 1kg of dye with the ql perilously close to what's already in the collection barrel.  This rule kicks in and suddenly the whole barrel shifts toward grey.  And there's no good fix.  Dye makers see it most frequently when making one of the primary shades.  It's obvious which RGB value is "better" in pure blue, green, black, etc. - but it gets complicated quickly when working with other colors.  For example, if I add 1g of 90/44/250  to a large batch of 80/44/251, which color channels should move and in which direction?  If we don't change them at all, we're back where we started with the ability to make infinite dye of any particular color.  If we change some of color channels, we now have a way to create infinite amounts of a target color by adding small amounts.  And the smaller the range of the collection barrel, the more likely it is to get bitten by this.

By paying _very_ close attention every time we mix two dye quantities together, we might be able to figure out when this rule will kick in and be able to avoid it - but what a hassle to plug all those numbers into a spread sheet every single time dye needs to be mixed.

I think there's a potential solution: in the same way that AH now warns us before we try to breed two animals that are related, perhaps players can get a warning before mixing the two dye quantities.  Something like: "You suspect that the resulting color will be slightly off.  Do you want to continue?  Yes/No"

It's kind of a clunky fix, but it would sure beat accidentally clobbering hours of work.  I suppose the other option is to always mix dye of the exact same RGB value together and then mix larger batches out of that - but that's a super fussy workaround.

Edited by Sidereal
  • Like 3

Share this post


Link to post
Share on other sites

Will it help if we gather high level skills with impossible high results and stats?
Gathering skills are quite unreliable for 99-100 skilled players;

  --- there's only fix for the gathering of cochineals - with imbue for butchering knife;

digging have the same buff - but there's nothing useful to dig(just for clay and pottery);

woodcutting is unrelated to dyes.. but uses the illogical reroll(rickroll) mechanic that kills any good roll, it's pointless to be high skilled and to use high ql tool if it's complete rng and mostly trolling result in the end from using end-game gear with or without imbue or 99-100 skill;

mining... this one is related to dyes.. copper and zync.. both are just as unreliable like woodcutting to obtain bulk high ql materials

--silver/gold/etc.. great to kill up on skillers, terrible results when a player uses 90ql+ pickaxe.. seems illogical and wasteful to the not that common 90+ql veins

 

in the end... if somebody aims to get perfect black, it's again insane pain to obtain it, even with 100 skill

something seems off with the endgame resource gathering and resource use, same with dye-making and wasting highest ql materials on coinflips

  • Like 1

Share this post


Link to post
Share on other sites

Sidereal has a good point too, and it made me think: Is it really that bad to be able to make really good colours? It's not affecting any skills at all and is just decoration, why does it have to be hard - now harder - to make good colours? 
Warning system could work, or being able to add 1kg to an item at a time (like imbue potions for instance) so that whenever you make a 1-1-1 black you can add it to your knarr and it will slowly shift towards 1-1-1 and then 156 times of this will render it completely black with a dye power of 100? I mean it's an idea and it's not perfect but it could work in the long run. Point is, we have many ideas how to change this system so it works and we would be the best peer-users to ask about this since this is what we do for fun in the game and take pride in. Use us. Ask us.

Finn is right in my opinion. The difference is that you can actually sort and combine clay of good ql upon digging and you can sort and bulk logs after woodcutting. Same goes for butchering. The thing with dye right now is that you can't sort and bulk them together unless they are exactly the same RGB and ql, If the same went for logs when putting them in a bsb and you added all your 80-90ql logs and the ql then would get worse then you'd end up having a bunch of 40-50ql logs even though you solely had added logs of higher ql. The logic doesn't match the action. This is in dire need of some redesigning that uses some good user interaction thinking and takes the logic and use of the user into account. Granted I still agree that anti-abuse is needed in some way. I am sure it can be worked out in a logical and smooth way. I sincerely hope this will still be in the works to fix this. It might be intentional, but it's not functional. I say this with my deepest respects for how hard it is to balance a game like this.

  • Like 2

Share this post


Link to post
Share on other sites

The current implementation is working as intended, but it's not really ideal.  We needed to make some quick changes to stop exploits, which is why the very small value rounding (e.g. adding a tiny bit of dye to a really large amount, which would round the change to zero) always moves you towards grey.  Unfortunately, there are some side-effects, as you've highlighted above.

 

Rather than further band-aid tweaks, that likely introduce whole new issues elsewhere, dyes generally are due a proper re-work so that they work in a more intuitive and consistent way.  This is on the list, but I don't have a timescale as yet.

  • Like 4

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this