Questa è la trascrizione del video. Leggi l'articolo originale con tutti i dettagli →
Buongiorno e bentornati sul canale ValorosoIT, il canale dedicato ai retrocomputer e all’elettronica vintage. Oggi ci vediamo un'interessante conferenza tenuta da Carlo Santagostino il 17 settembre 2023 a Tradate, al Varese Retrocomputing. Se vi piacciono questi argomenti, cioè: informatica storica, videogiochi, computer vintage, vi invito già alle successive edizioni del Varese Retrocomputing che si terranno, ovviamente, gli anni prossimi in date da definirsi, ma anche a iscrivervi al mio canale ValorosoIT. Lo trovate su YouTube, su Instagram, su Facebook, su Tiktok… Insomma, un po' su tutte le piattaforme social network. E in più potete visitare il blog www.valoroso.it, dove pubblico i riassunti degli articoli e dei video che poi trovate anche sulle varie piattaforme di social network.
Il tema dell'intelligenza artificiale è molto di moda in questo periodo e Carlo Santagostino ne parla affrontandone l'evoluzione storica nei videogiochi. Carlo Santagostino è un esperto di informatica, esperto anche di storia dell'informatica. E’ professore di informatica nella serie televisiva il Collegio, ed è anche fondatore di RetroCampus, un'associazione che si occupa proprio della divulgazione di temi inerenti ai retrocomputer e ai videogiochi vintage e alla preservazione storica. Ringrazio Fabio Massa, detto BioMassa, e Mariangela Sapia per la registrazione audio e video. E adesso vediamoci questa interessante conferenza. Ciao!
Grazie a tutti, benvenuti! Benvenuti e di cosa parliamo? Io sono Carlo Santagostino. Per chi non mi conosce, mi occupo di divulgazione della storia dell'informatica e della storia del videogioco da parecchi anni. Sono un informatico e lavoro in questo campo ormai da anni. Anche perché se sembro vecchio, in realtà sono giovane. No, in realtà è il contrario. Ho 53 anni e ho iniziato a programmare quando ne avevo 12, e mi sono sempre occupato di informatica. È stata sempre la mia passione, il mio studio e il lavoro che ho fatto.
Il mio primo lavoro è stato come programmatore di videogiochi negli anni 80, all'inizio degli anni 80 ho pubblicato dei videogiochi sul Sinclair ZX Spectrum, come tanti di quelli che ci sono qua sopra, che fanno vedere, al piano superiore, le loro creazioni d'epoca. Comunque, nel 2010 ho fondato un'associazione che si chiama RetroCampus, e sono tra i membri fondatori. Io e altre persone. Sopra trovate un po' di membri dell'associazione che stanno facendo un'esposizione al piano superiore. La missione di RetroCampus è proprio quella della divulgazione e preservazione della storia dell'informatica e della storia del videogioco.
Faccio tante conferenze su temi diversi e vari. In particolare, quest'anno c'è questa buzzword: l’ AI, l'intelligenza artificiale, che in questo momento è molto, molto di moda. La 'artificial intelligence', o AI. Oggi, come oggi, dire 'intelligenza artificiale', lo dici e tutti…
In questa conferenza io parlerò dell’utilizzo degli algoritmi di intelligenza artificiale nei videogiochi. Però, adesso non staremo qua a discutere in generale dell’intelligenza artificiale, dei vari approcci, ecc… Ma, un pochino di introduzione devo farvela. Più che altro devo spiegare che, oggi come oggi, quando sentite la parola ‘intelligenza artificiale’, è ovviamente, in generale, in questo momento lo sentite legato spesso più come termine di marketing.
Serve per descrivere programmi informatici che utilizzano semplici algoritmi, anche normali, come ordinamento e abbinamento, per creare l'illusione di un comportamento intelligente. Conferiscono quindi ai software questa aura di complessità o di progresso scientifico e tecnologico e dicono: 'fatto con l'intelligenza artificiale.'
Ecco, nella maggioranza dei casi non è così, nella maggioranza dei casi. Questo perché? Il reale campo di ricerca degli algoritmi di intelligenza artificiale, di artificial intelligence, è quello di cercare di imitare il comportamento intelligente di noi esseri umani per la soluzione di problemi, ricreando artificialmente caratteristiche come l'apprendimento automatico o il processo decisionale. Quindi questo, e solo questo, è il campo dell'intelligenza artificiale e degli algoritmi che si occupano di intelligenza artificiale. Perché dico imitare il comportamento intelligente umani? Perché adesso noi non entreremo nel dettaglio, questa non è una conferenza sull'intelligenza artificiale. Però un minimo di premessa ve la devo fare. Attualmente tutti gli algoritmi dalla storia dell’intelligenza artificiale, che risalgono sin dagli anni 50, ci sono studi e ricerche in questo campo, in realtà tentano di imitare quello che noi sappiamo fare, cioè cercare una soluzione di problemi. Quindi cerchiamo di ricreare in maniera artificiale, utilizzando l'informatica prevalentemente, che è stata la scienza che ha reso possibile questo, anche se si teorizzava anche prima con la meccanica con altre possibili soluzioni, ricreare una specie di pensiero coerente logico. Con l'informatica si è riusciti un po' a ricreare questo. Ma si tratta di imitare. Imitare e non parliamo poi sul fatto di arrivare poi alla nostra intelligenza. Questo è un argomento che qua se ne discute ampiamente in questi giorni, ma non entreremo anche perché qua si va nel filosofico. Ci sono strade di pensiero, non c'è niente ancora di reale, ci sono delle modalità di pensiero di un certo tipo e delle modalità di pensiero di un altro tipo, che dicono che uno ci arriveremo, altri non ci arriveremo. Ma, per darvi un'idea, uso un esempio che uso spesso, che faccio spesso, per farvi capire esattamente cosa intendo col fatto che attualmente qualsiasi algoritmo di intelligenza artificiale imita la nostra intelligenza, ma non è la nostra intelligenza. L'esempio è questo: voi avrete sicuramente visto, attualmente, con la computer graphics, con la CGI si riescono a ricreare delle situazioni reali in maniera impressionante, perfette. Molto semplice, per esempio ci sono delle scene di pioggia. Noi vediamo la pioggia. Ok, ci sono delle scene, ormai, ricreate in computer graphics dell'acqua della pioggia che cade: è perfetta. Sembra veramente di vedere la pioggia, ok. Quindi abbiamo ricreato la pioggia artificialmente? No, noi abbiamo simulato l'aspetto della pioggia, cioè quello che noi vediamo che è la pioggia. Ma se dovessimo realmente ricreare artificialmente con un software quelli che sono gli effetti della pioggia, cosa dovremmo fare? Non è solo l'acqua che cade, la pioggia fa parte di un ciclo complessissimo, che è quello proprio del ciclo dell'acqua, dall'evaporazione del mare alla condensazione, alla formazione delle nuvole, la formazione delle nuvole con tutta la fisica dello scontro delle nuvole, della creazione di queste gocce di acqua nell'atmosfera che poi cadono sulla terra, che trascinano materiale che sta sospeso nell'atmosfera e vanno a irrigare il suolo, che nutrono solo in un certo modo e creano poi la possibilità alle piante di poter assorbire dalle radici i nutrimenti.
Quindi, pensate quanto è complesso il ciclo della pioggia. Quindi io ho ricreato la pioggia facendo in computer graphics vedere che cade la pioggia? L'ho fatta sembrare che sia pioggia vera, ma non è niente, ma non è neanche la centesima milionesima parte di quello che è realmente la pioggia. Ecco, attualmente questo paragone che vi ho fatto è quello che è adesso, quello che sono adesso gli algoritmi di intelligenza artificiale. Noi parliamo con ChatGPT, vediamo MidJourney che disegna, sembra di parlare con una persona, sembra di vedere una persona che disegna, ma non è neanche lontanamente un milionesimo di quello che è il nostro pensiero coerente, ok?
Questo è lo stato attuale, dove ci porterà? Qua ci sono teorie, poi c'è chi dice che aumentando la complessità si arriverà a un'intelligenza generale, eccetera. C'è chi dice che non ci arriveremo perché la strada è un'altra, ma lì entriamo nel filosofico e quindi non ci entro. L'argomento della conferenza è un altro. Qua parleremo di videogiochi, oggi, e dell'utilizzo dell'intelligenza artificiale, degli algoritmi di intelligenza artificiale nei videogiochi, perché, al contrario di quello che ho detto prima, cioè dove adesso basta appiccicare - ho iniziato dicendo che oggi come etichetta di marketing si mette intelligenza artificiale al software di contabilità e paghe: fatto con intelligenza artificiale. Perché? Perché è marketing in questo momento, no sono semplici algoritmi di ordinamento, ma diventa una cosa, no, mettendoci… - invece nei videogiochi c'è una particolare connessione, perché esiste quella che potremmo definire intelligenza artificiale videoludica.
Perché nei videogiochi si tende, da sempre, a realizzare quella che è una persona artificiale. Cos'è la persona artificiale? Quella contro cui noi giochiamo, cioè che gli algoritmi che stanno alla base delle azioni dei personaggi non giocanti sono incentrati sull'apparenza dell'intelligenza degli stessi, per dare una buona giocabilità all'interno di quelle che sono le restrizioni dell'ambiente di gioco. Quindi l'approccio è simile a quello della ricerca dell'intelligenza artificiale tradizionale, quello che ho detto prima. Qual è l'approccio degli algoritmi di intelligenza artificiale? Quello di creare un'apparenza di intelligenza simile alla nostra, cioè quello di ricreare una persona artificiale. Quando, nel 1950, Turing ha pubblicato quello su l'informatica, computer machine intelligence, il suo trattato, che definiva il famoso test di Turing, era appunto quello di dire faccio un programma che sembra una persona, ok? Quindi, in realtà, e infatti poi se voi studiate la storia dell'intelligenza artificiale, trovate i videogiochi sin da subito. Perché i primi esempi di ricreazione di processo di pensiero umano, di creare qualcosa che sembri una persona con la quale sto interagendo, era proprio giocare contro qualcun altro. Infatti, addirittura sin da subito, fino al 1950, cioè quando Turing scriveva il suo trattato per definire il test di Turing nell'ambiente dell'informatica dell'epoca succedevano cose come queste: il famoso Bertie the Brain. No?
Le aziende che producevano calcolatori utilizzavano dei giochi per dimostrare che il loro computer funzionava, quindi scrivevano degli algoritmi di gioco per giocare contro le persone. Questi rientrano proprio tra i primissimi studi di algoritmi di intelligenza artificiale, cioè cercare di capire come creare un algoritmo che vada a giocare contro una persona. Bertie e il Nimrod sono due esempi, uno del '50, uno del '51. Bertie the Brain è stato fatto - scusate, ma uso appunti perché gli argomenti sono vasti - allora, è stato costruito a Toronto da Josef Kates ed è stato presentato alla Canadian National Exhibition del 1950 e dimostrava un nuovo tipo di valvole perché a quei tempi i computer andavano a valvole, non c'era ancora il transistor, i computer erano a valvole. Era una pubblicità per far vedere la funzione valvola di Additron, che è stata inventata da questo Kates, era una valvola più compatta, più piccola, quindi riusciva a ridurre le enormi dimensioni che avevano i calcolatori all'epoca. E come lo faceva? Dimostrava giocando a Tris, il tic-tac-toe, il famoso Tris, contro un avversario umano. Quindi aveva scritto un algoritmo che giocasse a Tris contro un avversario. Questo è già un proto algoritmo di intelligenza artificiale, infatti. La stessa cosa succede alla Ferranti. La Ferranti, in Inghilterra, nel 1951, per pubblicizzare al Festival of Britain, fa il gioco del Nim, che è un altro classico gioco, no, il Nim, quello delle tavolette che si spostano, eccetera. Il Nim viene fatto con il Nimrod, no, sul Ferranti Mark 1, che è stato il primo computer commerciale della storia, cioè che poteva essere comprato. Perché quelli precedenti, invece, erano tutti a utilizzo e studio universitario o militare, mentre il Ferranti Mark 1 poteva essere comprato, quindi le aziende potevano, le grandi aziende, stiamo parlando delle multinazionali, potevano comprarsi un computer. Infatti, il Ferranti Mark 1 è stato fatto, dove, appunto, ci fu la presentazione del Nimrod, sempre nel '51, all'Università di Manchester, dove è stato progettato l'hardware che stava alla base del Mark 1. Questo signore qua, no, quella è la pubblicità del Ferranti, no, Electronic Digital Computer, e questo, questo signore che era Christopher Strachey, è stato il primo a scrivere un software per giocare. Prima, lui l'ha scritto per la dama e poi Dietrich Prinz, sempre all'Università di Manchester, il primo programma su computer che giocasse a scacchi, quindi un gioco complesso, un gioco molto complesso come quello degli scacchi.
Replicare il ragionamento umano che sta alla base degli scacchi, per molti stava a dimostrare che era possibile ricreare un ragionamento logico.
Infatti, questi due giochi scritti all'unità di Manchester, che sono tra i primi programmi per computer mai scritti nella storia, del '51, stanno in tutti i testi di intelligenza artificiale come i primi esempi di algoritmi di intelligenza artificiale. Proprio perché ricreano quello che è il ragionamento umano. Quindi, stanno a ricreare quella che fu la prima volta che noi giocavamo contro una macchina artificiale. Questo tentativo che era stato fatto, vi ricordate il famoso giocatore di scacchi meccanico, che poi era finto, c'era il nano dentro che aveva creato tutto… però erano secoli che si tentava di costruire una macchina potesse giocare contro un uomo e, finalmente, con i computer si può fare. Si crea una macchina che gioca contro un uomo, quindi una macchina che riproduce un ragionamento umano e permette di giocare per la prima volta contro un uomo.
Considerate che da lì, poi, l'evoluzione del gioco degli scacchi è stata incredibile. Fino ad arrivare, dal '51, ci ha messo fino al '97, fate voi il conto degli anni, dal '51 al '97. Nel 1997, il Deep Blue di IBM riuscì a battere Garry Kasparov a scacchi. Quindi, addirittura, a battere il campione mondiale di scacchi. E questo avvenne nel 1997. Perché è importante il Mark 1, eccetera. Il Mark 1 è importante anche per un'altra cosa, perché abbiamo il primo esempio anche sempre del gioco, sempre nell'ambito di ricerca, questo succede nel '52, A. S. Douglas, che sta all'Università di Manchester, sempre sul Marc 1. Il Marc 1 è stato il primo computer a utilizzare un tubo catodico. In realtà, non lo usava, non l'avevano messo lì, il tubo catodico, in quella che vedete che è la centrale di controllo, non era lì per interagire con l'uomo, ma era lì perché il tubo catodico veniva utilizzato come memoria dei dati. In pratica, siccome il tubo catodico ha una latenza, venivano scritte le celle di memoria con il fascio di elettroni che poi potevano essere misurati, quindi c'era come le linee di ritardo a Mercurio, la stessa cosa. Solo che utilizzava il tubo per fare questo.
Alexander Shafto Douglas ebbe l'intuizione, siccome si vedevano questi puntini che uscivano, che poi davano lo stato dei registri, delle locazioni di memoria, eccetera. Lui disse: 'Ma io posso usare questi puntini per interagire anche con l'operatore che sta davanti', e infatti questo è il primo esempio nell'ambito della sua tesi di dottorato di ricerca, che era interazione Uomo-computer, uomo-macchina. Utilizzò per la prima volta un tubo catodico per visualizzare qualcosa con cui la persona interagiva, e fece questo, che viene ricordato oggi come 'OXO', che viene considerato praticamente il primo computer game in assoluto, perché utilizza un tubo catodico, un computer digitale ed è stato fatto nel '52.
Quindi, nel '52 abbiamo anche questo. Anche qui, è come Bertie the Brain, l'algoritmo è molto semplice, il gioco del Tris è molto semplice, rispetto agli scacchi. In realtà, già nel '51 avevano fatto il gioco degli scacchi col computer. Solo, avete visto la foto di prima, andava con il nastro perforato che gli dava le posizioni, e lui rispondeva spostando. Invece, con questo, già a schermo, interagisco e vedo, cosa succede nello schermo. Quindi da qui, a questo punto, vabbè, adesso c'è l'esplosione, perché noi abbiamo che l'informatica, a partire da quegli anni '50, durante gli anni '60, esplode in tutto il mondo. Dopo la Ferranti, ci sarà la nascita della Digital Equipment Corporation, i computer IBM, ci saranno tutte le grandi aziende che inizieranno a vendere i computer, nel mondo. I computer inizieranno a diffondersi prevalentemente nelle università, nei grossi centri di calcolo, nei centri di ricerca, nelle grandi aziende. Però a diffondersi, no? E soprattutto, tantissimi, anche nuovi ricercatori, nuove persone, inizieranno quindi a poter mettere le mani su questi enormi computer, questa novità che sta nascendo. E da qui, ovviamente, i ragazzi all'università studiano, ricercano, ma soprattutto giocano. Quindi hanno iniziato a pensare di poter anche giocare. È anche vero che i primi esempi, che spesso vengono citati di videogioco, dopo quello che fu 'OXO' e questi che vi ho appena citato, dove c'era un'interazione, quindi c'era una ricerca della creazione del personaggio di intelligenza artificiale, il giocatore che non esiste, della persona artificiale contro cui giocare. Quelli che poi, in realtà, ricordano tutti, quindi Space War, per dirne uno. Sui libri trovate spesso indicato anche 'Tennis for Two', ma 'Tennis for Two', in realtà, io lo tolgo volenti perché in realtà è su un computer analogico fatto per pubblicizzare un computer di lancio balistico. L'hanno visto in due...
Poi, per vari motivi, è diventato famoso sui libri perché è uno degli esempi che è sopravvissuto, lo citano tutti, ma sia 'Tennis for Two', comunque, che 'Space War', soprattutto, nato sul PDP-1, è quello che viene considerato proprio con tutti crismi un videogioco, con le due astronavi. Fino ad arrivare anche al primo videogioco commerciale di Atari, e il primo videogioco commerciale, ispirato da 'Space War', e poi il classico 'Pong', che diffuse il videogioco in tutto il mondo. Sono tutti questi esempi che ho fatto, sono tutti videogiochi per due giocatori. Cioè, non puoi giocare da solo a 'Space War', a 'Pong', a 'Tennis for Two'. Non puoi giocare da solo, devi essere uno contro l'altro, che è molto divertente, perché permette di sfidarsi e c'è un divertimento tra le persone, ma non c'è nessun algoritmo di realizzazione di persona artificiale, quindi non rientrano in quelli che sono il campo della cosiddetta ricerca dell'intelligenza artificiale, la creazione della persona artificiale.
Per trovare altri esempi di questo tipo, dobbiamo andare nel campo della ricerca universitaria, dove iniziarono a essere sviluppati tantissimi videogiochi con un linguaggio nato negli anni '60, che è il BASIC.
Il BASIC fu il primo linguaggio multipurpose. Cioè, senza essere nato per una specifica funzione. E’ molto semplice da imparare e quindi da padroneggiare, e diffuse l'informatica a partire dagli anni '60 a tutti i livelli. Fu il linguaggio di programmazione più usato per tutti, per la seconda metà degli anni '60, per tutti gli anni '70 e per gran parte degli anni '80. A qualsiasi livello, qualsiasi computer, dai supercomputer universitari fino a arrivare ai nostri home computer, almeno fino alla nascita poi del C di Dennis Ritchie che arrivò dopo. Da lì, si iniziò a programmare in C, a livello più alto e così via. Però il BASIC era molto usato, perché gli altri linguaggi che erano nati prima avevano dei compiti specifici. Erano nati per funzioni matematiche, per funzioni amministrative, quindi non avevano questo general purpose, questo utilizzo generico.
Il primo che andiamo a ricordare è un programma del 71, qua ho trovato un pezzettino di listato della versione del 73, che è ovviamente ispirato a Star Trek, perché tutti i nerd dell'epoca come, come a molti di adesso piace Star Trek, e di strategia basato ed ispirato dalla famosa serie televisiva del 66, è stato originalmente pubblicato nel 71 ed è diffuso all'interno dell'università ed era un gioco di strategia che sta alla base, poi, di tantissimi videogiochi che sono arrivati dopo
In realtà, questo gioco è stato pensato per poter essere giocato anche con computer che non avevano uno schermo, perché per avere uno schermo, dovevi avere il terminale, e molti computer universitari in quegli anni, negli anni '60, negli anni '70, spesso non avevano il terminale. Tu scrivevi il programma sulle schede perforate e lo mandavi, e poi il risultato ti arrivava dalla telescrivente, quindi era stampato, o ti ritornava il, sempre il, il foglio perforato, o ti ritornava, al massimo, un dattiloscritto da una macchina da scrivere collegata a un computer. E infatti questo gioco era stato pensato per poter essere giocato anche su carta, praticamente. Cioè, tu davi comandi, e poi lui ti stampava la mappa, dello spazio, ti dava la posizione dell'astronave, dei Klingon, eccetera. Ed era un videogioco di strategia, quindi c'erano questi algoritmi che andavano a simulare quella che era l'intelligenza delle navi nemiche, quindi dei Klingon, dove si muovevano, cosa dovevano fare, eccetera, e tu dovevi giocare di strategia, posizionamento, eccetera.
Insomma, un videogioco che è stato alla base di tantissimi videogiochi venuti dopo. E’ stato anche uno dei videogiochi più popolari del mondo, quando fu diffuso su un testo che fu pubblicato all'inizio degli anni '70, nel '73, la prima versione che era '101 Basic Computer Games', che è stato praticamente un libro di David H. Ahl, che pubblicò questo libro con la raccolta di 100 videogiochi (computer games) scritti dagli studenti durante gli anni '60 e '70. E 'Star Trek', che era quello più complesso che stava dentro, era anche quello che faceva comprare questo libro alla gente che poi con i primi hobby computer, quindi l'Altair, eccetera, primi computer che si stanno diffondendo nella metà degli anni '70, tra il '75 e '76. E poi fu pubblicato per tutti, 1000 versioni, uscì per Apple II, Commodore PET, TR-80, eccetera, eccetera, eccetera. Ma cosa succede sempre negli anni '80, succede una cosa importante, in realtà, una cosa che non molti conoscono.
Succede questo: viene inventato un sistema che si chiama PLATO, qualcuno di voi l'avrà già sentito, qualcuno no, ma praticamente ve lo dico in due parole: PLATO (Programmed Logic for Automatic Teaching Operation) è stato il primo sistema di istruzione assistito da computer. Partito addirittura nel 1960, sul computer ILLIAC dell'Università dell'Illinois, negli anni '70 è stato utilizzato praticamente in tutte le università del mondo, che erano collegate a questa rete PLATO, che è praticamente una proto-internet, perché tutto quello che noi facciamo su internet adesso, in realtà, è nato su questa rete PLATO, che è stato il primo posto dove sono nate le chat, dove sono nati i forum, e dove sono nati i videogiochi, anche in rete, multi-game, videogiochi con la grafica sono nati qui sopra perché sono stati sviluppati su sistema Plato. Utilizzava dei terminali grafici al plasma, con una matrice al plasma di 1024x1024 punti, quindi molto alta, e permetteva di disegnare o di utilizzare la grafica con questi sistemi PLATO.
Su PLATO, soprattutto, sono nati i primi esempi di videogiochi di ruolo, Dungeon Crawlers, in assoluto, derivati direttamente ovviamente da Dungeons and Dragons, il diffusissimo gioco da tavolo. 'DnD' è un videogioco scritto nel 1975, come vedete aveva già la grafica e tutto. E l’altro è Pedit. Uno è 'DnD' e 'Pedit'. Sono nati contemporaneamente, tra il '74 e il '75. Gary Whisenhunt e Ray Wood alla Southern Illinois University hanno scritto 'DnD', e 'Pedit 5' invece è stato scritto da Rusty Rutherford nel '75. Sono noti per essere stato praticamente i primi videogiochi in assoluto in questi anni che avevano, per esempio, 'DnD' aveva il cosiddetto boss finale, cioè tu giravi tra i livelli, a un certo punto trovavi un nemico molto forte contro cui dovevi combattere. Prima trovavi dei nemici semplici, e poi arrivava questo nemico più… mago, drago, insomma tutto ambientato nel mondo di Dungeons and Dragons. E sono videogiochi seminali perché in realtà dallo sviluppo di questi videogiochi che ebbero una diffusione enorme in ambienti universitari, poi verranno portati anche su computer con terminale, quindi fatti con i caratteri, dopo essere nati però graficamente sul sistema Plato.
Da questi esperimenti che sono circolati più o meno liberamente, arrivano poi le prime produzioni commerciali per personal computer dei primi anni '80. E il famoso 'Akalabeth: World of Doom', da cui poi nacque 'Ultima' di Richard Garriott, è ispirato direttamente a questi videogiochi, anche proprio come interfaccia di comandi, eccetera. Cioè non se l'è inventato Garriott, l'ha preso da questi giochi che giravano negli ambienti scolastici universitari in maniera libera in quegli anni. E lui, nel 1980-81, realizza la prima versione di 'Akalabeth' sull'Apple 2, poi fa 'Ultima', che poi viene fatto per il Commodore 64, poi si diffonde in tutto il mondo, arriva, diventa un successo, anche in Giappone, eccetera, eccetera, eccetera. Poi da lì nasce tutta la storia dei giochi di ruolo.
E qui c'è molta ricerca in quello che è la creazione del personaggio del nemico artificiale, perché devono essere dotati in un certo tipo di intelligenza, cioè devono avere un qualche tipo di interazione. Qui era facilitato perché stiamo parlando di computer che in quegli anni erano i computer più potenti che potevi trovare sulla faccia della terra. In realtà il videogioco, però, si stava diffondendo anche in un altro ambiente. Prima ho citato 'Pong'. Ve lo ricordate? Ecco qua, apro una breve parentesi: spesso quando cercate intelligenza artificiale e videogiochi su internet, vi salta fuori 'Pacman'. Come per dire, 'Pacman' è stato il primo. Come avete visto, c'è stata molta strada prima di arrivare a 'Pacman'. Però, in realtà, il videogioco stava diventando famoso in quelli che erano gli Arcade, i coin-op, cioè il videogioco si stava diffondendo in tutto il mondo in quello che era il mercato dei videogiochi Arcade, quindi nelle sale giochi, nei bar, all'epoca, eccetera.
Ma il problema è che mentre qua per sviluppare questi, avevi dei computer con CPU esagerate. CPU, non neanche microprocessori, CPU che occupavano stanze. Nei videogiochi Arcade, all'inizio, non avevi manco microprocessore proprio, erano solo logica TTL, erano logiche cablate in elettronica. Quindi tu dovevi programmare coi TTL, hai voglia a cercare di ricreare un'intelligenza, anche minima di qualcosa. Infatti, tutti i primi videogiochi sono dual player, o al massimo, se sono single player, hanno dei nemici che seguono delle logiche fisse, delle logiche predeterminate, non hanno un minimo di intelligenza. Infatti, perché citano 'Pacman'? Perché se andiamo nell'ambito di quelli che sono i videogiochi più famosi, noi ci ricordiamo 'Space Invader' (78), 'Galaxian' (79), nel 1980 arriviamo a 'Pacman'. 'Pacman' aveva dei nemici che avevano un certo tipo di minimo di intelligenza. Cioè, almeno si era posto il problema di dare un carattere diverso a ognuno dei personaggi. E quindi, mentre prima, in Space Invaders, il movimento era fisso, facevano sempre lo stesso movimento, 'Galaxian' aggiunge delle variabili ma è sempre fisso. Sono schemi predeterminati, cioè i nemici vanno sempre allo stesso modo, fanno sempre gli stessi giri, non cambiano. Con 'Pacman', invece, hai l'impressione che questi ti seguano. Quindi, 'Pacman' è il primo esempio Arcade? No, ovviamente no, perché ovviamente, se tu vai a cercare, scopri che non è come uno si potesse aspettare. Qual è il primo videogioco dove si inizia, negli Arcade, a inserire un minimo di intelligenza? Allora, come vi ho detto, i videogiochi erano esclusivamente TTL, questo fino al 1975, dove la Williams introduce per la prima volta un microprocessore nei videogiochi. E lo fa con un videogioco che si chiama 'Western Gun', era un videogioco giapponese sviluppato da Taito. Taito sviluppa in TTL, viene venduto alla Williams. La Williams, per migliorare i cicli di produzione e risparmiare, decide di utilizzare i microprocessori al posto dei TTL. Prende l'Intel 8080, quindi rifà 'Western Gun' con l'Intel 8080. Però rifà un gioco che era TTL per due giocatori. 'Western Gun' era un pistolero contro l'altro, ma dovevi giocare uno contro l'altro, non si muoveva automaticamente il pistolero. Ok? E anche nel microprocessore viene riportata la stessa logica. Quindi, anche se è il primo gioco con microprocessore, che teoricamente ha una potenzialità da home computer, da personal computer, in realtà non lo sfrutta, perché fa esattamente un gioco tale e quale.
Esisteva un altro gioco molto famoso all'epoca, il videogioco più famoso dopo 'Pong' nei primi anni '70, era un videogioco che si chiamava 'Gran Trak 10' della Atari. Erano le famose macchinine viste dall'alto che giravano. I primi erano in TTL. 'Gran Trak 10', 'Gran Trak 20', sono in TTL, e puoi giocare da uno a quattro giocatori. Ma anche se giochi da solo, le macchinine gli avversari si muovono sempre lungo il percorso, senza la minima intelligenza, niente, zero. Però, siccome questo è un videogioco che ha molto molto successo, Atari continua a fare seguiti di questo videogioco, e nel 1976, produce 'Sprint 2'. Voglio dire, c'è stato 'Sprint 1'? No. 'Sprint 2' si chiamava così perché aveva due volanti, 'Sprint 2': due volanti. Ok. Che è questo. 'Sprint 2' utilizza per la prima volta in Atari un microprocessore, il 6510 della MOS Technology. Viene messo in questo videogioco, 'Sprint 2'. E, grazie al fatto che ci mettono il microprocessore, riescono a fare in modo che anche se tu giochi da single player, innanzitutto sono sempre quattro macchinine, anche se siete in due giocatori: una è la macchina bianca, l'altra è la macchina nera. Poi ci sono sempre due macchine grigie. Le due macchine grigie sono sempre pilotate dal computer e hanno una certa intelligenza. Cioè inseriscono per la prima volta degli algoritmi tali per cui queste due macchinine sembrano guidate da un altro giocatore. Cioè reagiscono al fatto che tu stai guidando, quindi si avvicinano, si spostano, tentano di superarti. Cioè interagiscono, non sono traccia fissa che vado e basta, ok? Sembrano due giocatori. È stato difficile trovare per questo, che non c'è scritto da nessuna parte, ho dovuto scavare, alla fine l'ho capito utilizzando il flyer del videogioco originale, della pubblicità, dove spiegava appunto che puoi… 'One Player Racing', come vedete, c'è scritto anche 'One Player Racing', quindi solo da solo puoi giocare contro il computer. E poi spiega che le due macchinine grigie sono sempre pilotate dal computer. Anche se giochi due giocatori, una la nera e una bianca. Se giochi da solo, anche la nera è pilotata dal computer. E specifica in questo che, grazie all'utilizzo del microprocessore… Non trovo il punto dove è scritto, però c'è scritto, diceva: 'usiamo un microprocessore'.
Quindi, dava questa enfasi sul fatto che utilizza un microprocessore, quindi un programma scritto con un minimo di algoritmo di intelligenza. Questo succede nel '76. Attualmente è il più vecchio che ho trovato nel videogioco Arcade. Non ne ho trovati altri, per adesso, e poi magari salterà fuori, però per adesso ho trovato solo questo. Mi sono posto il problema anche però nel videogioco domestico, perché in quegli anni, contemporaneamente al videogioco Arcade, nasce anche il videogioco casalingo. La Magnavox aveva introdotto con Baer il famoso Odyssey, che è stata la prima console nel '72, contemporaneamente al 'Pong' di Atari negli Arcade. E poi stavano nascendo le RCA, diverse console con microprocessore a cartucce. Nel '77 poi c'è l'Atari che presenta appunto il suo Atari Video Computer System, quello che poi farà scoppiare la mania dei videogiochi domestici, in casa. Atari VCS Video Computer System, poi verrà chiamato 2600, molti di noi lo conoscono come 2600 adesso, 2600. Ma in realtà, il nome originale era VCS, Video Computer System. Ed esce con dei giochi programmati… Ah, eccolo qua, perfetto. È lui. Combat? In realtà, sì, ma aveva, perché esce con delle videocassette pre-impostati, no, delle cartucce, una serie di cartucce. Questa serie di cartucce erano quasi tutti giochi semplici, per uno o due giocatori, o per un giocatore, ma senza un minimo di intelligenza. Però, ce n'erano alcuni che avevano un minimo di intelligenza. Il problema, qual era? Che le cartucce, sapete quanta memoria avevano quelle cartucce lì? 2 KiloByte. 2 KB. Cioè, in 2 KB ci devi far stare tutto il codice del gioco. 2 KB di ROM, 128 byte di RAM. Questo era l'hardware dell'Atari 2600, ok? Quindi, tu in 2 KB fai un po' fatica. Infatti, a 'Air-Sea Battle' e 'Combat', quando giocavi… se giocavi in due, era molto divertente. Se giocavi contro il computer, sparava a caso, non aveva un minimo di intelligenza, cioè era programmato per sparare a caso. Infatti, continuava a sparare in aria, sparava da tutte le parti, e poi se ogni tanto ti colpiva per caso, ma non aveva proprio nessun algoritmo di intelligenza. Erano preimpostati, come in 'Space Invaders'. Dovevano fare quella cosa lì sempre, non reagivano minimamente.
Qual è il primo di questi giochi dove invece c'è un minimo di questo tipo di codice? L'ho trovato in questa cartuccia, 'Video Olympics'. 'Video Olympics' rispetto alla semplicità, 'Video Olympics' erano i giochi del 'Pong', anche per il VCS. Erano molto popolari i giochi del 'Pong' in quel periodo. Quindi, mettiamo nelle cartucce base del VCS anche quella con i giochi del 'Pong'. La cosa incredibile, 'Video Olympics' è stato programmato da Joe Decuir, nome francese, quindi lo pronuncio malissimo, scritto 'Joseph Decuir', quindi. Sto tizio, chi è? È uno dei due progettisti del VCS, è praticamente il vice di Jay Miner, che lo accompagnerà per tutti i progetti fino ad arrivare anche all'Amiga. Joseph Decuir ha scritto tanti… ha progettato tantissime parti anche dell'Amiga insieme a Jay Miner. Lui scrive questo 'Video Olympics' in 2 KB. E cosa ci mette dentro, in 2 KB? 'Video Olympics', ci mette 50 giochi diversi, di varianti. Li ne vedete alcuni. Oltre al 'Pong', ci mette le varianti con le porte per fare il Soccer con più giocatori, con meno giocatori, con porte e senza porte, col basket, girando le palette in orizzontale. E allora… l'ho fatto solo per farvi vedere questi sono i 2K del gioco. Tutto, tutta la cartuccia è qua dentro, ok. Questo 2 KB, 2048 Byte. E in 2048 Byte cosa ci mette dentro? Ci mette dentro anche una cosa che, per la prima volta nella storia, puoi giocare a 'Pong' contro il computer, e lo chiama 'Robo Pong', cioè tu puoi giocare a 'Pong' non contro un altro, ma contro l'Atari. E non programma… facile, se tu fai la barretta che segue la palla, vince sempre. Cioè, fine. Sincronizzi la barra con l'asse verticale della pallina, e lui la prende sempre. Quindi, lui cosa si inventa? Si inventa un algoritmo che, ogni tot, perde la sincronizzazione con l'asse verticale della pallina, e inoltre, ogni rimbalzo della palla contro, si resetta questo contatore. In modo da dare l'illusione che non sia perfetto, ma inserisce l'errore umano dentro ed è molto divertente giocarci. Infatti, ha un sacco di recensioni positive. Pensate che questo semplicissimo algoritmo, inserito qua dentro, cioè insieme a tutte le varianti di gioco di 'Pong', tutto in 2 KB… tutto in 2 KB… riesce, questa routine, semplice, ma funziona talmente bene che gli sviluppatori della raccolta 'Arcade Atari Arcade Hits' del 1999, che fecero gli 'Arcade Hits' di Atari, utilizzarono questo algoritmo di Joe Decuir per copiarlo esattamente tale e uguale per il remake del '99 del 'Pong'. Utilizzarono questo algoritmo. Quindi, se l'era inventato, ci stava in 2K, e funzionava, e funzionava anche bene. Quindi è impressionante pensare a quello che aveva fatto Joe Decuir in 2 KB.
Però non finisce qui, perché ovviamente le console domestiche amplificano questa voglia di giocare contro il computer. Perché, mentre se tu andavi in sala giochi, trovi sempre qualcuno con cui giocare, eri a casa, magari eri da solo, dovevi giocare contro il computer. Quindi fare dei videogiochi da casa che avessero per forza bisogno del secondo giocatore non era conveniente, ci serviva trovare a casa la possibilità di giocare. Quindi, anche i videogiochi che prima non erano a singolo giocatore, da casa inseriscono la possibilità di giocare single player. Tra questi, c'è uno in particolare che voglio segnalare, perché prima vi ho citato 'Gun Fight'. 'Gun Fight' è stato il primo videogioco, vi ho detto, con microprocessore. Viene fatta la versione, allora non è ufficiale, perché all'epoca non si usava molto prendere i diritti, stiamo parlando dei primi anni '70, quindi non c'era ancora tutto questo. Usciva il 'Pong', tutti facevano il 'Pong', usciva il gioco dei pistoleri, tutti facevano il gioco dei pistoleri, usciva il gioco delle macchine, tutti facevano il gioco delle macchine, si copiavano tutti tra di loro. Cosa succede con 'Gun Fight', che viene rilasciata la versione domestica 'Outlaw', dalla Atari, che è la versione di 'Gun Fight' da casa, dove però viene inserita la possibilità del single player. Quindi, il giocatore avversario ha un'intelligenza per combattere. Quanti kilobyte ha questa cartuccia? Due. È uscita l'anno dopo, ma sempre 2 KB era. Da chi è stato scritto questo 'Outlaw'? Da un giovanissimo programmatore che si chiama David Crane, cioè quello che poi farà 'Pitfall', qualche anno dopo.
Pitfall e non solo Pitfall, dopo citerò anche un altro. Questo viene fatto da David Crane. Nel '78, poi esce da Alan Miller, esce questo, il 'Basketball' per Atari, che esce nel '78 e puoi giocare a basket contro un avversario. Ha talmente tanto successo che viene fatta anche la versione Arcade. Al contrario di quello che succedeva, cioè non era la versione Arcade che poi ha fatto la versione domestica, la versione domestica che ha fatto in modo che poi Atari creasse la versione Arcade. La versione Arcade esce in bianco e nero, perché all'epoca i videogiochi Arcade erano ancora tutti in bianco e nero. Quindi non era a colori, al contrario dell’Atari che invece a casa era già a colori. Invece esce in bianco e nero. Però ha un'altra importante cosa, oltre al fatto di inserire un giocatore artificiale, quindi one player, per giocare contro, per la prima volta viene inserito un giocatore… un player di colore: nero. Abbiamo un uomo bianco e un uomo nero. Questo succede nel 1979, perché nel '78 esce la versione domestica. Nel '79 esce la versione Arcade.
Il personaggio che ho citato prima, cioè il signor David Crane, come molti di voi sanno, o forse non sanno, se ne va da Atari, perché Atari non dava molto credito ai programmatori bravi, e quindi se ne va e fonda la Activision, la più famosa software house, principale dell'epoca, esiste ancora oggi. Fonda l'Activision, nell'Activision se ne vanno tanti bravi programmatori della Atari. E, nel 1981, si pubblica 'Tennis' che, per la prima volta, a parte la grafica che finalmente vediamo un campo da tennis che sembra un campo da tennis, e poi giochiamo contro un avversario che ha una certa intelligenza, quindi risponde, sembra di giocare contro un'altra persona. Questo succede nell'81, nell'81, non siamo più nel '77, quindi la cartuccia finalmente aveva… 2K, sempre 2K! Siamo sempre a questo gioco con questa grafica, con il giocatore che gioca, tutto in 2K: 2048 byte. Adesso, fatelo voi! Scherzo!
E questa ricerca del giocatore artificiale, dell'inserimento dell'intelligenza artificiale nei giocatori, va avanti, va avanti anche nei negli Arcade, perché ormai gli Arcade usano tutti i microprocessori. Il primo videogioco degli Arcade ricordato, molto seminale, dove si inserisce un giocatore artificiale, che è una persona artificiale, che quindi ha una certa importanza, è questo 'Karate Champ'.
È anche un videogioco fondamentale perché è quello che fa nascere tutti i videogiochi di combattimento da lì in poi, che nasceranno da quel momento. In 'Karate Champ', tu combattevi contro un altro personaggio che era dotato della sua intelligenza basilare. Poi gli algoritmi non erano così complessi. Dove iniziamo a vedere un aumento di questa complessità, cioè finalmente vediamo qualcosa che inizia un po' a stupirci? Quindi, non solo algoritmi che simulano i giocatori, a parte gli scacchi, che come ho detto, stavano andando avanti, lì gli algoritmi di gioco degli scacchi diventavano complessissimi.
Quel signor David Crane che ho citato prima, che è giustamente osannato, come game designer di programmazione di videogiochi e di invenzione di videogiochi, dopo il grandissimo successo di Pitfall, Pitfall 2… planetario, fece Ghostbusters per il Commodore 64, sempre di Activision. Anche quello fu un successo incredibile, all'epoca, in tutto il mondo. Sempre all'interno di Activision, lui inizia a ragionare su qualcosa che potesse rivoluzionare questo mondo del gaming. Si inventa un videogioco dove crea finalmente la persona artificiale con la quale noi parliamo e comunichiamo, prendendo dagli algoritmi che già esistevano di Eliza. Eliza (chatterbot) è scritto negli anni '60, simulava i discorsi, quelli che sono gli algoritmi che stanno ancora alla base dei chatbot di oggi, dei Natural language translator, tantissime cose che usiamo, dei ChatGPT che usiamo oggi, ovviamente non con queste basi dati, non con questa complessità.
Lui crea questo gioco, 'Little Computer People'. Abbiamo scoperto che nel tuo computer vive una persona, e tu devi giocare con questa persona. Lui ha creato questo videogioco, cioè un videogioco, e stiamo parlando dell'85, la prima versione è fatta per Commodore 64, poi viene prodotto per tutti i computer dell'epoca. Nell'85 esce 'Little Computer People', cioè piccola persona che sta all'interno del tuo computer. Tu accendevi il gioco e si creava in maniera randomica, secondo degli algoritmi determinati, una figura di persona che era diversa per ogni copia di 'Little Computer People'. Veniva inserito un seed all'interno del floppy che creava un'unica persona fatta in un determinato modo che aveva una serie di caratteristiche diverse da floppy a floppy.
E quando tu lo lanciavi la prima volta, la prima volta veniva scritto sul floppy questo non cambiava più, e interagiva con te. Tu dovevi… era come… come un Tamagotchi e tu ci giocavi, ci interagivi. Lui doveva mangiare, ci giocavi, doveva suonare il piano, poteva suonare il pianoforte, poteva andare, potevi giocare a dama, facevi diversi giochi. Lui andava in giro per la sua casetta e tu interagivi con questo personaggio artificiali, con questo Little Computer People.
Anche questo videogioco, all'epoca, chi ha vissuto quel periodo se lo ricorda, perché ebbe un grandissimo successo, anche se noi in Italia meno, perché noi in Italia, in quel periodo, eravamo nel periodo della pirateria e quindi questo funzionava bene solo se prendevi l'originale. Qua non ce l'aveva nessuno l'originale. Quindi ebbe molto successo in America, in Giappone, in Inghilterra, qua da noi no, perché da noi arrivava la copia pirata e non andava, e quindi non capivamo perché non funzionasse.
Vabbè, era il nostro periodo oscuro. Questo l'ho già raccontato in un'altra conferenza. Purtroppo ci siamo persi un po' di cose negli anni '80, in quel periodo. Però, Little Computer People di David Crane è dell'85. Probabilmente la prima volta che vediamo veramente la realizzazione della persona artificiale all'interno del computer, cioè creare un algoritmo effettivamente tenta di emulare. Perché, in realtà, nell'evoluzione del videogioco, cito qualcuno come John Madden Football o i giochi di strategia come Herzog Zwei o Dune II, ebbero molto successo.
Sono giochi manageriali, strategici, dove dietro si cercava di emulare una strategia, per esempio, anche in John Madden Football, e in altri videogiochi sportivi, era spesso… in quel caso, John Madden stesso aveva collaborato per la creazione degli algoritmi per fare in modo che i giocatori avversari avessero delle strategie, tipo quelle che usava lui come allenatore di football.
In Herzog Zwei e Dune II, invece, c'erano degli algoritmi che andavano a simulare in maniera complessa l'interazione degli altri giocatori quando tu giocavi in single player. Gli altri giocatori dovevano avere una strategia, dovevano avere degli algoritmi non semplici come quelli dei giochi che vi ho citato prima, qualcosa di più complesso. Questi algoritmi iniziano a utilizzare strumenti formali degli algoritmi di intelligenza artificiale. Herzog Zwei è la prima volta, per esempio, che si usano gli automi a stati finiti, per definire all'interno della programmazione le strategie militari, che dovevano competere contro il giocatore principale. È stato pubblicato nell'89 da Techno Soft ed è uscito sul Sega Mega Drive. Mentre Dune II, Westwood Studios, sempre automi a stati finiti, è uscito nel 1992 per PC, Amiga, Atari ST, ecc…
Però, il problema è che queste intelligenze non si comportavano, in realtà. Il problema di queste intelligenze è che, essendo codificate all'interno del gioco, barano! Cioè, loro sanno delle cose che tu giocatore non puoi sapere, come la posizione di tutta la mappa, delle cose eccetera.
Vedono le carte, vedono le carte, praticamente c'è questo, quindi sono intelligenze, ma algoritmi che non imitano proprio il giocatore come se fosse un giocatore, ma imitano quello che fa il giocatore, ma in realtà barano perché sanno delle cose che tu non sai. Quindi poi c'erano i livelli di difficoltà, potevi alzare, dove la IA barava di più o barava di meno rispetto alle cose che sapeva. La prima volta che invece si tenta di ricreare proprio un'intelligenza dei giocatori che non sanno le cose, quindi che agiscono in maniera indipendente rispetto a quello che è, è in un altro famoso videogioco seminale che è Doom.
Doom però, siccome era ancora basilare questa struttura di intelligenza dei nemici, succede una cosa che, chi ha giocato a Doom, spesso ricorda: succede che a volte che i nemici iniziano a combattere tra di loro e si uccidono da soli, perché scambiano l'altro se stesso come il giocatore. Quindi si ammazzano tra di loro. Questo è un errore introdotto dal fatto che si tentava di creare dei nemici, all'interno, che non barassero, ma che fossero nemici come lo eri tu dentro il videogioco stesso. Ok?
Vabbè, qui ero arrivato alle due di notte, quindi non sono andato più avanti a fare le slide, anche se in realtà si va ancora avanti. Però, per esempio, posso citare 'Age of Empires' del '97, 'Civilization 5' del 2010, che utilizzano proprio strutture algoritmiche dei videogiochi. E poi attualmente li ha nei videogiochi contemporanei, il primo 'Half-Life' nel '98 usa un algoritmo di pathfinding per ritrovare, insomma, i percorsi da fare. Ogni entità nemica aveva i suoi algoritmi di pathfinding per girare all'interno del videogioco, come se tu stessi… come se fosse un giocatore che stava realmente giocando all'interno del videogioco.
E vabbè, ce ne sono parecchie da andare avanti, però già si è ecceduto. Vabbè, nel '96 c'è 'Creatures', e, ecco… in 'Halo: Combat Evolved' del 2001, è proprio la prima volta che viene utilizzata una tecnologia che viene chiamata 'behavior tree' (albero di consapevolezza), che è un algoritmo inventato proprio per questo, a seguito di Halo del 2001, Halo: Combat Evolved che poi ha fatto storia nell'ambito dei videogiochi. Questo algoritmo è proprio un algoritmo di IA, è proprio un algoritmo intelligenza artificiale che poi è stato replicato, migliorato e utilizzato in tantissimi videogiochi, nello sparatutto 'F.E.A.R.' del 2005, è proprio impegnato. Viene anche utilizzato per generare comportamenti sensibili al contesto del videogioco stesso. Quindi, per la prima volta in un gioco, i comportamenti dei player nemici si comportano a seconda di quello che succede nell'ambiente di gioco. Se io sparo di là, lui reagisce. L'algoritmo reagisce perché vede lo sparo, ma non perché sa che io avevo sparato, ma perché l'ha visto, ok? Come se io fossi il giocatore vero che sta vedendo lo sparo a sua volta.
Vabbè, dai, vi ho detto un po' tutto. Comunque, siamo arrivati più o meno all'età contemporanea. Spero che vi sia interessato, che abbia detto delle cose che vi sono piaciute. Non dimenticatevi di seguire il canale di Archeologia Informatica, dove dico queste cose e tante altre stupidate. Quindi, sia il podcast audio che il canale video su YouTube, dove c'è anche Davide Gatti che vedete lì dietro e tante altre persone.
E alla prossima! Grazie a tutti.