Jump to content

Technical question: Type of randomness for shinies.


Recommended Posts

Hi people, someone knows or it is stated somewhere, which kind of randomness its using PokeMMO for shinies?
https://statisticsblog.com/2012/02/23/a-classification-scheme-for-types-of-randomness/
 

Seudo random? Real random? Which library and functions are being used?

I guess its obvious but im a dev, How i should offer my skills to MODS? Is PokeMMO willing to give some job/code proyect?

Edited by KiritoHakz
Link to comment

Hi, development information about the game such as client/server code is proprietary and the devs will not share it with players. They also don't take new applicants to the development team in general.

 

What is the intention of your question? As the article you link advises, it's effectively impossible to use "true" randomness in most computing applications, and thus secure pseudorandom generators are broadly accepted for use. Even if you knew the pseudorandom number generator method and the seed, it'd still be effectively impossible to use it to predict anything about the game unless you knew every other player's actions as well and could predict them in real-time.

Link to comment

This is not a password, its just a dice roll. It's a very absurd thought to make a dice roll cryptographically secure.

 

Just because you can link a blog post from 2012 and ask questions about random numbers, doesn't make it obvious that you are a dev.

Honestly it would make more sense if you linked your github or resume here as a job application.

 

Or maybe you already do have a working library that harvests entropy from the in-game global chat and provides non-deterministic numerical sequences that the devs can easily implement? Maybe try to convince them on the benefits of that towards shiny randomness?

 

Well to answer the question, they could very well be using java.util.random and it would be random enough for this purpose.

Link to comment

Hi. I am a total noob in this area but Desu commented in the following shiny hunting guide in another discussion about randomness:

I am not sure if this contributes to anything in this topic but there you go. 

 

Have a nice day. 

Link to comment
22 hours ago, Sourcerer said:

This is not a password, its just a dice roll. It's a very absurd thought to make a dice roll cryptographically secure.

 

Just because you can link a blog post from 2012 and ask questions about random numbers, doesn't make it obvious that you are a dev.

Honestly it would make more sense if you linked your github or resume here as a job application.

 

Or maybe you already do have a working library that harvests entropy from the in-game global chat and provides non-deterministic numerical sequences that the devs can easily implement? Maybe try to convince them on the benefits of that towards shiny randomness?

 

Well to answer the question, they could very well be using java.util.random and it would be random enough for this purpose.

Why i ask this? Its because the other day someone got 5 shiny the same day. That only could happen if the rng being used its seudo random. Also most of the time java devs use seudo random for random generation. Thats why its obvious you are using this. Its wrong and i disagree about its usage. You can just switch your random generation library to one that generates real random easily. Its not an argument. Also another advantage would be that shiny hunting will feel more real. I suspect your first reason to not implement this is that its more heavy for cpu. But thats not even an argument because you can pregenerate the pokimons and cache them for usage instead of generate the randomness at the moment. The pregenerated data should be not visible to nobody in staff obviously.

Why i know this? I have developed my own mmo of another game (wip) and got the same problems.

Also i have to remember you that people pays for donator status and shiny charms, and using seudo random its not respectful to the people that shiny hunts a lot.

Link to comment
5 minutes ago, Sourcerer said:


Sure RNGesus, next you'll tell us flipping a coin twice and getting heads both times is a glitch in the matrix.

Hello. I have encountered that achieving 14 successful consecutive coin flips (heads or tails) in a row can be compared in rarity to encountering a shiny in PokeMMO (from 1 in 30,000 probabilitt we have (1/2)^n = 1/30000) ^^

Link to comment
19 hours ago, KiritoHakz said:

Also most of the time java devs use seudo random for random generation. Thats why its obvious you are using this. Its wrong and i disagree about its usage.

Just because you think something is wrong and needs to be changed it doesn't mean it actually has to. Many players complain about shiny rates while other disagree about it being changed due to their rarity, but that's out of the topic. The fact is sooner or later everyone gets a shiny, and that means the code it's already doing its job. If you don't like the game the way it works you can simply stop playing it, or make a suggestion using more solid arguments about why this is not viable in the game (Spoiler: it is). That being said, here's something my Crud Master used to said frecuently, which also works as a standard for many developers:  

 

"If it does the work and it's already optimal. Do not. Touch. It."

 

19 hours ago, KiritoHakz said:

No. Im not ofering code that you can use in your own code. I want some serious job.

Perhaps you should try in a circus, seems serious enough. 🤡

Link to comment
Posted (edited)

Just test it you will see catching five shinys the same day its impossible with real random. There is no problem here. People its not complaining about shunting and its happy with thw nice event drops.

Yeah im being ironical. Event drops should be also real random.

 The pokimons asked from elfs also got problems because of using seudo random when defining pokimon for elfs, swarm and alphas.

I will just quit i guess. Im not wasting my time on seudorandom shunting . Ty anyway.

Edited by KiritoHakz
Link to comment
Posted (edited)
1 hour ago, razimove said:

My dude doesnt understand basic independent odds, nor that true randomness doesnt exist to this day. But hey, ill entertain your useless topic once more with this:https://engineering.mit.edu/engage/ask-an-engineer/can-a-computer-generate-a-truly-random-number/, bit of an old arcticle that still summarizes it well to this day.

Interesting that you use a title as an argument. Yes computers have limitations generating random numbers. But there are better algorithms than others. Some fall under seudo random category and others fall under real randomness. There are real random algorithms that are better designed than others in the same category

Edited by KiritoHakz
Link to comment
3 hours ago, KiritoHakz said:

Just test it you will see catching five shinys the same day its impossible with real random. There is no problem here.

By way of clarification, I am a software industry professional with a degree in computing and software systems from a world leading university.

 

Patterns of unlikely statistically independent events are exactly what one would expect from a random system. Humans are notoriously bad at distinguishing (effectively) truly random behaviour from patterned or distributed behaviour.  For example, consider the following two images:

image.png.2f8dc66a725191260eae24c2cbf401f4.png

 

Which image do you think represents a random distribution of dots, and which represents an ordered pattern being generated?

 

The image on the left is randomly generated; the image on the right is not random.

Notice that the left image contains clusters of dots together. If we are to imagine that a dot represents a shiny encounter, if the system being used is effectively truly random (i.e. provably psuedorandom by definition), we would expect clusters of shiny encounters close together, and long runs in between shinies, which is what you're describing. If you encountered a shiny exactly every 30,000 encounters, this would not be random at all, in fact it would be extremely ordered.

 

In practice it is effectively impossible for a computer system (which is deterministic by nature) to be truly random, and there is some debate as to whether "true" randomness even exists in the universe.

For most applications however, true randomness is unnecessary. It is usually sufficient, as it is in this case, that an attacker cannot analyse the output of a pseudorandom system and determine the input with any accuracy better than a guess. This is the case for the randomness in use in PokeMMO as evidenced by the link provided by Seth above (thanks Seth, I remembered Desu mentioning this but couldn't find it 🙂 ).

 

I'm sorry that you did not encounter a shiny in the amount of time that you expected, and that another player was very lucky and found many in the same day, but this does not demonstrate a "broken" system. As I mentioned, this is exactly what one would expect from a random system, and "pseudorandomness" is not any kind of knock against PokeMMO or its implementation of random monster generation.

Edited by Damian
Link to comment
2 hours ago, Damian said:

By way of clarification, I am a software industry professional with a degree in computing and software systems from a world leading university.

 

Patterns of unlikely statistically independent events are exactly what one would expect from a random system. Humans are notoriously bad at distinguishing (effectively) truly random behaviour from patterned or distributed behaviour.  For example, consider the following two images:

image.png.2f8dc66a725191260eae24c2cbf401f4.png

 

Which image do you think represents a random distribution of dots, and which represents an ordered pattern being generated?

 

The image on the left is randomly generated; the image on the right is not random.

Notice that the left image contains clusters of dots together. If we are to imagine that a dot represents a shiny encounter, if the system being used is effectively truly random (i.e. provably psuedorandom by definition), we would expect clusters of shiny encounters close together, and long runs in between shinies, which is what you're describing. If you encountered a shiny exactly every 30,000 encounters, this would not be random at all, in fact it would be extremely ordered.

 

In practice it is effectively impossible for a computer system (which is deterministic by nature) to be truly random, and there is some debate as to whether "true" randomness even exists in the universe.

For most applications however, true randomness is unnecessary. It is usually sufficient, as it is in this case, that an attacker cannot analyse the output of a pseudorandom system and determine the input with any accuracy better than a guess. This is the case for the randomness in use in PokeMMO as evidenced by the link provided by Seth above (thanks Seth, I remembered Desu mentioning this but couldn't find it 🙂 ).

 

I'm sorry that you did not encounter a shiny in the amount of time that you expected, and that another player was very lucky and found many in the same day, but this does not demonstrate a "broken" system. As I mentioned, this is exactly what one would expect from a random system, and "pseudorandomness" is not any kind of knock against PokeMMO or its implementation of random monster generation.

Whatever damian has said above is 10000% true

I remember the movie of Tom Cruise, war of the worlds

7ae1652b-9481-4a79-b0f5-39bd0ca0e5b2_text.gif.ee66e724948e05516e6f9102204eb413.gif

 

This is exactly what doesn't happen in pokemmo

Shiny doesn't happen in the same account twice, unless u are à Tom Cruise 😄

Link to comment
4 hours ago, Damian said:

By way of clarification, I am a software industry professional with a degree in computing and software systems from a world leading university.

 

Patterns of unlikely statistically independent events are exactly what one would expect from a random system. Humans are notoriously bad at distinguishing (effectively) truly random behaviour from patterned or distributed behaviour.  For example, consider the following two images:

image.png.2f8dc66a725191260eae24c2cbf401f4.png

 

Which image do you think represents a random distribution of dots, and which represents an ordered pattern being generated?

 

The image on the left is randomly generated; the image on the right is not random.

Notice that the left image contains clusters of dots together. If we are to imagine that a dot represents a shiny encounter, if the system being used is effectively truly random (i.e. provably psuedorandom by definition), we would expect clusters of shiny encounters close together, and long runs in between shinies, which is what you're describing. If you encountered a shiny exactly every 30,000 encounters, this would not be random at all, in fact it would be extremely ordered.

 

In practice it is effectively impossible for a computer system (which is deterministic by nature) to be truly random, and there is some debate as to whether "true" randomness even exists in the universe.

For most applications however, true randomness is unnecessary. It is usually sufficient, as it is in this case, that an attacker cannot analyse the output of a pseudorandom system and determine the input with any accuracy better than a guess. This is the case for the randomness in use in PokeMMO as evidenced by the link provided by Seth above (thanks Seth, I remembered Desu mentioning this but couldn't find it 🙂 ).

 

I'm sorry that you did not encounter a shiny in the amount of time that you expected, and that another player was very lucky and found many in the same day, but this does not demonstrate a "broken" system. As I mentioned, this is exactly what one would expect from a random system, and "pseudorandomness" is not any kind of knock against PokeMMO or its implementation of random monster generation.

Thank you for your input as always, Damian

 

8b8rdy.jpg.e428409f92eaecb7a39b7686e6083111.jpg

Link to comment
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.