Sign in to follow this  
joedobo

Testing spamming creation for items of rarity.

Recommended Posts

5 minutes ago, Davih said:

If the size of your sample is hundreds of hours, though, i think that in the long run it averages to being pretty much the same thing, right?


Yeah, 380hrs seems reasonable enough, i didn't want to discourage you by saying that even 50-100hrs wasn't probably enough and i really want more people to test this, but i didn't really "feel" that i could claim anything with certainity before i reached 500+hrs back when i did my testing.

 

I think the 50% per hour was accounting for if it goes rare, 1/3600 would imply once an hour on average you get a window. But 50% of the time it would take more than 45 minutes and it has a long tail outwards. There may be a rng component when creating that determines if the window is used, I haven't checked that.

Edited by Lethyria
incorrect wording

Share this post


Link to post
Share on other sites

Btw, i'm trying to use this tool backwards and understand how it works, does it mean that when i did my ~600hrs i could pretty much be 99% sure (confidence) that my results were within a range of 5%(margin of error) from what i had gathered [sample size: 666] and 99,99% that they were not further from 7%? [sample size 553]

Like, if my results reported 20% instead of 50%, there was no way that it was higher than 27-28%?
 

Share this post


Link to post
Share on other sites
21 minutes ago, Davih said:

does it mean that when i did my ~600hrs

I'm guessing your operating on the assumption that you didn't miss any windows, or had any failures on creation? I'd say it's clearly not 50%. I wouldn't say that it's 27-28 because too much we don't see. I can't see a way to measure the 1/3600 and this could be what Lethyria is trying to explain. For all we know it still could be 50% but wurm put in a nerf to penalize players who chain spam certain items. What would happen if we stagged creation of items? Say make these: pickaxe head, a horse shoe, and axe head, large nail, small nail. Maybe even randomize their order.

 

note, this is for https://www.calculator.net/sample-size-calculator.html and "Find Out the Margin of Error".

Edited by joedobo

Share this post


Link to post
Share on other sites

I did some eyeballed (like everything i did) rounding up to cover up for those discrepancies, but i was usually spamming actions every 27 secs (with 30secs window) with a beep-loop timer, i doubt that i missed many windows,

But please keep in mind that i was skeptical about my own findings, and since that i was trying to prove a RNG wrong, my first priority was not succumbing to bias, so i probably even overcompensated by detracting too much time cause of my - possible - mistakes.
i did try many different items and different servers in my 600hrs

I don't think the chance is 1/3600 anymore, it was even tested by someone who i can't remember, but just tested for inspirations amount (and was found to be 1 every 2 hrs on average, i just assumed you took the info from there) , not specifically for rare "oneshot" creation. which i found was specifically nerfed on purpose, at least back when i did the testing, i didn't do significant amount of testing anytime recent, but i have the feeling that they tweaked it back/reduced the nerf.


This is from OR thread "grinding everything"  thead , he is probably the only players that created more rares than me, lol, but i remember other people testing it, and i can confirm this to be true even before NFI was opened.

Quote

You can expect about 1 rare per 2 hours, and 1 supreme per 24 hours, per account, assuming you have 100% create chance (takes about 30-35 skill with a 90ql tool for most tools you'd want to spam). 9 Accounts would get about 4.5 rares an hour and a supreme every 3 hours on average, for example.

 

Edited by Davih

Share this post


Link to post
Share on other sites
15 minutes ago, Davih said:

don't think the chance is 1/3600 anymore, it was even tested by someone who i can't remember, but just tested for inspirations amount (and was found to be 1 every 2 hrs on average, I just assumed you took the info from there)

I got the 50% from looking at WU code. There is a 1/3600 chance a second to make a window. If you start an action inside that window wurm does up to three rolls for rarity. The most likely is the last at 50% chance for a rare. I also remember people trying to say we get one rare an hour and I knew the code didn't match that, it's one 50% roll for an item of at least rare state an hour.

 

The potential problem I'm not sure about is whether I can use the 50% to measure the 1/3600. There is a something in statistics about related variables explaining each other that I don't remember.

Share this post


Link to post
Share on other sites

I think 1/3600 every second can be reasonably averaged to something very close to 1:1hr for the purpose of the testing and not to 1:2hrs, (so the average chance should be 100% every hour, but you will be able to get more than 1 in a hour, ofc, making the 100% not sure and just an average)

That said, WU code is not a reliable source of information for WU anymore, and i think that inspiration chance specifically was halved several years ago.



 

Edited by Davih

Share this post


Link to post
Share on other sites

1/3600 chance per a second is on average once an hour.  But what is enabled once an hour is at the least a 50% dice roll.

 

The vast majority of WU code is still valid. Very little has changed since it was stop being updated. Further, Wurm has always resisted to doing massive code rewrites. I can use it as a based to come up with a test. It also just happens to match what people like Oblivion have said. Although, it's possible OR wrote what was in that guide based on WU code.

Share this post


Link to post
Share on other sites

He wouldn't have said that you get 1 rare every 2 hours on average if he based the guide on WU code, and i know for certain that he grinded an insane amount of rares.

I'm not sure if you want to do an hour-by-hour testing just to check if you got at least a rare or not, ignoring extra rares, if that's the case, it's harder to calculate, but...

if you roll 1d2 2 times, chance to get at least one is 75
1d3 3 times is 71,4%
1d10 10 times is 65.2%
1d20 20 times is 64.15%
1d50 50 times should be 63,6%

I certainly won't try to calculate 1d3600 ... 3600 times, but it does seem that it might end up somewhere around 62-63.5% (maybe 63,3333% for infinity? idk, in that case maybe it's like 63.4%) , you probably need better math than this, but i hope it helps finding the actual solution, lol.
 

Edited by Davih

Share this post


Link to post
Share on other sites

Yeah, know I need to collect around 25k kg of iron lump and start spamming horseshoes :) I'll update with data, and I'll try to make a Jupyter notebook too.

Share this post


Link to post
Share on other sites

Sorry when I bother once more. I am not sure whether my question was correctly understood (well or asked by me), or I did not fully understand the response.

Situation is that I am spam creating for certain tool heads. Is it harmful to use the crafting window? With ML81 I may stack up 9 actions. One creation lasts, with full stamina and water, about 8.6 to 9.1 seconds. That means, with a rarity window of 33s (base + deed + journal) I may issue 3 actions at most to stay inside that window. Does it mean I have to restrict the crafting window to 3 actions?

Share this post


Link to post
Share on other sites
On 8/30/2022 at 11:21 PM, Ekcin said:

Sorry when I bother once more. I am not sure whether my question was correctly understood (well or asked by me), or I did not fully understand the response.

Situation is that I am spam creating for certain tool heads. Is it harmful to use the crafting window? With ML81 I may stack up 9 actions. One creation lasts, with full stamina and water, about 8.6 to 9.1 seconds. That means, with a rarity window of 33s (base + deed + journal) I may issue 3 actions at most to stay inside that window. Does it mean I have to restrict the crafting window to 3 actions?

Yes, you can use crafting window
 yes, your total queue cannot exceed 30 secs, and only the first item will ever be rare, so the only reason to do that is that you are producing like... shafts, if you are specifically going for rare tools there is no reason to queue anything.

 

 

On 8/30/2022 at 11:21 PM, joedobo said:

Yeah, know I need to collect around 25k kg of iron lump and start spamming horseshoes :) I'll update with data, and I'll try to make a Jupyter notebook too.

Ok i learned how to calculate that, i think. the chance to NOT get "at least" one rare window in an hour with 1/3600 every second is:
0,999722222222222^3600 = 36,78%
Chance to get at least one rare window is  63,22% ....
[edited]
*~52%.chance to get a rare+ , the chance to get at least one rare item in an hour would be 32,78%

Edited by Davih
  • Like 1

Share this post


Link to post
Share on other sites

Thanks. There is no keybind to create an item, or?

Share this post


Link to post
Share on other sites
1 hour ago, Ekcin said:

Thanks. There is no keybind to create an item, or?

 

You need to click on the create button or navigate the create menus. People seem to think the menus are bad for rarity creation and frankly it's much more RSI on your hands.

 

You may be able to bind the mouse click button to a keyboard key press with third party software, but you still need to physically move the mouse cursor to the create button. Since you'll need to move the cursor there is no point to do the bind.

 

Its mouse navigate to create button and clickety-click!

Share this post


Link to post
Share on other sites

4 hours of play tonight

1 hour, 4 toons creating planks. No MOI

1 hour, 2 toons mining. No MOI

2 hours, 4 toon digging clay. No MOI

1 hour 1 creating clay bricks. No MOI

2 minutes imping toolbelts. 1 failed MOI.

 

1 more hour of digging clay and making bricks and finally got an MOI and a casket.

Edited by Aeryck

Share this post


Link to post
Share on other sites

To clarify what I was suggesting is that you should be looking to test 2 separate hypotheses  1) what is the rare window rate, 2) what is the success rate of MOIs

Share this post


Link to post
Share on other sites
16 hours ago, Davih said:

Yes, you can use crafting window
 yes, your total queue cannot exceed 30 secs, and only the first item will ever be rare, so the only reason to do that is that you are producing like... shafts, if you are specifically going for rare tools there is no reason to queue anything.

The question is how to organize mass creation for rare best. I could, for example, queue up 3 actions, which would terminate in or under 33s, aware that the subsequent 2 will be wasted anyway, just to fill up the time. Alternatively, I could trim down and hold, by climbing mode or wound, stamina down so that an action takes e.g. 28-30s . That would relieve from the pain of starting a new creation every 6-9 seconds.

Share this post


Link to post
Share on other sites

i'm not understanding what exactly are you crafting in the first place, bulk materials? trying for rare tools?
Climbing doesn't work because creation uses stamina, you don't really need to start a creation every 6-9 seconds if you're trying for rare tools. just create once every 27-28
If you're doing bulk materials, first option looks fine, 2 wasted seconds aren't a lot and they're not worth  a lot anyway

Share this post


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

The question is how to organize mass creation for rare best.

All you can do is make sure you don't miss any MOI windows.

 

Often players who are spamming creation don't need the extra items they make. They only start one creation per the 20 to 30 sec MOI window.

 

If you need the things you're gathering or crafting then you have two options. Either stagger creation or make sure your total queued creation time still lets you start actions in the 20 to 30 sec MOI window. With stagger you will que up two actions to start and then afterwards you start a new one after one finishes. Eventually you'll need to stop so stamina can regen and then start over again. Stagger mostly works with gathering resources.

Edited by joedobo
  • Like 1

Share this post


Link to post
Share on other sites
8 hours ago, Lethyria said:

To clarify what I was suggesting is that you should be looking to test 2 separate hypotheses  1) what is the rare window rate, 2) what is the success rate of MOIs

Ideally that would be good. I just don't know how to measure the rare window rate (1/3600 chance). The only data point we can measure is when we get a MOI notification. And using WU code as a basis for this (regardless of its valid because we have to start somewhere) we only see when a roll of at least rare state succeeds.

 

To put it by example:

Game succeeds the rare window rate roll to make a window. Player starts action inside that MOI window. Game rolls the rarity dice for that action to see how rare it is. During the rolls they all fail, even that last Boolean based roll for rare. This means the action is not rare. No MOI notification will be generated in this case. Thus, we can't measure the success of 1/3600 and we can't completely measure the failure of the rarity roll.

 

 

Seems all I can do is verity how many windows are hit and missed. I want to do this with Python code and game log files in an automated way. After that I count the occurrence of MOI's and see if it makes sense based on various claims about rarity system.

Edited by joedobo

Share this post


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

Game rolls the rarity dice for that action to see how rare it is. During the rolls they all fail, even that last Boolean based roll for rare. This means the action is not rare.

I am yet to have a failed rarity roll on creation.

I don't speak JAVA but if you get a MoI on creation, you get at least a rare item.

Improving works differently but from the original post you are going to spam creation so each MoI will result in a rare+ item.

 

Share this post


Link to post
Share on other sites

[11:23:18] You have a moment of inspiration...
[11:23:19] You have a moment of inspiration...

Speaking about statistics, this never happened before... on 2 different accts, 1 second apart, rofl.

Share this post


Link to post
Share on other sites
16 hours ago, Locath said:

I am yet to have a failed rarity roll on creation.

I don't speak JAVA but if you get a MoI on creation, you get at least a rare item.

Improving works differently but from the original post you are going to spam creation so each MoI will result in a rare+ item.

 

 

There is a 50% chance to make an item rare. An action isn't marked as rare and doesn't generate a MOI if this roll fails all rarity rolls. You simple don't see any indication of this failure in-game. This is part of the problem that I can't measure. 

 

Once a second there is 1/3600 chance roll which averages out to once an hour a MOI window is created. If an action is started in this window a rarity roll is done. For this roll, rare is a 50% chance. And there are lower chances for the other two rarities (which I'm not even going to try and measure). If all rolls fail the action isn't marked as rare and doesn't generate a MOI. If any succeed the action is rare, it will generate a MOI and at least for simple creation it will make a item of rarity.

Share this post


Link to post
Share on other sites

I had another look at this  and I wonder if the reasonable test is tracking total created items per rare, with a logparser you could reasonably easily validate that you aren't missing windows. 

 

I've included the premium supreme(4%)/fantastic(0.0103%) chance in my model but it doesn't make much difference. It rolls in descending rarity order so the chance of a rare or greater is 

100% - (100% - 0.0103%)*(100% - 4%)*(100%-50%) = 52.004944%

 

I worked out the chance your action is in a rare window.

Rare Seconds = Trare = Min(Rare Window Length, Time Between Creation) = Min(27, 30) = 27

Chance of Rare Window Per Second = Prare = 1/3600

Chance that action is in rare window = Pwindow = 1 - (1 - Prare)^Trare =  1 - (3599/3600)^27  = 0.7473%

Chance that action produces a rare item = Pitem = Chance of rare or better * chance that action is in window = 52.004944% * 0.7473% = 0.3886%

Then you can model the number of actions required to produce a rare as a geometric distribution (https://en.wikipedia.org/wiki/Geometric_distribution), with the cumulative probability function 

1 - (1 - Pitem) ^ n

Where n is the number of attempts and this gives the following distribution.

 

w68YumV.png

Edited by Lethyria
Reference
  • Like 1

Share this post


Link to post
Share on other sites

This is a discrete event so...

 

F - fixed number of trials (Just fix the number of rolls, but this is definitely a place the study could be challenged)

I - independence  (All good here)

C - consistent probability of success (All good here)

T - two outcomes (Not rare/some category of rare)

 

Then try a binomial test against the old p value.  (Your H_0 is that the probability has not declined (p>=old value), and your H_1 is that it has)

 

https://www.real-statistics.com/binomial-and-related-distributions/hypothesis-testing-binomial-distribution/L

 

It isn't perfect (your experiment design will need to make sure those FICT conditions are met, and game mechanics make this tough).  Also, you are relying on wurms PRNG being random (passing a randomness test), which would need to be checked to ensure the I condition is met.

 

Edited by Etherdrifter
  • Like 1

Share this post


Link to post
Share on other sites
15 hours ago, Etherdrifter said:

Also, you are relying on wurms PRNG being random (passing a randomness test), which would need to be checked to ensure the I condition is met.

Would a test using Wurm's in-game chat command "/random" work? I like it because I can spam it fast.  It would let me directly test nextInt. All of Wurm's random rolls are derived from the same Random-class object.  Does this mean if nextInt is good then nextFloat and nextBoolean should be good too?

 

 

From Communicator.handleMessageRandomNumber()

this.player.getName() + " rolls " + (Server.rand.nextInt(rand) + 1) + "/" + rand + "."

Rarity rolls are as follows for rare, supreme, and fantastic:

Server.rand.nextBoolean(),  Server.rand.nextInt(100),  Server.rand.nextFloat()

Window creation roll: 

Server.rand.nextInt(3600)

Server.rand is the same Random-class object passed around everywhere.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this