Se è vero che, come risulta da alcuni rilievi, in Italia i videogiocatori sono fra i 15 e i 16 milioni, ne consegue che circa il 35% degli italiani si interfaccia regolarmente con la programmazione. Un’ovvietà, certo, e anche abbastanza approssimativa: basterebbe prendere in esame il numero di smartphone in circolazione per rendersi conto di come la precedente percentuale sia grandemente sottostimata. Il numero di videogiocatori, tuttavia, è rilevante perché proprio nel videogaming emergono alcune componenti facilmente associabili al codice di sviluppo: un modo molto esemplificativo, sotto tale punto di vista, di rendersi conto di quanto quotidianamente ci si trovi ad avere rapporti col mondo della programmazione, portandolo molto più vicino rispetto alla sua classica percezione astratta.

È per esempio comune, nel videogaming, dover interagire con oggetti dello scenario, spesso colpendoli o bersagliandoli in vario modo: il comportamento di tali oggetti, una volta colpiti, è determinato esattamente dal codice. Ad ogni oggetto col quale è possibile interagire in tal senso viene fornito, infatti, una componente hitbox: si tratta di un elemento che, come suggerito dal nome, è in grado di rilevare le collisioni. Ed è proprio una volta registrata la collisione che entra in scena il codice: tramite questo, infatti, è possibile dettagliare in vario modo le conseguenze del colpo. Se dovesse in ipotesi essere necessario che un oggetto, per essere distrutto, debba subire un certo numero di colpi, il codice darà istruzione perché al raggiungimento di quest’ultimo l’oggetto venga distrutto. In ogni titolo nel quale ci si trovi a dover colpire qualcosa, quindi, in ogni momento si ha a che fare con una manifestazione piuttosto esplicita della programmazione.

Molto diffuse sono poi meccaniche casuali: in tantissimi titoli ci si trova ad avere bisogno di inserire elementi casuali e probabilistici, così da rendere il gameplay meno ripetitivo possibile. Si tratta di un aspetto gestito da algoritmi di generazione casuale di numeri, o RNG dall’acronimo inglese: da un numero, generato casualmente da un codice, si arriva a un determinato significato che ha riflessi sul gameplay. Le applicazioni di RNG sono parte fondamentale del videogaming, come emerge chiaramente da due esempi ben noti: le slot machine online e le loot boxes. Riguardo le prime, la casualità è da sempre l’elemento fondante del loro gameplay e, di conseguenza, alla base della loro stessa conversione in videogame.

Per avere chiaro come funzionano le slot machine, dunque, è imprescindibile comprendere le logiche dietro la riproduzione virtuale della casualità. Le seconde, invece, racchiudono tutti quei sistemi di ricompense casuali ottenibili in gioco, sia come oggetti cosmetici che come contenuti di inventario e così via. In entrambi i casi, come in tanti altri possibili esempi, è necessario generare casualmente un risultato, che sia il contenuto di un forziere o il risultato mostrato dai rulli virtuali di una slot: esattamente il compito assolto dal codice, fornendo un numero casuale sul quale basare il risultato. A partire da un dato univoco, come per esempio l’ora del sistema o la tensione elettrica in un determinato componente, oppure direttamente da un algoritmo, il codice è capace di generare un numero casuale in grado di assicurare una riproduzione del tutto verosimile dell’aleatorietà. Trovare o meno un oggetto, le probabilità di successo di un’azione, mettere a segno un colpo oppure no: ogni qualvolta ci si trovi di fronte a situazioni del genere, si può star certi che nel codice si nasconda la chiave che gestisce la casualità.

Infine, in videogiochi tridimensionali, assume particolare importanza il concetto di spawn: chiunque abbia familiarità con l’inglese, una soft skill preziosa nello scrivere codice, intuirà che il termine abbia a che fare con il comparire nel mondo di gioco. Uno spawn, e successivi respawn, altro non sono infatti che l’entrare nella mappa di gioco, venendo generati in punti prefissati della stessa. Ma la scelta di questi punti, spesso molteplici per esigenze di gameplay, è ancora una volta legata al codice di programmazione. Capita infatti che sia necessario evitare che un giocatore rientri in gioco in un punto occupato o in prossimità di nemici, oppure di dover gestire un rientro in gioco in un punto della mappa precedentemente bloccato: si tratta di eventualità curate esattamente dal codice. È chi lo scrive, infatti, a prevedere che al verificarsi di determinate condizioni si attivi ora l’uno ora l’altro degli spawnpoints disponibili, manifestando ancora una volta la centralità della programmazione, e della sua conoscenza, in un contesto tanto concreto come quello del videogaming.