• Fantastic news Terrarians! All platforms have officially been submitted! Barring any issues our tentative release date is September 28th!

Mobile Theory of getting Rare Drop.

Status
Not open for further replies.

Scarlet Hunter

Retinazer
Please go wikipedia to find out more about how computer generate random numbers.
https://en.wikipedia.org/wiki/Random_number_generation
https://en.wikipedia.org/wiki/Randomized_algorithm



No. It does GUARANTEE, in computer or programming language. Which you refer as, the actual game files.
That isn't how that works.

Let's say the Rod of Discord. It is a 1/500 drop chance from Chaos Elementals.
Every time you kill one, it checks a random number from 1 to 500. If it gets a pre-determined one (probably either 1 or 500), then it drops the Rod.

It does not progressively get easier as you kill more, though that could make an interesting mod with less grinding.
 

Sirine

Terrarian
Lets make this clear.

My ideal:-
A set of card = 52. (An Ace card is chosen). Each time draw a card, after 52 card all drawn, I will guarantee to get an Ace, either the 1st draw or the last.

Your ideal:-
A set of card = 52. (An Ace card is chosen). Each time draw a card, if not an Ace, the card is put back in the deck and reshuffle. You may get an Ace, either the 1st draw or after some time or forever never (Really bad luck).

Is this True?
If you say NO:- You are using my ideal.
If you say YES:- You are wrong because you may never ever get an Ace from 52 cards. Or way after 52 draws.
Hence, it also means its NOT as [1 to 52] chances. Its [1 to 52] x n. (Where n is unknown or number of draws). When n is unknown it could be any number. When n = any number then the formula will be 1 to 52n and this also means 1 to x. (Lets say 52n=x)

So, a [1 to x] drop. How do you differentiate an "Easy drop" and a "Rare drop"?
 

Scarlet Hunter

Retinazer
Lets make this clear.

My ideal:-
A set of card = 52. (An Ace card is chosen). Each time draw a card, after 52 card all drawn, I will guarantee to get an Ace, either the 1st draw or the last.

Your ideal:-
A set of card = 52. (An Ace card is chosen). Each time draw a card, if not an Ace, the card is put back in the deck and reshuffle. You may get an Ace, either the 1st draw or after some time or forever never (Really bad luck).

Is this True?
If you say NO:- You are using my ideal.
If you say YES:- You are wrong because you may never ever get an Ace from 52 cards. Or way after 52 draws.
Hence, it also means its NOT as [1 to 52] chances. Its [1 to 52] x n. (Where n is unknown or number of draws). When n is unknown it could be any number. When n = any number then the formula will be 1 to 52n and this also means 1 to x. (Lets say 52n=x)

So, a [1 to x] drop. How do you differentiate an "Easy drop" and a "Rare drop"?
I.... don't know how to explain this to you. You clearly aren't listening.

My "ideal," as you put it, is how the game works. Each time a number is drawn, it is put back in. It doesn't stay out.
 

Sirine

Terrarian
I have to say sorry if I have offended you in anyway. Sincerely.

Its very difficult for us to unlearn something that we already believe in.


The point of these video is, the presentor can explain everything he know.
Beside that he also pointed out the problems of others that explaining things in that "they does not actually understand".

Skip the "flat earth" things. Its not relevant to this topic here.

Again. I'm sorry.
 

Scarlet Hunter

Retinazer
I have tried my hardest, but this is clearly an unwinnable situation.
I will not be posting here anymore, as apparently there is no need for actual common sense.
 

ItsPrayz

Terrarian
I have to say sorry if I have offended you in anyway. Sincerely.

Its very difficult for us to unlearn something that we already believe in.


The point of these video is, the presentor can explain everything he know.
Beside that he also pointed out the problems of others that explaining things in that "they does not actually understand".

Skip the "flat earth" things. Its not relevant to this topic here.

Again. I'm sorry.
Ok, look, I'm not sure you're getting this correctly.

Let's talk about a key mold, any key mold, Frozen, Crimson, Corruption, Hallowed, Jungle.
Let's say they have a 1 in 4,000 drop chance. What this means is, Everytime you kill a mob inside their designated biome, you have a 1 in 4,000 chance of getting the key mold. What your saying is wrong, you're not guaranteed a key mold after getting 4,000 kills. How do they get that percentage on wiki you ask? They do a series of tests. They do different experiments and find the average number of kills to get a key mold. In this case the average amount of kills is 4,000. Simple as that. There are no guarantees with RNG.
 

Sirine

Terrarian
Ok, look, I'm not sure you're getting this correctly.

Let's talk about a key mold, any key mold, Frozen, Crimson, Corruption, Hallowed, Jungle.
Let's say they have a 1 in 4,000 drop chance. What this means is, Everytime you kill a mob inside their designated biome, you have a 1 in 4,000 chance of getting the key mold. What your saying is wrong, you're not guaranteed a key mold after getting 4,000 kills. How do they get that percentage on wiki you ask? They do a series of tests. They do different experiments and find the average number of kills to get a key mold. In this case the average amount of kills is 4,000. Simple as that. There are no guarantees with RNG.

Your points.
1) They do a series of tests.
"They" = Half lies, unless you can tell who are the 'they' in specific.
"tests" = Means something to try out and something that I strongly believe you can't specifically stated here.

Concluded = empty talk.

2) They do different experiments and find the average number of kills to get a key mold.
"They" = Half lies, unless you can tell who are the 'they' in specific.
"experiments" = Means something to perform in a well documented tasks/jobs/events that is repeatable and accountable.
"average" = A series of numbers that divided in a number of series. And what is the number here???

Concluded = empty talk.

3) In this case the average amount of kills is 4,000. Simple as that.
"Average mount is 4,000." = You said so, because of referring to "they" said so.

Concluded = empty talk.

4) There are no guarantees with RNG.

Concluded = Your talk does not support/sided with any logical sense or proof.

----------Below are my talk. --------------------------------------------------------------------------------------------------------------------

Terraria need to differentiate the common drop and rare drop.
Hence a chances of 1 of "x" is determine, and the larger the "x", there harder or rarer the item drop.

And I can tell you that. Wiki get the 1/4000 from the "source code" of Terraria.
Here is the proof of what I said "source code" => https://forums.terraria.org/index.php?threads/where-to-find-purple-slime-in-mobile-terraria.48249/

1) The link shows that I understand the source code.
2) I know where the source code are, how to get them. Here=> [link removed by staff]
3) How to find the line that needed for me to understand the answer I'm looking for. (the purple slime).

Concluded = There are guarantees "in a way" with RNG. Depends on how the coding of the RNG (source code) being done.
 
Last edited by a moderator:

Unit One

Administrator
Staff member
Administrator
As far as I know there is no way to improve the chances of the random number generator. It is random and up to luck. I've been keeping an eye on this thread, and since it's more of a general discussion about whether or not drop chances can be increased, and not so much a tried and true guide, I'll move this to Mobile General Talk.

2) I know where the source code are, how to get them. Here=> [link removed by staff]
I needed to edit your message to remove that link. Links to decompiled source code of Terraria are not permitted. Any questions, please send me a private message.
 

Kazzymodus

Moderator
Staff member
Moderator
Lets make this clear.

My ideal:-
A set of card = 52. (An Ace card is chosen). Each time draw a card, after 52 card all drawn, I will guarantee to get an Ace, either the 1st draw or the last.

Your ideal:-
A set of card = 52. (An Ace card is chosen). Each time draw a card, if not an Ace, the card is put back in the deck and reshuffle. You may get an Ace, either the 1st draw or after some time or forever never (Really bad luck).

Is this True?
If you say NO:- You are using my ideal.
If you say YES:- You are wrong because you may never ever get an Ace from 52 cards. Or way after 52 draws.
Hence, it also means its NOT as [1 to 52] chances. Its [1 to 52] x n. (Where n is unknown or number of draws). When n is unknown it could be any number. When n = any number then the formula will be 1 to 52n and this also means 1 to x. (Lets say 52n=x)

So, a [1 to x] drop. How do you differentiate an "Easy drop" and a "Rare drop"?

As weird as it may sound, the second method (putting the card back) is exactly how random number generators, or even randomness in general, work.

A random sequence of ten numbers ranging from 0 to 9 is not necessarily a sequence of the numbers 0 to 9 in a random order. It can be, sure, but it can also be a sequence of only fives. It can even be a sequence of 0 to 9 in the right order. But every single one of those sequences has the exact same chance of being generated (one in ten to the tenth power, or in other words one in ten billion), because any next number in the sequence can be any number in range, including the number just before it.

A chance of one in four thousands means that every roll with those odds has a one in four thousand chance of resulting in a win. To put that in computer terms, if you generate 4000 numbers (0 to 3999, because to computers 0 is the 1st number), you have a one in thousand chance of generating a 0. This does not mean that you are guaranteed a 0 within four thousand rolls. In fact, the chance of getting at least one 0 withing four thousand rolls is only 63%: 0.99975 (the probability of not getting a 0) to the power of 4000 (the amount of rolls) is 37% (rounded up), so the chance of getting at least one 0 is 100% minus 37%.

The idea behind probability is to allow you to estimate how likely something is to happen. It does not, and never will, enable you to predict or guarantee anything with absolute certainty. Imagine a billion people play Terraria (not very realistic, but hey, something to strive for!). On average, it will take a Terrarian four thousand kills to get a Key Mold. But there will be someone who gets it on their first kill, and there will be someone who will only get one on their twenty-thousandth kill. The chance of that happening is tiny, but it's not impossible, ergo given enough attempts (infinity usually does the trick), eventually it will happen. But on average, it will take four thousand kills, and that is what probability is all about.

There is only one way to influence drop rates, and that is to supply a seed that you know will give you a favorable outcome and then replicate the exact circumstances that lead to that outcome (exactly the same world, exactly the same time, exactly the same player input, and so on). This, however, is practically impossible. You will get a Key Mold a trillion times over before you manage to pull that off.
 

Sirine

Terrarian
As weird as it may sound, the second method (putting the card back) is exactly how random number generators, or even randomness in general, work.

A random sequence of ten numbers ranging from 0 to 9 is not necessarily a sequence of the numbers 0 to 9 in a random order. It can be, sure, but it can also be a sequence of only fives. It can even be a sequence of 0 to 9 in the right order. But every single one of those sequences has the exact same chance of being generated (one in ten to the tenth power, or in other words one in ten billion), because any next number in the sequence can be any number in range, including the number just before it.

A chance of one in four thousands means that every roll with those odds has a one in four thousand chance of resulting in a win. To put that in computer terms, if you generate 4000 numbers (0 to 3999, because to computers 0 is the 1st number), you have a one in thousand chance of generating a 0. This does not mean that you are guaranteed a 0 within four thousand rolls. In fact, the chance of getting at least one 0 withing four thousand rolls is only 63%: 0.99975 (the probability of not getting a 0) to the power of 4000 (the amount of rolls) is 37% (rounded up), so the chance of getting at least one 0 is 100% minus 37%.

The idea behind probability is to allow you to estimate how likely something is to happen. It does not, and never will, enable you to predict or guarantee anything with absolute certainty. Imagine a billion people play Terraria (not very realistic, but hey, something to strive for!). On average, it will take a Terrarian four thousand kills to get a Key Mold. But there will be someone who gets it on their first kill, and there will be someone who will only get one on their twenty-thousandth kill. The chance of that happening is tiny, but it's not impossible, ergo given enough attempts (infinity usually does the trick), eventually it will happen. But on average, it will take four thousand kills, and that is what probability is all about.

There is only one way to influence drop rates, and that is to supply a seed that you know will give you a favorable outcome and then replicate the exact circumstances that lead to that outcome (exactly the same world, exactly the same time, exactly the same player input, and so on). This, however, is practically impossible. You will get a Key Mold a trillion times over before you manage to pull that off.

Your are contradict yourself in the logic.

Adding "probability" in your talk does not explain anything.

At the end your come up something call "seed" and you giving a 'conditional circumstances' to get the probability outcomes.

And you DO NOT attempt to explain the 'conditional circumstances' by the 'seed' that you just added in.

Go study some programming language. (Microsoft Excel is one simple enough apps.), and get yourself to learn the how computer generate random number.

Its [1 to 52] x n. (Where n is unknown or number of draws). When n is unknown it could be any number. When n = any number then the formula will be 1 to 52n and this also means 1 to x. (Lets say 52n=x)

So, a [1 to x] drop. How do you differentiate an "Easy drop" and a "Rare drop"?

Please do a simple clear explanation. From above quote, or with your 'conditional circumstances'.
"How to differentiate an easy drop, uncommon drop and a rare drop."
 
Last edited:

Kazzymodus

Moderator
Staff member
Moderator
Your are contradict yourself in the logic.

Adding "probability" in your talk does not explain anything.

At the end your come up something call "seed" and you giving a 'conditional circumstances' to get the probability outcomes.

And you DO NOT attempt to explain the 'conditional circumstances' by the 'seed' that you just added in.

Please do a simple clear explanation.
"How to differentiate an easy drop, uncommon drop and a rare drop."

Go study some programming language. (Microsoft Excel is one simple enough apps.), and get yourself to learn the how computer generate random number.
I have enough experience with C# to write applications and games with and without an external engine, additionally I have done research to the nature of pseudo-random number generators in my own time, so I'd say I'm fine there. However, what you don't seem to understand is that at the root, this has nothing to do with programming, but just the concept of probability in general.

The reason I gave 'conditional circumstances' is because a seed will always give the same sequence when run through an algorithm. So yes, if you replicate the exact circumstances of one run, you will get exactly the same outcomes. Like I said, computer's can't do random, so a single seed will always give the same result.

As for the difference between an easy, uncommon and rare drop is relative. If the most common drop in a game would be one in two, then a drop of one in two hundred would be rare. If the most common drop would be one in one hundred, a drop of one in two hundred would be common, bordering on uncommon. There are no set guidelines for when a drop is common, uncommon or rare, those are just parameters you set for yourself. But at any rate, drop rates are handled exactly the same for all drops in the code, whether extremely common or extremely rare.

EDIT: I see you edited your post to add this:
Code:
Its [1 to 52] x n. (Where n is unknown or number of draws). When n is unknown it could be any number. When n = any number then the formula will be 1 to 52n and this also means 1 to x. (Lets say 52n=x)

So, a [1 to x] drop. How do you differentiate an "Easy drop" and a "Rare drop"?
Please do a simple clear explanation. From above quote, or with your 'conditional circumstances'.
"How to differentiate an easy drop, uncommon drop and a rare drop."
Your maths is off. You don't multiply a chance by the amount of draws, that doesn't tell you anything.

Let's say your drop chance is 1 in 52 (~0.019). If you want to calculate the chance of you getting at least one drop over n draws, you need to do this:
Code:
P(>= 1 drop) = P(all possible outcomes) - P(all unwanted outcomes)

P(all possible outcomes) = 1

P(all unwanted outcomes) = P(0 drops over n rolls)

So:

P(>= 1 drop) = 1 - P(0 drops over n rolls)

---------

P(0 drops over n rolls) = P(no drop on roll 1) * P(no drop on roll 2) * P(no drop on roll 3) * ... * P(no drop on roll n) = P(no drop on individual roll) ^ n

P(no drop on individual roll) = P(all possible outcomes on individual roll) - P(all unwanted outcomes on individual roll) = 1 - 1/52 = 51/52 = ~0.98

P(0 drops over n rolls) = 0.98 ^ n

P(>=1 drop) = 1 - 0.98 ^ n

Notice how P(>=1 drop) will never become 1, because (0.98 ^ n) will never become zero. For a large enough n, it will approach 1, but it will never become 1.

This may look complicated, but it's actually quite simple. If you want to calculate the chance of X and Y happening, you multiply the chances. If you want to calculate the chance of X or Y happening, you add them (which is what you were doing).

What you essentially have calculated is what the chance is of getting a drop through one of n different methods, which is not how a drop roll works. Imagine you have a room with 52 different doors, so a person has a 1/52 chance to enter through any specific door. What you have calculated is the chance of one person coming in through one of n different doors. What you are supposed to calculate is the chance of at least one of n people coming through one specific door.
 
Last edited:

Sirine

Terrarian
By referring to here... https://forums.terraria.org/index.php?threads/where-to-find-purple-slime-in-mobile-terraria.48249/

Source code for the Terraria ver 1.2.4. (PC version)
"NPC.cs" (line 37224)

if (Main.rand.Next(10) == 0 && num47 > 400)
{
Main.npc[num31].SetDefaults("Purple Slime");
}


For what I understand, it means,
Random number from 0 to 9, if then number generated are 0, AND,
"World Map tiles count" more than 400 it will assign the Purple Slime to spawn.

Since you call yourself a decent programmer, you should fully understand the above (green) code.
*I have no time to go dig out the item drop chances code, you are welcome to do so at GitHub and share it here. I believe they using the same .rand.

So, in actual coding, a simple "If" statement, to have rand(10) = 0.

To increase the rarity of the spawn, one just increase the "x", rand(x).
Example:-
Blue Slime - if (Main.rand.Next(2) == 0)
Green Slime - if (Main.rand.Next(3) == 0 || num47 < 200)
Yellow Slime - if (Main.rand.Next(5) == 0)
Purple Slime - if (Main.rand.Next(10) == 0 && num47 > 400)

Clear, make sense and easily understand.

----------------------------------------------------------------------------
Next, Lets see specifically how "C# generate random number".

In this articles http://csharpindepth.com/Articles/Chapter12/Random.aspx

It state nothing about probability.

You say, this has nothing to do with programming, but just the concept of probability in general. (That start to confuse people).

In the Terraria code, it use 'instance of Random repeatedly'.
It does not use "cryptographic random number generator". (I've checked).

I say, this is all come from original Terraria Source Code. And I do not refer to "probability in general".

----------------------------------------------------------------------------
Imagine this:-
rand.Next(100) in a "continuous sequence of kill", you can be sure that the chances of drop is 1/100. It will guaranty drop <=100 kills.

rand.Next(4000) in a "continuous sequence of kill", you can be sure that the chances of drop is 1/4000. It will guaranty drop <=4000 kills.

----------------------------------------------------------------------------
Refer back to initial 1st post. Its all about "retaining the same sequence of kill".
Back to example:-
rand.Next(4000) in a "continuous sequence of kill", you can be sure that the chances of drop is 1/4000. It will guaranty drop <=4000 kills.

If you quit the game, and play it later, the new rand.Next(4000) are initiate. And the new random start over again.
You might get it the 1st kill (if you lucky), but you might never get it, if you constantly quit the game before getting one.

-----------------------------------------------------------------------------
line1: Imagine you have a room with 52 different doors, so a person has a 1/52 chance to enter through any specific door.
line2: What you have calculated is the chance of one person coming in through one of n different doors.
line3: What you are supposed to calculate is the chance of at least one of n people coming through one specific door.
line1: 1/52. Simple.
line2: the "chances of" 1/n. (n different door, which in this case n is 52 doors).
line3: the "chances of" n/1. (Which n is people, which is unknown, and door = 1. If people is 52 then 52/1 is 52. If door is 52, and people is 52, then 52/52=1)

Nice twist over. But mathematically not applicable. Your logic is seriously flawed.
 

Flowersteef

Queen Bee
From the first post:
Kill the mobs for '2x' times. (Means kill Paladin for [1/15] 15x2=30 times *in-a-row, it should drop his hammer before count of 30).

Honestly, this is how I always do random drop grinds, without all the nonsense you say forehand.
If it'll drop before that number, it'll be as normal as expected, if it's not the case, I'm rather gonna blame RNG instead of this 'calculation'.

This all seems to be as much of a rumor as 'pressing 'A' repeately will give you a better chance to get the pokémon caught'.
 

Cloud551

Spazmatism
if nobodies realized yet. sirine will refuse to admit hes wrong in any way. dont waste your time like i did reading this lol. rng is rng. random. a part of the definition even says "cannot be reasonably predicted" so stop trying.
 

Sirine

Terrarian
Please be civil*. Trolling will be reported.

*The definition of civil refers to something related to citizens or showing good manners and being polite.
 

Unit One

Administrator
Staff member
Administrator
Please be civil*. Trolling will be reported.

*The definition of civil refers to something related to citizens or showing good manners and being polite.
So far, from what I've seen, everyone has been civil, Sirine.

I'd like to remind you that if you feel there is something that needs attention from the forum staff, please report it and then ignore it. Threatening to report someone is just as much a rule violation as any trolling comments, so please take this as a verbal warning.
 

Cloud551

Spazmatism
wasnt trolling or trying to offend. just saying what i see and adding my two cents. no worries. im not going to comment any further.
 

Sirine

Terrarian
This is just a thread to offer some in-sign of how Terraria coding and related to the random of rarity drop.

Its is fine that you might not be agree on what I've said.

You show you opinion to decline my point of view, and I defended mine. That's nothing wrong, that's discussion, not argument.


But saying that this thread is nonsense, and ask everybody to ignore this thread is non-civil.


A thread is create with the "freedom to express" one view over some matter. You may ignore the thread if you find it does not make sense.

Posting reply to a thread shows that you are interested to communicate, and gaining exchange of knowledge with the "thread creator".

And it does not fall in to the categories of "freedom to express" for your thought/opinion for "thread reply". Because your reply are "DIRECT communication" to the thread creator.

Its best to stick to the basic of manner to respect the thread/creator, and not to just keep criticizing everything in the thread with empty talk or any proof.


"Trolling" is best demonstrate here as, to "replying thread" to ask "all other forum-er" not to believe in that thread. Rather than to communicate with the thread creator.

@Unit-One Please close/lock this thread as I'm not going to further proof this theory. As my plan is to record a series of video of editing the source code, compile, run, get the statistic, and show you how Terraria generate drops, and best way to get the drop you want.

Sirine sign off here. Hopes everybody happy. :)
 
Status
Not open for further replies.
Top Bottom