The Spring Creator sale is here! Save up to 70% on select products now through April 18.

NV Random

Nameless Workshop - Blueprints - May 21, 2019
Not Yet Rated

Configurable random system

  • Supported Platforms
  • Supported Engine Versions
    4.16 - 4.27, 5.0
  • Download Type
    Asset Pack
    This product contains an assortment of Unreal Engine assets which can be imported into a pre-existing project of your choice.

NV Random is a configurable system for generating random numbers and outcomes, with options to adjust the results to minimize unlikely outcomes and provide more evenly distributed results.


A problem with using true randomness in games is that they often don't feel fair to players, and that given enough rolls, an extremely unlikely outcome is almost certain to happen to someone.


NV Random has two methods to avoid these unfair-feeling outcomes:


The first method is the use of a shuffle bag - instead of rolling for each outcome as needed, a number of future outcomes are placed into a bag and their order is randomized.

For example, given a 20% chance, two successes and eight failures are placed into the bag, guaranteeing an exact 20% outcome over ten rolls.


The second method uses random generation, but adjusts the chances to favor some outcomes and disfavor or disallow others (such as excessively long streaks.)


Each option is highly configurable.


The system can be used to generate either outcomes (success or failure) with a given % chance, or integer numbers in a given range.


NV Random is entirely built in Blueprints.


Full documentation (Google Docs)

Technical Details

Features:


  • Shuffle bag to generate a set of results which is consistent over the size of the bag
  • Usable to generate both random outcomes with a given percentage chance, and integers within a given range
  • Configurable size
  • Optional use of sub-bags to even out the distribution
  • Wildcards to introduce a small amount of true random to the otherwise predictable bags


  • Generate random outcomes with a given percentage chance
  • Ability to break unlikely streaks of successes or failures
  • Option to increase or decrease chance based on previous outcomes


  • Generate random numbers in a given range
  • Ability to break unlikely streaks of the same number
  • Option to increase the chance of a number being rolled the longer it is not rolled


Number of Blueprints:

Input: No

Network Replicated: No

Supported Development Platforms: Windows. Linux

Supported Target Build Platforms: Any

Documentation: Full documentation (Google Docs)