• NV Random – Controlled randomisation for UE4

    I’ve released my second Unreal Engine Marketplace product.
    This one is a configurable randomisation system, written entirely in Blueprints.

    It allows random sequences of either numbers (e.g. die rolls) or outcomes (e.g. chance to hit) to be generated, with options to coax the results into fairer distributions and to limit unlikely edge cases.

    We’ve all played games where some randomised result feels really unfair because it seems to keep rolling against us repeatedly. Since the outcome of each roll is not affected by previous rolls, it’s perfectly possible (though unlikely) to get any number of low-probability results in a row, and given enough attempts and enough players, such a sequence is almost guaranteed to happen to someone.

    So, I created this system to allow designers to control the randomness, to make it slightly less random but also closer to what we as humans expect random outcomes to be like, based on some of the tricks I’ve read about other game developers using.

    It uses a two main methods to achieve this effect:

    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.
    This actually changes the nature of the what is being randomised – the individual outcomes are no longer random, but instead the order of the outcomes is randomised.

    The second method uses random generation, but adjusts the chances to favour some outcomes and disfavour or disallow others (such as excessively long streaks.)
    For example, when rolling six-sided dice, each number can become more likely to be rolled the more rolls it has gone without appearing.

    The system has a lot of options to further configure the randomisation algorithm. The full documentation is available on Google docs.

    These tricks can be used for things like making sure the player doesn’t go too long without scoring a hit or a critical strike, to make sure that a weapon which deals damage in a range has an even spread inside that range, or to make it increasingly unlikely for a player to go without finding rare treasure with a very low chance to drop, to name but a few examples.

    NV Random on the Unreal Marketplace


  • Preparing content for publishing on the Unreal Marketplace

    This tutorial is a quick summary of the process for preparing a content pack for submission into the Unreal Marketplace.
    It is geared towards content-based asset packs.

    The tutorial will cover three main aspects:

    1. Preparing the content, including a list of things to check before submission.
    2. Submitting the product to the Marketplace.
    3. Updating a submission, including updates when a new version of the Unreal Engine is released.

    Read the rest of this entry »


  • NV Spline Tools – version 2.0 update

    I have just released an update to my NV Spline Tools package, adding some new features that people asked about, and fixing some minor bugs.

    New in version 2:

    • Now uses instanced static meshes for “Between Segments”, “Periodic”, and “At Points” modes
    • Can now be called at run-time via the “Build Spline Mesh Sequence” function
      • It will re-use the previous components as much as possible to improve performance
    • Added the option to specify the Mobility of the created components
    • Added the option to globally override the curve type of the points in the spline
    • Added the option to automatically drop the spline points to the closest surface under them
    • Added the ability to use separate sets of meshes for the start and the end of the sequence
    • Fixed a bug where the choice of last segment in a randomised sequence did not use the random seed
    • Fixed a bug where the sequencing of meshes would be off if more than one series of meshes used it

    NV Spline Tools is available on the Unreal Marketplace


  • NV Spline Tools – a system for setting up a modular sequence of meshes to follow the path of a spline.

    I just got my first Marketplace submission published!

    It’s is a system for setting up a modular sequence of meshes to follow the path of a spline, built entirely in Blueprints for use at edit time when creating levels.

    I had been working on some props that were supposed to follow terrain along a path, but I wasn’t happy with how the easy way to do it was to stretch the meshes between each point on the spline, because that would mean manually placing each point at roughly the correct distance apart to avoid excessive stretching.

    So, I started work on a system that would let me repeat the meshes at appropriate distances along the spline automatically, to keep each mesh as close to its proper size as possible.

    I was adding a few more layout options, and thought that maybe this system might be generally useful to people who want to use spline meshes, so I decided to add a few more features, polish it up and document it, and release it on the Marketplace for others.

    NV Spline Tools is available on the Unreal Marketplace