Vai al contenuto
Roblox
  • #scripting

Helliox RNG

Un gioco Roblox in stile Sol's RNG in cui si clicca per estrarre armi casuali di rarità diverse. Ha un sistema RNG con modificatori di fortuna, una gestione completa dell'inventario e statistiche del giocatore che cambiano in base alle armi equipaggiate.

Anno
2024
Stato
completato

Come scripter principale, ho costruito da zero i sistemi centrali di Helliox RNG, imparando Lua con tutorial e lavoro sul campo. È stato il mio primo grande progetto di scripting, e una vera scuola di sviluppo di giochi e di architettura dei sistemi.

Scripting

Sistemi di gioco principali

Il sistema RNG con modificatori di fortuna esponenziali, inventario ed equipaggiamento, statistiche dei giocatori e persistenza dei dati.

  • RNG

    Modificatori di fortuna esponenziali, estrazione casuale pesata, validazione delle armi e calcolo dinamico delle probabilità.
  • Giocatore

    Gestione dell'inventario, equipaggiamento, modifica delle statistiche e persistenza dei dati.

Come funziona il peso

Ogni arma ha una probabilità espressa come "1 su X": 10 vuol dire 1 su 10 (10%), 1000 vuol dire 1 su 1000 (0,1%). La fortuna del giocatore modifica quella probabilità in modo esponenziale, poi la probabilità diventa un peso:

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

Un modificatore di fortuna di 1 non cambia nulla, 2 ne fa la radice quadrata (probabilità migliori) e 0,5 la eleva al quadrato (probabilità peggiori). L'estrazione somma il peso di tutte le armi, sceglie un numero a caso tra 0 e quel totale e scorre le armi finché la somma progressiva non lo supera. Una probabilità più bassa vuol dire un peso più piccolo, quindi le armi rare restano rare.

Una comune (1 su 10) con fortuna 2x
1 su 3,16
Una comune (1 su 10) con fortuna 2x
Una rara (1 su 100) con fortuna 2x
1 su 10
Una rara (1 su 100) con fortuna 2x
Un'epica (1 su 1000) con fortuna 2x
1 su 31,6
Un'epica (1 su 1000) con fortuna 2x

Il vantaggio cresce con la rarità (circa 3 volte meglio per una comune, 10 per una rara, 32 per un'epica), l'ordine delle rarità non cambia mai, e la crescita resta graduale man mano che la fortuna migliora.

VideoIl peso della fortuna in azione
0:00 / 0:00
Un video del sistema di peso della fortuna: la statistica Fortuna del giocatore aumenta le probabilità di armi più rare, mantenendo l'equilibrio tra rarità basse e alte

Design UI/UX

Un'interfaccia provvisoria per la beta

Ho progettato e realizzato le interfacce della beta, necessarie per mostrare ogni funzione scriptata: visualizzazione delle armi, estrazione, inventario e statistiche del giocatore.

  • Principali

    L'interfaccia principale di estrazione, la visualizzazione delle armi e del modificatore di fortuna, e le animazioni dell'estrazione.
  • Gestione

    Inventario, equipaggiamento, statistiche del giocatore e indicatori di rarità delle armi.
Stato del progetto

Helliox RNG è arrivato a una beta funzionante con i sistemi principali realizzati e testati, ma non è mai stato pubblicato: dopo la beta, i miei servizi non sono più serviti.

  • Completato

    Il sistema RNG con i modificatori di fortuna, inventario ed equipaggiamento, statistiche del giocatore e persistenza dei dati.
  • Com'è finita

    La beta è stata completata, il gioco non è mai uscito, e il mio lavoro si è fermato lì, con tanto imparato.
Caratteristiche principali
  • RNG

    Fortuna esponenziale, estrazione pesata, probabilità dinamiche e livelli di rarità delle armi.
  • Giocatore

    Inventario, equipaggiamento, statistiche dinamiche e persistenza dei dati.
  • Progressione

    Collezionare armi, migliorare fortuna e statistiche, e obiettivi.
Cosa ho imparato

Il mio primo grande progetto di scripting: Lua e sviluppo di giochi imparati con tutorial e pratica, costruendo i sistemi da zero.

  • Tecnica

    Le basi di Lua, l'architettura dei sistemi di gioco, la progettazione e ottimizzazione degli algoritmi, e le strutture dati.
  • Metodo

    Imparare dai tutorial, metterlo in pratica, integrare i sistemi, e testare e correggere.

Altri giochi