Skip to content
Roblox
  • #scripting

Helliox RNG

A Sol's RNG-style Roblox game where players click to roll for random weapons with varying rarities. Features a sophisticated RNG system with luck modifiers, comprehensive inventory management, and dynamic player stats that change based on equipped weapons.

Year
2024
Status
completed

As the main scripter, I built Helliox RNG's core systems from scratch, learning Lua through tutorials and hands-on work. It was my first major scripting project, and a real school in game development and system architecture.

Scripting

Core game systems

The RNG system with exponential luck modifiers, inventory and equipment, player stats and data persistence.

  • RNG

    Exponential luck modifiers, weighted random selection, weapon validation and dynamic chance calculations.
  • Player

    Inventory management, equipment, stat changes and data persistence.

How the weighting works

Each weapon has a chance written as "1 in X": 10 means 1 in 10 (10%), 1000 means 1 in 1000 (0.1%). The player's luck bends that chance exponentially, then the chance becomes a weight:

text
adjustedChance = chance ^ (1 / luckModifier)
weight         = 1 / adjustedChance

A luck modifier of 1 changes nothing, 2 takes the square root (better odds) and 0.5 squares it (worse odds). The draw adds up every weapon's weight, picks a random number between 0 and that total, and walks through the weapons until the running sum passes it. A lower chance means a smaller weight, so rare weapons stay rare.

A common (1 in 10) with 2x luck
1 in 3.16
A common (1 in 10) with 2x luck
A rare (1 in 100) with 2x luck
1 in 10
A rare (1 in 100) with 2x luck
An epic (1 in 1000) with 2x luck
1 in 31.6
An epic (1 in 1000) with 2x luck

The boost grows with rarity (about 3x better odds for a common, 10x for a rare, 32x for an epic), the order of the rarities never changes, and the scaling stays smooth as luck improves.

VideoLuck Weighting Showcase
0:00 / 0:00
A video showcasing the luck weighting system, where the Player's Luck stat influences the chance of rolling higher rarity weapons, keeping balanced outcomes between lower and higher rarities

UI/UX Design

A temporary beta interface

I designed and built the beta's interfaces, which were needed to show off every scripted feature: weapon displays, rolling, inventory and player stats.

  • Core

    The main rolling interface, the weapon display, the luck modifier display and rolling animations.
  • Management

    Inventory, equipment, player stats and weapon rarity indicators.
Project status

Helliox RNG reached a working beta with its core systems built and tested, but it was never released publicly: after the beta, my services were no longer needed.

  • Finished

    The RNG system with luck modifiers, inventory and equipment, player stats and data persistence.
  • Outcome

    The beta was completed, the game was never released, and my part ended there, with a lot learned.
Key features
  • RNG

    Exponential luck, weighted selection, dynamic chances and weapon rarity tiers.
  • Player

    Inventory, equipment, dynamic stats and data persistence.
  • Progression

    Collecting weapons, improving luck and stats, and achievements.
What I learned

My first major scripting project: Lua and game development learned through tutorials and practice, building systems from the ground up.

  • Technical

    Lua fundamentals, game system architecture, algorithm design and optimization, and data structures.
  • Process

    Learning from tutorials, putting it into practice, integrating systems, and testing and debugging.

Other games