Hai mai mancato un colpo con il 95% di probabilità di successo? Oppure aperto decine di casse senza trovare l’oggetto che cercavi? Dietro molte di queste situazioni c’è l’RNG, uno dei sistemi più utilizzati nei videogiochi.
RNG è l’acronimo di Random Number Generator, cioè generatore di numeri casuali. Nei videogiochi viene utilizzato per stabilire il risultato di eventi che non devono essere completamente prevedibili: la probabilità di ottenere un oggetto, un colpo critico, l’apparizione di un nemico raro, il contenuto di una ricompensa o perfino la precisione di un attacco.
Non significa però che console e computer lancino realmente dei dadi ogni volta che premiamo un pulsante. Dietro quella che percepiamo come fortuna c’è quasi sempre un calcolo.
Cosa significa RNG nei videogiochi

L’RNG è un sistema utilizzato dal gioco per scegliere un risultato tra diverse possibilità.
Immagina un oggetto che ha il 5% di probabilità di essere ottenuto dopo aver sconfitto un nemico. Il gioco deve decidere, ogni volta, se quell’oggetto verrà lasciato oppure no.
È qui che interviene il generatore di numeri casuali.
Lo stesso principio può essere utilizzato per moltissime situazioni:
- probabilità di ottenere un oggetto raro;
- colpi critici;
- precisione delle armi;
- incontri casuali;
- generazione delle mappe;
- statistiche di personaggi e oggetti;
- ricompense;
- loot;
- comportamento di alcuni nemici;
- apparizione di Pokémon o creature rare.
Il giocatore vede semplicemente il risultato. Dietro le quinte, invece, il gioco ha effettuato uno o più calcoli.
Come funziona un RNG

Per capire il concetto possiamo immaginare il lancio di una moneta.
Nel mondo reale il risultato dipende da tantissimi elementi: forza del lancio, rotazione, altezza, superficie sulla quale cade e numerose altre variabili.
Un videogioco non può semplicemente lasciare una moneta al caso.
Deve produrre un risultato attraverso un programma.
Il sistema genera quindi un numero e lo utilizza per stabilire cosa deve accadere. Se per esempio il gioco produce un valore compreso tra 1 e 100, potrebbe decidere che:
- da 1 a 5 viene ottenuto un oggetto raro;
- da 6 a 30 viene ottenuto un oggetto comune;
- da 31 a 100 non viene ottenuto nulla.
Dal punto di vista del giocatore il risultato sembra casuale. Per la macchina, invece, deriva da una serie di operazioni matematiche.
Ed è proprio qui che bisogna distinguere tra vera casualità e quella normalmente utilizzata nei videogiochi.
TRNG e PRNG: qual è la differenza?
Quando si parla di generatori casuali esistono principalmente due categorie: TRNG e PRNG.
TRNG significa True Random Number Generator.
Questi sistemi possono utilizzare fenomeni fisici difficili da prevedere per generare numeri realmente casuali. Sono particolarmente importanti in settori come la sicurezza informatica e la crittografia.
Nei videogiochi è invece molto più comune incontrare un PRNG, cioè Pseudo Random Number Generator.
La parola “pseudo” non significa che il sistema sia truccato.
Significa semplicemente che i numeri non nascono dal nulla: vengono prodotti attraverso un algoritmo partendo da un valore iniziale.
Questo valore viene generalmente chiamato seed.
Cos’è il seed

Il seed può essere visto come il punto di partenza utilizzato dal generatore.
Partendo dallo stesso seed e utilizzando lo stesso algoritmo è possibile, almeno in determinate condizioni, ottenere la stessa sequenza di risultati.
È una caratteristica particolarmente evidente nei giochi con generazione procedurale.
In Minecraft, per esempio, condividere il seed di un mondo permette ad altri giocatori di generarne uno con la stessa struttura di base.
Il principio viene utilizzato in molti altri giochi, anche quando il giocatore non vede mai direttamente il seed.
Il valore iniziale può essere ricavato utilizzando elementi come l’orario, lo stato del gioco o altre informazioni che permettono di creare sequenze estremamente difficili da prevedere durante una normale partita.
L’RNG è casuale?
Questa è la parte interessante.
In molti videogiochi, tecnicamente, non completamente.
Un generatore pseudo-casuale produce risultati attraverso una formula. Se conoscessimo esattamente l’algoritmo, il seed e tutte le condizioni necessarie, in alcuni casi potremmo prevederne i risultati.
Naturalmente durante una normale partita questo è praticamente irrilevante.
Gli algoritmi e le variabili utilizzate possono rendere la sequenza sufficientemente imprevedibile da apparire completamente casuale al giocatore.
È un po’ come mischiare un mazzo di carte con un procedimento estremamente complicato: il risultato segue comunque delle regole, ma senza conoscere tutti i passaggi non puoi sapere quale carta uscirà.
Cos’è la RNG manipulation
Proprio perché alcuni generatori sono prevedibili esiste anche la cosiddetta RNG manipulation, cioè la manipolazione del generatore casuale.
In alcuni videogiochi i giocatori hanno scoperto come controllare o prevedere determinate sequenze.
La serie Pokémon offre alcuni degli esempi più conosciuti.
In diversi capitoli, studiando il funzionamento del generatore e le condizioni utilizzate dal gioco, la community è riuscita a sviluppare tecniche per ottenere Pokémon con determinate caratteristiche o per prevedere alcuni eventi.
Non si tratta necessariamente di modificare il gioco.
In determinati casi significa semplicemente comprendere il funzionamento del generatore e riprodurre condizioni molto precise.
Sono tecniche normalmente utilizzate da giocatori esperti, speedrunner o appassionati che analizzano il funzionamento interno di un titolo.
RNG, drop e loot: quando entra in gioco la fortuna

Uno dei luoghi nei quali incontriamo più spesso l’RNG sono i sistemi di loot.
Supponiamo che un boss abbia il 2% di probabilità di lasciare un’arma rara.
Sconfiggerlo cinquanta volte non significa automaticamente ottenere quell’arma.
Se ogni tentativo viene calcolato indipendentemente, il gioco effettua ogni volta una nuova estrazione.
Ed è proprio questo uno dei motivi per cui l’RNG può diventare frustrante.
Una probabilità del 10% non significa “una volta ogni dieci” con certezza. Significa che ogni tentativo ha quella determinata probabilità di successo.
Puoi trovare l’oggetto al primo tentativo oppure continuare a non trovarlo molto più a lungo di quanto suggerirebbe una semplice media.
Alcuni giochi introducono sistemi che modificano progressivamente le probabilità per evitare situazioni troppo punitive.
L’RNG nei giochi di ruolo

Nei giochi di ruolo la casualità esiste da molto prima dei videogiochi.
Basta pensare ai dadi utilizzati nei giochi da tavolo.
Molti videogiochi non fanno altro che riprodurre digitalmente lo stesso concetto.
Un attacco può avere una determinata percentuale di successo. Una statistica può aumentare le possibilità di ottenere un colpo critico. Un nemico può avere una piccola probabilità di lasciare un oggetto particolare.
Titoli come XCOM rendono questo meccanismo estremamente evidente mostrando direttamente la percentuale di successo di un’azione.
Vedi 70% sullo schermo e devi decidere se rischiare.
Ed è proprio quella decisione a rendere interessante il sistema.
Se il fallimento non comportasse alcuna conseguenza, la percentuale avrebbe poca importanza. Quando invece da quel tiro dipende la sopravvivenza di un personaggio, il giocatore deve decidere quanto rischio è disposto ad accettare.
RNG nei roguelike

Nei roguelike e roguelite la casualità diventa spesso una parte centrale dell’esperienza.
Mappe, nemici, oggetti e potenziamenti possono cambiare a ogni partita.
The Binding of Isaac è uno degli esempi più immediati: due run possono essere completamente differenti in base alle stanze incontrate e agli oggetti ottenuti.
Ma un buon roguelike non dovrebbe essere soltanto fortuna.
Il giocatore impara a utilizzare quello che trova, modificare la strategia e sfruttare al meglio una situazione non ideale.
La casualità cambia le condizioni della partita. L’abilità sta nel sapere cosa farne.
Quando l’RNG diventa frustrante
La casualità non è automaticamente positiva.
Se una vittoria o una sconfitta dipendono quasi esclusivamente dalla fortuna, il giocatore può avere la sensazione che le proprie decisioni non abbiano alcun valore.
Il problema emerge soprattutto quando non esistono sistemi per gestire il rischio.
Un buon utilizzo dell’RNG permette invece al giocatore di reagire.
Puoi aumentare la probabilità di un colpo.
Puoi scegliere un attacco meno potente ma più preciso.
Puoi utilizzare equipaggiamenti che aumentano il drop rate.
Puoi decidere di non rischiare.
In questo modo la casualità non sostituisce la strategia: la alimenta.
RNG non significa necessariamente gioco truccato

Quando una serie di risultati va male è facile pensare che il gioco stia deliberatamente andando contro di noi.
La nostra percezione delle probabilità, però, non è sempre molto affidabile.
Se qualcosa ha il 90% di probabilità di successo tendiamo a considerarlo quasi sicuro. Ma rimane comunque un 10% di possibilità di fallire.
E quel 10%, prima o poi, arriva.
Naturalmente esistono anche videogiochi che utilizzano sistemi più complessi di una semplice estrazione casuale. Alcuni possono modificare le probabilità in base ai tentativi precedenti, alla progressione o ad altre condizioni.
Per questo non tutti gli RNG funzionano nello stesso modo.
RNG: gli esempi più comuni nei videogiochi

Probabilmente incontri sistemi RNG molto più spesso di quanto immagini.
- Un Pokémon selvatico possiede determinate caratteristiche.
- Un nemico lascia un oggetto raro.
- Un’arma produce un colpo critico.
- Una stanza viene scelta proceduralmente.
- Una carta viene pescata dal mazzo.
- Un attacco manca il bersaglio.
- Un oggetto appare in una posizione differente.
Sono tutte situazioni nelle quali può esserci un generatore pseudo-casuale dietro le quinte.
La differenza sta nel modo in cui ogni gioco utilizza quella casualità.
Quando è ben bilanciata crea varietà e costringe il giocatore ad adattarsi. Quando domina completamente l’esperienza può invece trasformarsi in frustrazione.
La prossima volta che mancherai quel famoso colpo con il 95% di probabilità di successo, quindi, saprai almeno con chi prendertela.
Non con la sfortuna.
Con l’RNG.