Ambienti Virtuali e Giochi



Documenti analoghi
E-Learning e Entertainment: Edutainment. Stefano Cacciaguerra Ph.D. in Informatica. Stefano Cacciaguerra Ph.D. in Informatica

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

Creare una Rete Locale Lezione n. 1

OSINT, acronimo di Open Source INTelligence, uno dei modi per acquisire dati utili per l intelligence:

Social Network. Marco Battini

IMMAGINA UN MONDO in cui la tecnologia contribuisce a risolvere i problemi più difficili...

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Automazione Industriale (scheduling+mms) scheduling+mms.

Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp!

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Software per Helpdesk

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

MuseoscienzApp COSA È

Progetto ORIENTA. Comitato Tecnico di monitoraggio. 20 luglio 2012

Il database management system Access

///PAGINA CORRENTE n 3

MIUR.AOODGPS.REGISTRO UFFICIALE(U)

martedì 17 aprile 12 1

Diode Array 7440 SD. Apparecchio NIR per analisi in linea. Affidabile, Accurato, Immediato

TERM TALK. software per la raccolta dati

Dalla connessione ai social network. Federico Cappellini

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci

Progettaz. e sviluppo Data Base

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

TECNICHE DI SIMULAZIONE

Cos è il Software Didattico

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Capitolo V : Il colore nelle immagini digitali

Apprendimento informale e dispositivi mobili: il nuovo approccio alla formazione

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

WORKSHOP DI NARRATIVA A OPATIJA, HR. Gennaio Un progetto di collaborazione tra DND-Opatija (HR) e seed (CH)

Mi chiamo Stefania Moretti e rappresento l Azienda AUDIO VIDEO ITALIANA, fondata nel 1972 da Vittorio Moretti.

ARCIDIOCESI DI LANCIANO-ORTONA

Tecnologie dell informazione e della comunicazione per le aziende

Il nuovo browser italiano dedicato alla navigazione e comunicazione sicura in internet per bambini

INNOVAZIONE XNOTTA PER PORTALI TURISTICI

Plaze, il termine che definirà un nuovo concetto di piazza

Bkool adotta il protocollo ANT+ FE-C, che permette l'uso dei suoi rulli con altri simulatori

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) Classi di elaboratori

LA TERAPIA DELLA RICONCILIAZIONE

LABORATORIO DI SISTEMI

TITOLO DELL INSEGNAMENTO CFU. Principali conoscenze e/o Abilità. Obiettivo. Organizzazione didattica. Strategia d Impresa e Marketing 10 CFU

FLEET MONITORING SCHEMA DI FUNZIONAMENTO

UD13. Elettroutensili per imparare

Corso di Informatica

SOCIAL MEDIA MARKETING. pubblishock.it

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Origini e caratteristiche dei calcolatori elettronici

1. Introduzione. 2. Il Progetto

Università per Stranieri di Siena Livello A1

La prima piattaforma per chi insegna e per chi impara l italiano

INTERNET SOLUTIONS SOCIAL SOLUTIONS MOBILE SOLUTIONS VIDEO SOLUTIONS MARKETING SOLUTIONS CONNETTITI CON NOI

LE RETI: STRUMENTO AZIENDALE

I modelli di qualità come spinta allo sviluppo

CALCOLATORI ELETTRONICI A cura di Luca Orrù

Registratori di Cassa

Introduzione a 3ds Max

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

Lezione 1. Introduzione e Modellazione Concettuale

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

MoniThor di IDC-Informatica Centralizzazione di controlli per apparati eterogenei

Servizi di Sicurezza Informatica. Antivirus Centralizzato per Intranet CEI-Diocesi

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

GRUPPI DI INCONTRO per GENITORI

Alunni classi quarte Servizi Commerciali

LIGHTING DESIGNER Gianni Ronchetti Architetto Valmadrera, 10/06/2014

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

Thinkalize. Il nuovo creatore dell innovazione.

istraffic Sistema di monitoraggio Traffico

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Linee guida per le Scuole 2.0

Esercizio 1: trading on-line

Politica Economica Istituzioni e Efficienza

PIANO BIENNALE PER I DIRITTI DELLE PERSONE CON DISABILITÀ

La tecnologia cloud computing a supporto della gestione delle risorse umane

Visualizzazione e Controllo Remoto di Agenti in Ambienti Virtuali Tramite la Libreria OpenSceneGraph

Reti e Internet: introduzione

Alternanza scuola lavoro: che cosa significa

Il Sistema Operativo (1)

SOFTWARE PER LA RILEVAZIONE PRESENZE SUL WEB

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

ITN EXPO Infrastrutture e Tecnologie per la Smart City

I F O R M A T I V I D E O

Architetture Applicative

YouLove Educazione sessuale 2.0

L AQUILONE vola alto

MODULO 01. Come è fatto un computer

2 AutoSIcura - presentazione aziendale

3. Introduzione all'internetworking

Ciclo di vita dimensionale

Tablet in spalla. Istituto Comprensivo Lucca 2 Scuola secondaria di 1 grado «Leonardo da Vinci»

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Technical Document Release Version 1.0. Product Sheet. MediaSpot. Creazione e gestione palinsesto pubblicitario

OCS Open Control System

PlayBuy Mobile Phone Adviser. simple to play, easy to buy!

Calcolatori Elettronici A a.a. 2008/2009

ascoltare ispirare e motivare miglioramento problem solving Flex360 pianificare comunicare la vision organizzare

Transcript:

Ambienti Virtuali e Giochi Vivere una Vita Alternativa dentro un Ambiente Sintetico Stefano Cacciaguerra (scacciag@cs.unibo.it) 1

Contenuti Introduzione Esempi Caratteristiche Come Programmarli Come Gestire la Partecipazione in essi 2

Introduzione 2500 a.c. Nella città sumera di Ur nasce il Gioco Reale di Ur. Il primo gioco da tavolo in cui il giocatore è rappresentato da una pedina. 1664 d.c. Un certo C. Weikmann inventa Konigsspiel il gioco del re. Un esercito di 30 figurine preso dagli scacchi e antenate dei soldatini per ciascuno dei 14 diversi ruoli di combattimento simulando le lotte del potere dell epoca. 1865 d.c. L. Carroll scrive Alice nel Paese delle Meraviglie. Prende forma l idea di un viaggio paradossale nei territori della fantasia. 1969 d.c. Per facilitare la comunicazione tra poli universitari in america R. Talyor dell agenzia Arpa collega 4 calcolatori di università differenti. Arpanet sarà la madre di Internet. 1972 d.c. D. Arneson e G. Gygax creano il primo sistema di regole per Dungeons&Dragons. Il primo gioco di ruolo moderno. 3

Introduzione 1978 d.c. Nell Università di Essex, in Inghilterra, fa la comparsa il primo Multi-User Dungeon (MUD), ideato da R. Trubshaw. È ancora un gioco fatto di solo testo che permette agli utilizzatori di spostarsi in zone virtuale diverse e di dialogare tra loro. 1997 d.c. I Mondi Virtuali ed i Massive Multiplayer Online Role Play Games (MMORPG) diventano popolari negli USA. Il più famoso è Ultima Online di R. Garriot, una simulazione della vita medioevale in 3D. Il gioco conta 160.000 abbonati. 2005 d.c. World of Warcraft, un mondo virtuale di ambientazione fantasy ispirato ad un saga di Massive Multiplayer Online Real time Strategy games (MMORTS) totalizza 5 milioni di abbonati. Tratto dall articolo Vite Parallele apparso sul mensile Quark, marzo 2006. 4

Domande Perché uno studente australiano di 24 anni dovrebbe comprare un isola che non c è per 26500 dollari sul pianeta entropia? Chi comprerebbe un paio di nike o di levi s 501 per la propria controparte artificiale? Chi ucciderebbe (per davvero) un concorrente rivale dopo che ti ha rubato la preziosa spada magica? Domande assurde, eppure trovano la stessa risposta! Un partecipante ad un Ambiente Virtuale 5

Gli AV Costituiscono una Realtà Gli Ambienti Virtuali (AV) stanno entrando prepotentemente nelle nostre vite tanto da costituire una seconda chance per molti umani. Gli AV hanno un economia, un governo, una valuta. Migliaia di Abitanti vi ci nascono e vi ci muoiono. Sono mondi di fantasia accessibili via web. World of Warcraft Oltre 5 milioni di abbonati Project Entropia Turnover di 16.350.000 dollari in gennaio 2005 Second Life Centinaia di negozi dalla Ferrari all i-pod 6

Ambienti Virtuali Ambiente virtuale (AV) è il termine utilizzato per indicare una realtà simulata creata attraverso l uso del computer. Attualmente, il termine è utilizzato per la rappresentazione virtuale di un sistema complesso: dai videogiochi ai simulatori di volo. Alcune delle caratteristiche principali degli ambienti virtuali sono: di sfruttare una rappresentazione sensoriale talmente immersiva da essere percepita come reale dai partecipanti, di supportare le azioni di più utenti contemporaneamente e la formazione di gruppi, di permettere l interazione con entità sintetiche intelligenti, di usufruire di dispositivi embedded come PDA e SmartPhone od oggetti ad hoc come casco od occhialini, auricolari, cyberglove e cybertuta. 7

Rappresentazione Sensoriale Realistica Un AV deve dare al partecipante la sensazione di essere inserito all interno di un ambiente talmente immersivo da permettergli di sviluppare abilità che potrebbe sfruttare nel mondo reale. Esempio eclatante: Simulatore di Volo. Problema il livello di dettaglio costa sia in termini computazionali sia in termini di memoria utilizzata! Negli AV è importante sviluppare solo i dettagli che sono fondamentali per la realizzazione della simulazione. Esempio eclatante: Gara di automobili. È interessante la realizzazione del circuito, non dello sfondo (platea, box, ) 8

Ambiguità Attenzione all ambiguità della parola realistica. Non è legata al fatto che l ambiente riprodotto ne deve per forza richiamare uno esistente. Possono esistere degli ambienti virtuali che vogliono promuoverne una supposta o riprodurre una realtà fantastica. Ad esempio, si cambiano le leggi della fisica da quella terrestre a quella lunare. Ad esempio, mondi fantastici come EverQuest II. 9

Graphical Processor Unit Cmq le moderne schede video montano micro processori e buffer di memoria dedicati che permettono alla scheda grafica di sostituire nei calcoli la CPU. Questo effetto è talmente rilevante che le schede video sono definite GPU (Graphical Processor Unit). Ad esempio Nvidia ed ATI. In questo senso, risulta possibile utilizzare una grafica spinta: 10

Massive Multi-Player La realizzazione di un gioco in modalità multi-player dipende dalla gestione di 2 fattori principali: Responsiveness gli eventi che descrivono l evoluzione del gioco devono essere ricevuti dagli utenti in tempo reale (vincoli real-time). Reliability and Game Consistency L evoluzione del gioco deve essere descritta a tutti i partecipanti nello stesso modo preciso e Corretto ( tutti i giocatori adottano una strategia in base allo stesso contenuto informativo). 11

Dispositivi Mobili e Reti Wireless Dispositivi Mobili come PDA e Smart-phone dispongono di sufficiente potenza computazionale ed un antenna che gli permettono di partecipare ad AV. Altri dispositivi dedicati: Sony PSP, Nintendo Dual Screen e Nokia ngage Due tipi di rete: La rete cellulare di 3G garantisce la disponibilità di connettività su ampio raggio ma con transmission throughput limitato. Le reti Wi-Fi, Bluetooth e HomeRF offrono una bandwidth maggiore ma dentro un raggio limitato. 12

Interazione a Gruppi Molte volte gli AV promuovano la formazione di team per risolvere un problema comune. Ad esempio, in Travian le alleanza proteggono i propri membri. Gli AV promuovono la nascita di comunità virtuali: gruppo di persone che utilizzano la stessa tecnologia via Internet per attività sociali. la creazione di vere e proprie società artificiali. Ad esempio, in Travian, ogni partecipante deve competere con migliaia di altri giocatori per il controllo delle risorse naturali e gestire l evoluzione di un piccolo villaggio. 13

Interazione con Entità Intelligenti Gli AV moderni necessitano di un largo numero di partecipanti che spendono il loro tempo nella creazione e nel mantenimento di relazioni sociali per un lungo periodo. Una possibile soluzione per popolare gli AV è realizzare entità autonome ed intelligenti in grado di competere e cooperare con i partecipanti umani. Dovrebbe essere indistinguibile il comportamento di un entità software da quello di un umano (passare un Turing Test cooperativo). Per raggiungere questo scopo esistono due possibili approcci: dotare l entità di una conoscenza più approfondita dell ambiente (Reinforcement Learning) permettere ad un entità di analizzare il comportamento di un umano e cercare di riprodurlo (Machine Learning) 14

Interazione con Entità Intelligenti Neuro-Evolving Robotic Operatives (NERO): un progetto di ricerca in collaborazione tra il Department of Computer Sciences and the Digital Media Collaboratory at the University of Texas at Austin. Utilizza un algoritmo real-time di NeuroEvolution of Augmenting Topologies. Per giocare ogni partecipante deve evolvere il proprio esercito di robot cercando di insegnargli come comportarsi in alcune situazioni. Questo è possibile facendo il tuning del cervello artificiale dei robot. 15

Reale-Virtuale-Reale Esistono dispositivi pervasivi che permettono di aumentare l esperienza sensoriale all interno di un AV (Realtà Virtuale): Casco permette la visione stereoscopica ed un effetto sonoro immersivo Cyberglove e Cybertuta permettono la sensazione tattile Real Tournament Ogni partecipante usa un dispositivo che integra tecnologie GPS, sensori, Wi-Fi, GPRS, su un PDA per competere alla cattura di una serie di mostri in una arena virtuale mappata sulla città di Lancaster. 16

Realizzare un AV tramite SPADES SPADES (System for Parallel Agent Discrete Agent Simulation) è un sistema middleware per simulazioni multi-agenti distribuite. Permette di realizzare un AV all interno del quale vivono entità artificiali pensanti chiamate agenti. Promuove la creazione di simulazioni ripetibili ed efficienti distribuite tra più computer. Un agente riceve delle sensazioni dal mondo simulato, pensa ad una strategia per raggiungere il suo scopo, attua una mossa. Il modello del mondo simulato riproduce la leggi del sistema complesso riprodotto, spedendo sensazioni agli agenti e attuando le loro azioni. 17

La Architettura di SPADES CLIENT SERVER Computer 1 Agent pipe Communication Server tcp/ip Simulation Engine World Model Computer 2 Agent pipe Communication Server Computer A Computer N Agent pipe Communication Server 18

Ciclo del World Model #include. main(.) { inizialize(); pausemodecallback (); getmonitorheaderinfo (); agentconnect (AgentID agent, AgentTypeDB::AgentTypeConstIterator at); } while (!fine_simulazione) { simtotime (SimTime time_curr, SimTime time_desired); getmonitorinfo (SimTime time); controllo_stato_della_simulazione(); } finalize(); 19

World Model bool BallWorldModel::initialize (SimEngine * pse) Permette di inizializzare l evoluzione del World Model. bool BallWorldModel::finalize () Permette di gestire la chiusura dell evoluzione del World Model. void BallWorldModel::pauseModeCallback () Quando il sistema SPADES si attiva la simulazione viene bloccata in attesa della connessione di tutti i componenti. bool BallWorldModel::agentConnect (AgentID agent, AgentTypeDB::AgentTypeConstIterator at) Si occupa dell inizializzazione del communication server e degli agenti spades::simtime BallWorldModel::simToTime (SimTime time_curr, SimTime time_desired) Ogni volta che il world model deve aggiornare l evoluzione del mondo richiama questa metodo che setta il tempo attuale a quello desiderato. All interno di questa chiamata risulta possibile controllare quello che sta accadendo nel mondo controllando le azioni degli agenti e inviando le nuove sensazioni. 20

World Model: Monitor Interface Monitor Interface: Componente del SE che permette di estrarre informazioni sullo stato del mondo Simulation Engine M.I. tcp/ip World Model spades::dataarray BallWorldModel::getMonitorHeaderInfo () Permette di esportare all esterno della simulazione informazioni sul suo andamento. In particolare, questa permette di scrivere un header per le informazioni successive. spades::dataarray BallWorldModel::getMonitorInfo (SimTime time) Come sopra solo che si occupa di spedire le informazioni. 21

Agenti #include. main(.) { processinitsense( ); switch (atype){ case 0: pagentbehavior = new BuildingBehavior( ); break; case 1: pagentbehavior = new CarBehavior( ); break; case n: break; } while (! done) { pacs_interface->receivemessage(); pagentbehavior->processmessage(m) } } 22

Agenti BallWorldAgentBehavior::processInitSense( parametri..) Ritorna la initsense che è il messaggio di inizializzazione di un agente, ritorna il contenuto attraverso diversi parametri (prodotta generalmente dall agentconnect). CarBehavior( parametri..) o BuildingBehavior( parametri..) Attivano agenti di tipo Car o di tipo Building. FromCSMessage* pacs_interface->receivemessage() Si occupa di gestire l arrivo delle sensazioni bool pagentbehavior->processmessage(m) Si occupa di gestire l invio delle azioni 23

Agenti CarBehavior(int n, AgentSpeed s, AgentCommInterface* pcomminterface, ActionServer* pactionserver, int p_hsize, int p_vsize, int p_asize, int p_viewl) n = numero degli agenti s = velocità dell agente (numero di pixel per unità di tempo) pcomminterface = puntatore alla common interface pactionserver = puntatore al proprio Action Server p_hsize = parametro dimensione della piazzola dell edificio (altezza) p_vsize = parametro dimensione della piazzola dell edificio (larghezza) p_asize = parametro alla dimensione dell agente p_viewl = parametro alla distanza massima (in numero di pixel) a cui l agente può vedere Altri parametri PolarPosition lastmove = contiene l ultima mossa in coordinate polari Vector lastpos = contiene l ultima mossa in coordinate cartesiane paa = new AgentAction(); int id = id dell agente int offset[3] = le tre coordinate cartesiane che individuano la posizione dell agente int rotation[3] = le tre rotazioni rispetto gli assi cartesiani int state = lo stato dell agente 24

Partecipazione all AV Un umano partecipa all AV prendendo il controllo di un agente sostituendosi alla sua capacità di elaborare un strategia. Per fare questo, abbiamo esteso il sistema middleware di SPADES attraverso un participatory framework. Interfaccia Recver Sender Agent Avatar pipe Communication Server tcp/ip S E M.I. W M tcp/ip 25

Controllo dell Agente #include. void CarBehavior::doAgentAction() { /* scrivere il codice per il comportamento dell agente quando non è pilotato */ } void CarBehavior::doUserAction(void* actionstruct) { /* scrivere il codice per il comportamento dell agente quando riceve le azioni dall umano*/ } 26

Ultima Ora Il mondo virtuale di Hive7 è stato interamente realizzato con tecnologia AJAX, da molti considerata l'ossatura principale del cosiddetto Web 2.0. Un prototipo di metaverso, termine della letteratura cyberpunk che indica un mondo digitale accessibile tramite interfaccia telematica. 27

Riferimenti Vite Parallele http://www.videoludica.com/news.php?news=201 Travian http://www.travian.it Neuro-Evolving Robotic Operatives http://www.nerogame.org/ Project Entropia http://www.entropiauniverse.com Age of Empire III http://www.ageofempires3.com Second Life http://secondlife.com World of Warcraft http://www.worldofwarcraft.com Quake IV http://www.quake4game.com/ Punto Informatico http://www.punto-informatico.it/ Hive7 http://www.hive7.com/ 28

Riferimenti S. Cacciaguerra, S. Mirri, P. Salomoni & M. Pracucci Wandering About the City, Multi-Playing a Game, in Proc. the 2nd IEEE International Workshop on Networking Issues in Multimedia Entertainment, Las Vegas (USA), January 2006. S. Cacciaguerra, C. Cagneschi & R. Fabbri The Architectonical Design of Virtual Environments Fuels a new Form of the WWW, in Proc. European Simulation and Modelling Conference 2005, Porto (Portugal), October 2005. S. Cacciaguerra, M. Roffilli Agent-based participatory simulation activities for the emergence of complex social behaviours, in Proc. of AISB05, Social Intelligence and Interaction in Animals, Robots and Agents, Hatfield, (England), April 2005. S. Cacciaguerra, S. Mirri, P. Salomoni & M. Baldassarri Almost Blue: The Design of a Cooperative Game by Integrating Accessible Interaction, in Proc. of Euromedia 2005 Toulouse, (France), April 2005. S. Cacciaguerra, M. Roccetti & P. Salomoni, Multimedia Entertainment Applications, in Encyclopedia of Multimedia, ((B. Furht Ed.), Springer, 2005, 510-518, included also "Digital Cinema", "In-home, In-car, In-flight Entertainment", "Interactive Story Telling". S. Ferretti, M. Roccetti & P. Salomoni On-line Gaming, in Encyclopedia of Multimedia, (B. Furht Ed.), Springer, January 2006, 653-660, included also Dead Reckoning, Fairness in Online Games, Game Accessibility, Game Event Synchronization. K. Mitchell, D. McCaffery, G. Metaxas, J. Finney, S. Schmid, A. Scott, Six in the city: introducing Real Tournament - a mobile IPv6 based context-aware multiplayer game, Proc. of the 2nd workshop on Network and system support for games, ACM press, 2003, pp. 91-100. To appear S. Cacciaguerra e M. Roffilli, The Artificial Intelligence promotes Internet communities. 29