Discovering a pattern in Rust Roulette

Roulette Tips Video Source & Information:

Everyone asks me how I do it so may as well live stream to show you. Today I am recording as many consecutive spins to analyze later and include in an upcoming video. I intend to do all this lengthy data entry in order to fine tune an algorithm of my own to predict the results. Yeah this is stupid, I get it, but we’ll see what happens, AMA in chat.

Source: YouTube

Share this video:
Discovering a pattern in Rust Roulette

4 thoughts on “Discovering a pattern in Rust Roulette

  1. In order to generate random numbers which are contained in a specific range, random numbers generators utilized in programs have algorithms which are not trutly random. These algorithms fall into the category of Pseudo Random Number Generators (PRNG).

    These are very simple algorithms, they start from a seed, usually 4 digitslong, which works as the starting point for the algorithm, which will then generate random numbers from that. Aside from the seed, which is a true random number usually generated from taking the current time in the computer's clock below the milliseconds, all the numbers generated by a PRNG are PREDICTABLE and will generate PATTERNS. The reason they work, however, is that those patterns are huge so you most likely wont discover it, unless you sample an impressive amount of data.

    If you were to know the algorithm utilized to generate the numbers and at least 3 numbers generated by that very running algorithm, it seems it becomes possible to calculate the seed which is currently being utilized, and once you have the seed, you put it back into the algorithm and it will tell you all of the future numbers generated.

    There are, however, many problems with this. The first thing we need to do is finding out which algorithm Rust is using to generate the values.
    Rust is developed in Unity and written in C# code. The default Unity Random library, as stated by one of the developers in 2005, utilizes the Xorshift 128 Random Number Generator Algorithm, a very simple and predictable one; while C# default Radom library utilizes Donald E. Knuth's subtractive random number generator algorithm. Rust developers most likely use one of these two algorithms, both would require to be tested.

    Then, we need to find out 3 values generated by the current seed, but sadly, we dont get a number, we get a visual representation of it. If we were to look for the rotation value of the wheel inside of our computer's memory while Rust is running, we could get a numeric value and from that get how much the wheel rotated from its last position. This however, could be useless data. We don't know if in rust's wheel algorithm there is a specific number of rotations before the random number is applied, and we don't know how this random number is applied. The only way we could know this is if we somehow got our hands on Rust's server code, decompiling it and reading how the random number is being utilized, *and how to retrieve it*.

    Finally, there is one last problem, the seed can and will change. When the wheel starts spinning for the first time, a seed is generated and it is utilized until the server keeps running. This means that the seed will change every time a server is restarded or wiped, and every server has its own unique seed, this means you have to re-calculate it every time.

    If you were to succeed in all of these complicated stuff, you would be able to predict the outcome of the wheel 100% of the times. This, however, is not easy to archieve.
    Your current method does expose a weakness in the system: *Patterns exists and over a large amount of samples, can be found*. But most importantly, smaller patterns exists in these patterns, but they might not last for very long, as the huge main pattern keeps on playing, smaller paterns might apper and disappear.

    To trutly understand why these patterns exists, you have to understand the theory of chaos, the logistic map: https://www.youtube.com/watch?v=ovJcsL7vyrk&t=1s

    I hope this helps you in your quest, this rabbit hole goes deeper than we could ever imagine.

  2. This seems relatively faulty to do it this way. What about when the determining arrow touches the edge of two positions? Wouldn't it be better to gamble 1 scrap on each just in case it lands on an edge and check which multiplier it landed on?

  3. I figured that if i write the pattern, then replay the video, i guessed everything correct 100% of the times. I'm genius now to recreate the replay on rust

Comments are closed.