Lancia una moneta. Quante possibilità hai che uscirà testa? Senza conoscere la forza del tuo tiro, la direzione del vento, l’altezza del lancio, e prendendo una moneta perfettamente bilanciata, le probabilità dovrebbero essere circa del 50%. Ora, se il tuo avatar nel videogioco dovesse lanciare una moneta, quante probabilità avrebbe di ottenere testa? Nello spazio virtuale fattori come vento, forza e altezza del tiro non esistono, quindi come viene generata questa casualità?
La risposta è… RNG. Uno dei termini molto utilizzati in molti generi videoludici, dai roguelike agli sparatutto; l’RNG è il singolo elemento fondamentale che differenzia un gioco come gli scacchi dal monopoli, ed è anche quello che viene alla mente (seguito da una trafila di insulti) quando perdiamo una partita per pura “sfortuna”, e a volte viene anche utilizzata per manipolarci a compiere certe decisioni. Ma cosa significa esattamente, e come funziona?
RNG: un algoritmo per domarli
TRNG e PRNG
RNG è un acronimo per “Random Number Generator”, che significa “generatore casuale di numeri”. È un algoritmo, ovvero un complesso calcolo matematico, che determina il risultato di una qualsiasi azione da parte del giocatore. “Ma aspetta”, potresti dire, “se è un calcolo matematico non significa che il risultato sarà sempre uguale per ogni giocatore? Dopotutto, 1+1 fa sempre 2!”
La risposta è: sì e no. Esistono due tipi di RNG (che ricordiamo, si riferisce sempre a un calcolatore/computer): TRNG e PRNG. TRNG sta per True RNG (vera RNG) e viene creata tramite hardware, cioè tramite processi fisici nel mondo reale, e vengono usati soprattutto nella crittografia. Impulsi elettrici vengono trasmessi attraverso un apparato apposito, che ne registra le fluttuazioni (gli alti e i bassi) e li traduce in codice binario, poi letto dal calcolatore.
PRNG invece significa Pseudo RNG, ed è quella di cui comunemente parliamo quando ci riferiamo ai videogiochi. Partendo da una base numerica assegnata dal gioco (una stringa di numeri) per ogni singola e unica partita, l’algoritmo genera il risultato facendo un “semplice” calcolo e prendendo in considerazione solo alcuni di questi valori. Suona complicato? Lo è! Ma facciamo un esempio per chiarire un po’.
Giochi come Pokémon utilizzano i seed (lett. “seme”) come valore base. Ad esempio, appena avvii il gioco (o appena inizi una nuova partita) il Gameboy o Gamecube prendono l’ora al nanosecondo in cui è stato avviato, e alcuni degli input del giocatore per creare un valore numerico; ad esempio, 278405 fingiamo sia un possibile seed della tua partita a Rosso Fuoco. Ora, questo numero viene preso dal gioco e viene moltiplicato per un valore sempre uguale a cui viene aggiunto un altro numero sempre uguale.
Il caso non esiste
Bulbapedia riporta che questo algoritmo in Pokémon Stadium per Gamecube è [result = 0x41C64E6D * seed + 0x0000303B]. Matematica a parte, quello che questo calcolo significa è che se ipoteticamente conoscessimo in anticipo con enorme precisione il numero generato dal gioco appena avviamo la partita, potremmo far sì che ogni risultato esca in nostro favore, che sappiamo quando appariranno Pokémon rari e che ogni mossa colpisca! Ed in effetti, la manipolazione dell’RNG è qualcosa che esiste e viene ampiamente sfruttata in alcuni ambienti.
Non esista una casualità “assoluta” nei videogame. Nel mondo virtuale, i computer e le console devono basarsi su dati reali che possiedono per generare un risultato che per noi esseri umani appare casuale. Ed in effetti, col progredire della tecnologia è sempre più difficile calcolare il seed iniziale della partita, che utilizza tantissime variabili differenti impossibili da calcolare per un giocatore qualunque. Il caso nei videogiochi non esiste, ma è simulato talmente bene che non fa differenza!
Il caso nei videogiochi: questione di quantità
È importante avere elementi di casualità in un gioco, o quasi tutti diventerebbero davvero ripetitivi. Detto questo, anche l’opposto è vero. Un gioco basato esclusivamente sul caso non ci permette di sviluppare le nostre abilità, e diventa altrettanto noioso per le ragioni contrarie. Nel tentativo di bilanciare questo aspetto, gli sviluppatori si ingegnano da anni, trovando modi nuovi e interessanti per mantenere viva la fiamma della competizione.
Nella maggior parte dei giochi sparatutto, tra i più competitivi al mondo, esiste un certo valore di “inaccuratezza” dato all’arma, che modifica in maniera casuale la direzione dei proiettili sparati rispetto al mirino. Questo aumenta muovendosi o mentre non siamo accovacciati, spesso se spariamo più colpi a ripetizione; d’altronde, se ogni colpo andasse perfettamente a segno il 100% delle volte, questi giochi sarebbero molto più noiosi e difficili per i novellini.
Altri titoli fanno uso invece di una RNG più integrata e fondamentale per il gioco, come XCOM e Darkest Dungeon. Entrambi sono titoli single player estremamente difficili, e la loro difficoltà è data soprattutto dal largo uso che fanno della casualità! In XCOM, prima di cercare di colpire un nemico vedremo una percentuale, che indicherà le nostre possibilità che il tiro vada a segno. Mettiamo caso che l’indicatore segni 70%: proveresti a colpire?
Sebbene la probabilità sia “positiva” (superiore al 50%), la scelta non è così facile. Magari per un colpo contro un nemico qualsiasi 70% va anche bene, ma mettiamo caso che mancando rischi di far morire il tuo personaggio e perderlo per sempre; tenteresti comunque? Qui sta il nocciolo dell’RNG nei videogame: non vince chi è semplicemente più fortunato, ma chi sa compiere le scelte migliori e raggiungere la vittoria sia che fallisca il lancio di dadi, sia che abbia successo.
L’RNG è un elemento molto divertente se al giocatore viene offerta la possibilità di ridurre i rischi e massimizzare i guadagni. È facile lanciare una moneta e sperare che esca testa, più difficile è cercare di migliorare le possibilità che ti esca quel risultato e pensare a un piano B nel caso esca croce.
In conclusione, la prossima volta che giochi a Hearthstone, apri una lootbox o che fai una partita a Call of Duty, chiediti dove si trova l’elemento casuale, cosa puoi fare per renderlo meno doloroso in caso di sconfitta e come puoi minimizzarlo. Vedrai che sarà molto più divertente, e se anche dovessi fallire, tranquillo, prendersela con la cattiva sorte è solo umano!