If you’ve been around software development, especially in certain fields recently, you may have heard the term RNG pop up. Short for Random Number Generator, on the face of it it seems like a simple concept. However, there are multiple layers of complexity to the subject and it’s many different uses might surprise you.
RNG Fundamentals
As the name suggests, a Random Number Generator is some form of system designed to output a number that, in theory, cannot be predicted. They have a number of practical uses in different types of applications, particularly any which need a randomly generated reward or prize.
Most prominently, they feature in online casino systems which, by nature, require randomly-determined results for their games. Online slots, for example, use a statistic known as RTP, or Return-To-Player, which is the expected return on a certain game. However, the casinos make it clear in any list of the best RTP slots that this is strictly an average and the real results will always be random. This is to ensure that all the games are fair to play and there’s no chance of bias.
Types of RNGs
There are two primary types of RNGs; “true” and “pseudo”. Virtually every RNG in commercial use is in the pseudo category as true RNGs are more complex in setup and structure. They rely on entirely unpredictable external factors, including such unusual things like radioactive isotope decay or radio static patterns, to generate results. This means that it is entirely impossible to make any prediction of the result.
On the other hand, pseudo RNGs are programmed algorithms with a set number of restrictions. In the simplest form, knowing the ‘seed’ number used to generate the algorithm could make predictions possible, although in practice these algorithms are often layered on top of each other. Having multiple seeds bouncing off of each other means the results are almost entirely unpredictable like true RNGs, and this is the system employed by companies like the online casinos we mentioned earlier.
Why is This Important Now?
One of the most important areas of tech development right now is data security and RNGs are right at the heart of it. Basic data encryption works much in the same way as a spy’s codebook; messages can only be read if you know the code. However, for modern hacking groups, that is far too simple to break down.
For that reason, it is now common for encryption systems to utilise highly-specialised RNGs that can convert data into what looks like gibberish code so that it can be sent securely. This is one of the more common ways that true RNGs are used as, theoretically, encryption based on a system that no-one can predict should be unbreakable.
The scale of RNGs runs from the most basic systems that a rookie programmer can put together in 30 minutes to state-of-the-art systems developed over many years. For that reason, we recommend that you try and make a basic one yourself as it’s a great entry point to a lot of software development.