Esempio di Gioco Cooperativo: Villaggio di Piaget
Transcript
Esempio di Gioco Cooperativo: Villaggio di Piaget
Villaggio di Piaget di Antonio Gazzoni, Gabriele Garavini rivista da Stefano Cacciaguerra Ph. D. in Informatica Indice Introduzione ........................................................................................................................................ 3 Introduzione Second Life ................................................................................................................. 3 Introduzione Teoria di Piaget ........................................................................................................... 4 Specifiche Iniziali................................................................................................................................. 5 Sviluppo del Progetto .......................................................................................................................... 7 Svolgimento del gioco...................................................................................................................... 9 Script................................................................................................................................................. 12 Oggetti e script relativi ................................................................................................................... 13 Conclusioni ....................................................................................................................................... 14 2 Introduzione Lo svolgimento di questo elaborato, consiste nella progettazione e nella realizzazione di un particolare scenario su Second Life, che riproduca i concetti che stanno alla base della “Teoria di Piaget”. In questa relazione vengono presentate le metodologie e gli strumenti necessari per la realizzazione finale. Introduzione Second Life Second Life è stato concepito da Philip Rosedale, il quale nel 1991 incominciò a lavorare sul concetto che sta alla base di esso e nel 2002 incominciò a effettuare le prime prove. Il 2003 è l’anno del lancio ufficiale di Second Life, un mondo virtuale tridimensionale multiutente online, della società americana Linden Lab. Il sistema fornisce ai suoi utenti (definiti "residenti") gli strumenti per aggiungere e creare nel "mondo virtuale" di Second Life nuovi contenuti grafici: oggetti, fondali, fisionomie dei personaggi, contenuti audiovisivi, ecc. La peculiarità del mondo è quella di lasciare agli utenti la libertà di usufruire dei diritti d'autore sugli oggetti che essi creano, che possono essere venduti e scambiati tra i "residenti" utilizzando una moneta virtuale (il Linden Dollar) che può essere convertito in veri dollari americani. Al tempo consisteva di soli 16 server e contava a malapena 1.000 utenti, mentre a tre anni dal lancio girava su tremila server e aveva cinque milioni di utenti registrati. È importante sottolineare che la maggior parte di questo mondo, in continua evoluzione, è stato creato dagli utenti. Attualmente partecipano alla creazione del mondo di Second Life oltre 400 mila utenti attivi di tutto il pianeta (circa 10 milioni totali se si considerano gli utenti registrati, il che comprende gli utenti inattivi), e ciò che distingue "Second Life" dai normali giochi 3D online è che il suo contenuto è creato dagli utenti stessi. Gli incontri all'interno del mondo virtuale appaiono dunque come reali scambi tra esseri umani attraverso la mediazione "figurata" degli avatar. Nel corso degli anni, all’interno di SL, si è assistito alla nascita di vere comunità e sottoculture che sono state oggetto di studi e ricerche presso numerose università. L'iscrizione è gratuita, anche se è obbligatorio essere maggiorenni. Per possedere del terreno all'interno, bisogna essere registrati come utenti "premium" mentre per creare o vendere oggetti basta l'iscrizione gratuita. 3 Molti personaggi che partecipano alla vita di "Second Life" sono programmatori in 3D. Qualcuno di essi ha guadagnato somme di “vero” denaro vendendo gli script dei propri oggetti creati per essere utilizzati dentro il mondo virtuale. Viene comunemente utilizzato dai suoi utenti per proporre agli altri partecipanti conferenze, file musicali e video, opere d'arte, messaggi politici, ecc.; si è inoltre assistito alla creazione di numerose sottoculture all'interno dell'universo simulato SL, che è stato studiato in numerose università come modello virtuale di una interazione umana, falsa, ma in cui si proietta ciò che si vorrebbe essere. Alcuni psichiatri lo considerano un gioco pericoloso nel caso l'utente sia persuaso, anche a causa della forte influenza psicologica praticata dalla ditta produttrice per ragioni di guadagno, che "Second Life" sia veramente una seconda vita, anziché una finzione (come realmente è, pur essendo ricreato un ambiente verosimile e benché dietro ai personaggi vi siano persone reali). Si ritiene anche che, in situazioni controllate, tale "mondo" virtuale possa essere un elemento utile alla psicanalisi, in particolare per conoscere come il paziente si immagina e come, svincolato dalla realtà, vorrebbe essere; tutto ciò solo sotto controllo medico e nell'ambito di una terapia più ampia, che soprattutto preveda una relazione reale tra il paziente e lo psicanalista. Nel marzo 2007 il mondo di Second life era memorizzato su più di 2000 server basati su processori Intel o AMD. I server utilizzano come sistema operativo la distribuzione Linux Debian e come database per i dati MySQL. Sempre a marzo 2007 i dati creati dagli utenti ammontavano a 34 Terabyte. Da poco è disponibile il codice sorgente di Second Life. Infatti l'azienda Linden Lab ha deciso di rilasciare il client sotto licenza GNU/GPL. Questo è un altro passo avanti verso la creazione di un "reale" universo virtuale. Introduzione Teoria di Piaget Coordinazione punti di vista: l’abilità della “coordinazione punti di vista”, studiata ampiamente all’interno del tema della rappresentazione dello spazio (cfr. la prova delle "tre montagne" di Inhelder e Piaget [1947]), è stata assunta come occasione per mostrare che la costruzione delle coordinate topologiche (contenuto ampiamente affrontato dalla scuola materna in poi) può essere frutto di un’elaborazione in comune, piuttosto che una lenta acquisizione, vincolata al supposto pervicace egocentrismo infantile [Emiliani e Carugati 1985, cap. 3]. D’altra parte, l’interesse per la coordinazione dei punti di vista, rispetto agli obiettivi educativi e alle dinamiche sociali scolastiche sta nel fatto che le relazioni sinistra/destra e vicino/lontano possono diventare oggetto di effettivi confronti fra punti di vista diversi, interpretati da attori concreti e che, attraverso questa messa in scena, può essere compresa la relatività dei punti di vista e può essere costruito un sistema topologico stabile, tale da mettere d’accordo entrambi i partner sul fatto che sinistra/destra e vicino/lontano sono proprietà relative alla collocazione nello spazio dell’osservatore: le 4 coordinate topologiche diventano così un modo per mettersi d’accordo fra osservatori, oltre che nozioni apprese. 5 Specifiche iniziali Questo elaborato nasce come collaborazione tra Elvis Mazzoni, Ph.D in Psicologia e Stefano Cacciaguerra, Ph.D. in Informatica. La proposta nasce dalla visione di un elaborato realizzate presso il SEFoRA Lab (Facoltà di Psicologia - Università di Bologna) che riproduce l’esperimento: il Villaggio di Piaget. Teoria di base Il principio ispiratore degli esperimenti è semplice: dopo avere osservato un villaggio di tre o quattro casette in materiale Lego, presentato su un supporto di legno, i bambini hanno il compito di riprodurlo servendosi di casette identiche, su di un supporto identico ma il cui orientamento, rispetto a quello originale e rispetto alla prospettiva di osservazione del bambino, è modificato per creare compiti di difficoltà diversa (Figura 1). La Figura 2 presenta un esempio del problema con la rotazione subita dalla base sulla quale dovrà essere ricostruito il villaggio. Figura 1: immagine storica Figura 2: applicazione del SEFoRA Lab Il materiale è composto da due basi di cartone: sono i "terreni" su cui costruire i villaggi. L'orientamento di un terreno il più delle volte è dato da un indice di colore blu (un triangolo isoscele) la cui base poggia su un angolo del terreno e la cui punta guarda all'interno. 6 Su uno di questi terreni, lo sperimentatore costruisce un villaggio che il bambino è invitato a ricostruire sull'altro terreno; per far ciò è necessario avere due insiemi di 3-4 casette (uno per lo sperimentatore e uno per il bambino). Ogni casa è di colore diverso (le chiameremo "la casa rossa", "la casa blu", "la gialla" e "la bianca") ed è fatta in modo che si possa orientare, dato che uno dei lati rappresenta la facciata della casa con la porta. Inoltre, è possibile studiare la dinamica del lavoro in coppia rispetto al lavoro individuale, in particolare, le dinamiche prodotte dall'opposizione di punti di vista, che possono essere ottenute facendo eseguire il compito ad un bambino nella posizione x e poi invitandolo ad esaminare questa soluzione dalla posizione y; oppure collocando due bambini uno di fronte all'altro (Figura 3). Figura 3: esempio del SEFoRA Lab 7 Sviluppo del Progetto Rispetto all’idea di partenza, sono stati presi alcuni accorgimenti relativi a particolari limiti, vincoli dell’ambiente. Qui di seguito sarà descritto il suo funzionamento (Figura 4). Figura 4: scenario completo Gli oggetti che gli utenti trovano sullo scenario di gioco sono i seguenti: - ai bordi del piano si trovano tre bacheche, nelle quali sono date le informazioni necessarie per poter utilizzare lo scenario e alcune informazioni necessarie a comprendere la Teoria di Piaget. - il piano iniziale (cubetti chiari Figura 5) serve all’utente come rappresentazione di riferimento, utile per poter ricreare tale disposizione nel piano finale; il suo script fa in modo che le case, in un numero che dipende dalla quantità di utenti iscritti, siano disposte automaticamente e in modo casuale su di esso; - il piano finale (cubetti scuri Figura 5) è esattamente la copia di quello iniziale, sul quale dovranno essere disposte le case dagli utenti, proprio come lo sono in quello iniziale; il suo script gli assegna una rotazione casuale, tra quelle impostate (0, 90°, 180°, 270°). Inoltre sullo scenario si trovano due gruppi uguali di case (Figura 7): 8 - uno è l’insieme delle case che automaticamente, all’inizio del gioco, si dispongono sul piano di gioco iniziale; per scelta implementativa, sono state numerate da 0 a 5. - l’altro è l’insieme delle case che gli utenti dovranno disporre sul piano di gioco finale, mantenendo la disposizione del piano iniziale; sono esattamente una copia di quelle che sono disposte automaticamente; per scelta implementativa, sono state numerate da 2010 a 2015. Figura 5: piano iniziale – piano finale Figura 7: insiemi di case Svolgimento del gioco Gli utenti possono iscriversi al gioco, cliccando sul piano iniziale e rispondendo sì alla domanda (vedi Figura 8) che gli sarà posta 9 Figura 8: richiesta del gioco Il sistema, si memorizza gli utenti che effettuano l’iscrizione e una volta raggiunto il numero di iscritti necessario (impostato da codice), terminerà tale fase. A seconda dell’ordine di iscrizione, viene assegnato il turno di gioco. A questo punto il sistema disporrà le case sul piano iniziale, associandogli una posizione e un orientamento, e assegnerà una rotazione casuale al piano finale (Figura 9). Figura 9: scenario di gioco Notiamo che in questo esempio le case che sono state posizionate e orientate sul piano iniziale (cubetti più chiari), sono 3, come impostato da codice. Inoltre il piano finale (cubetti più scuri), è stato ruotato di 180°. Durante il proprio turno, l’utente dovrà effettuare la propria mossa: dovrà selezionare la casella del piano finale, dove effettuare il posizionamento ed, in seguito, selezionare la casa che si desidera posizionare (dall’insieme delle case disponibile che si trova sullo scenario di gioco, e non tra quelle che sono già state disposte). 10 L’ordine di posizionamento è da sinistra verso destra nel piano delle case da posizionare, avendo una visuale frontale. La casa, potrà essere ruotata a discrezione dell’utente in turno, cliccando su ruota (Figura 9) nella finestra che gli comparirà in questo momento. Il sistema assegnerà una rotazione di 90° ogni volta che l’utente cliccherà su ruota. Ora gli altri utenti, riceveranno un messaggio, che chiederà di esprimere il proprio giudizio sul posizionamento della casa (Figura 10). Figura 9: richiesta di rotazione di una casa Figura 10: richiesta giudizio sul posizionamento della casa Il sistema si memorizzerà la risposta data da ogni utente, per ogni casa. Infine, una volta posizionate tutte le case il sistema effettuerà il confronto tra la disposizione del piano iniziale, e quella del piano finale (posizione e orientamento delle case). Invierà una mail (indirizzo impostato da codice) all’amministratore, contenente i risultati e le opinioni di ogni utente sullo spostamento di ciascuna casa. Inoltre, automaticamente si preparerà per effettuare una nuova partita. 11 Script Il tool per la realizzazione di oggetti 3D permette a chiunque, anche senza basi di disegno tecnico, di imparare a costruire in poco tempo. Ogni oggetto risulta una combinazione di prims, forme geometriche primitive come il cilindro, il cubo, la sfera, il cono, che possono essere composte tra loro. È possibile scegliere per ogni prims il colore, il materiale e le texture. Nel caso in cui non si possieda un territorio su cui costruire, è possibile esercitarsi su aree denominate SANDBOX. Qui ogni utente può sviluppare attraverso un numero limitato di prims qualsiasi tipo di oggetto per poi salvarlo, successivamente, nel proprio inventario, dove potrà reperirlo in qualsiasi istante. Second Life promuove un proprio linguaggio di scripting Linden Script Language (LSL), che serve per animare gli oggetti: ad esempio per aprire porte o fare domande. La documentazione più esaustiva sugli script si trova sul Wiki script online di Second Life, (una sorta di Wikipedia solo sul LSL). Questa documentazione permette di ottenere informazioni riguardo tutti gli script e fornisce esempi di codice, in modo da sostenere lo sviluppo più organico di un programma. Il progetto è stato sviluppato con due account free in una Sandbox. Avevamo pensato di far comparire il piano finale, automaticamente dopo che il sistema avesse raccolto il numero necessario di adesioni al gioco, tramite script, dandogli anche la rotazione random, ma purtroppo Second Life pone dei limiti a riguardo, per evitare problemi di worm; quindi abbiamo optato per una soluzione alternativa: quella in cui compaiono entrambi i piani (iniziale e finale) sullo scenario di gioco. Oggetti e Script relativi: - bacheche Sono state realizzate semplicemente creando dei parallelepipedi, con un appoggio a forma di cilindro, e applicandogli delle nostre texture, nelle quali abbiamo inserito del testo e delle immagini. L’applicazione delle texture è possibile solamente pagando un contributo di 10 Linden dollar ognuna. Non fa riferimento a nessuno script. - piano di gioco iniziale sono stati creati 36 cubi (6x6) di dimensione uguale, e poi sono stati uniti creando così un oggetto unico, in modo tale da potergli applicare uno script generale; lo script generale sarà associato ad un cubetto, che abbiamo distinto per colore (nero), che prende il nome di principale. Oltre allo script generale, ogni cubetto fa riferimento anche ad uno script proprio, che non crea conflitto con l’altro. Il fatto di dividere il piano in cubetti si è reso necessario, per poter distinguere correttamente e precisamente la posizione delle case e il posizionamento nel piano finale delle stesse, utilizzando come punto di riferimento il suo centro. script_piano_gioco_iniziale 12 - piano di gioco finale La sua costruzione è analoga a quella del piano iniziale; è stato distinto dal colore più scuro associato e dal nome di ogni cubetto. script_piano_gioco_finale - case piano iniziale Ogni casa che andrà a disporsi sul piano iniziale, una volta che sono terminate le iscrizioni. Ogni casa fa riferimento ad un proprio script che ascolta su un canale diverso. script_casa_fissa - case piano ruotato: Sono esattamente una copia di quelle disposte sul piano iniziale, con la differenza che fanno riferimento chiaramente ad uno script differente ed ad una numerazione differente. script_casa_movimento - risposte: E’ il bordo del piano dello scenario. Dal punto di vista grafico, è stato creato, perché assemblato poi con l’oggetto sensore, crea lo scenario di gioco. Dal punto di vista del codice, gli è stata associata una porzione di codice che era necessario associare ad un oggetto diverso dagli altri del piano. Questo si è reso necessario per un motivo di utilizzo di porte, questione cruciale per capire lo scambio dei messaggi durante l’esecuzione. script_risposte - sensore: E’ il piano dello scenario, dove poggiano tutti gli oggetti. Dal punto di vista grafico, è stato creato, perché assemblato poi con l’oggetto risposte, crea lo scenario di gioco. Dal punto di vista del codice, gli è stata associata quella porzione di codice, nella quale sono implementate quelle funzioni, utili allo smistamento dei messaggi tra gli utenti, riguardo alle domande che il sistema durante il gioco, presenta agli utenti stessi (es. corretto posizionamento degli oggetti, ecc…) script_sensore 13 Conclusioni Per qualcuno, l’idea stessa di una rappresentazione grafica 3D di un mondo esistente solo in Rete è un concetto difficile da accettare. Per molte persone avanti con gli anni può essere difficile integrare nelle proprie vite una tecnologia come Second Life. Viceversa, coloro che sono cresciuti con questo tipo di tecnologie faranno molto più in fretta ad assorbire i nuovi sviluppi. I primi mondi multiuser apparvero nel 1996, con l’avvento del gioco online Meridien 59. Da allora un’intera generazione di giocatori ha familiarizzato con i mondi virtuali in 3D. Il maggior ostacolo all’adozione di un sistema di questo tipo è infatti la difficoltà d’interazione. Per chi è cresciuto fra queste tecnologie, la migrazione in luoghi come Second Life – che offre gran parte di ciò che già si trova in questi mondi e molto altro ancora – diventa naturale. Se SL sarà capace di continuare a sviluppare il suo ruolo e agevolare l’esperienza dell’utente introducendo nuove caratteristiche e nuovi aggiornamenti, è probabile che sia destinato a rimanere fra noi per molto tempo. La possibilità di comunicare con persone di nazionalità diversa e quindi con conoscenze diverse, attraverso Second Life, credo possa aprire nuovi orizzonti alla conoscenza e alla possibilità di sviluppo dell’informatica. 14 BIBLIOGRAFIA E SITOGRAFIA Riferimenti cartacei AA.VV. (2007). Second Life la Guida Ufficiale. Wiley Publishing: Indianapolis, Indiana. Riferimenti Web Second Life: Your World. Your Imagination. (2007). http://secondlife.com Second Life Wiki. (2007). http://wiki.secondlife.com/wiki/Main_Page Second Life Italia. (2007). http://www.secondlifeitalia.com/ Wikipedia. (2007). http://it.wikipedia.org/wiki/Second_life Kan-ed – Using the Linden Script language. (2005) http://www.kan-ed.org/second-life/using-LSL.html 15