ITI Malignani – 22 Maggio 2013Trailer In Verbis Virtushttp://www.indomitusgames.com/index.php/it/
ITI Malignani – 22 Maggio 2013Intelligenza Artificiale e VideogiochiProf. Pier Luca Lanzi
ITI Malignani – 22 Maggio 2013Buongiorno!• Prof. Pier Luca Lanzi Dipartimento di Elettronica,Informazione e Bioingegneria...
ITI Malignani – 22 Maggio 2013Ho Iniziato …• Cosi’ …• Nel mentre …• E adesso 4
ITI Malignani – 22 Maggio 20135
ITI Malignani – 22 Maggio 2013Il Politecnico di Milano• Il Politecnico di Milano (o PoliMi)è un’università statale di tipo...
ITI Malignani – 22 Maggio 20137http://www.topuniversities.com/universities/politecnico-di-milano
ITI Malignani – 22 Maggio 2013Dipartimento di Elettronica,Informazione e Bioingegneria• Principale dipartimento dItalia pe...
ITI Malignani – 22 Maggio 2013A Pixel Escape Gameplayhttp://www.apixelescape.com/
ITI Malignani – 22 Maggio 2013Solar Journeyhttps://www.youtube.com/watch?v=ZTbjWL1AaYc
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 201313
ITI Malignani – 22 Maggio 2013di cosa parliamo oggi?intelligenza artificiale e videogiochi
ITI Malignani – 22 Maggio 2013cosa fa l’intelligenza artificiale?
ITI Malignani – 22 Maggio 2013sistemi che pensanocome esseri umanisistemi che pensanorazionalmentesistemi che agisconocome...
ITI Malignani – 22 Maggio 2013sistemi che pensanocome esseri umanisistemi che pensanorazionalmentesistemi che agisconocome...
ITI Malignani – 22 Maggio 2013Agire Come un Essere Umano• Approccio convenzionaleIntelligente è ciò che realizzaun determ...
ITI Malignani – 22 Maggio 2013cosa fa l’intelligenza artificialenei videogiochi?
ITI Malignani – 22 Maggio 2013“good artificial intelligence”
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013minimax(player, board)if(gameover in current board position)return winnerchildren =all legal...
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013“good artificial intelligence”vs“fun artificial intelligence”
ITI Malignani – 22 Maggio 2013“Good ArtificialIntelligence”• Regole fissate• Simmetrica• Multi-giocatore• Strategie illimi...
ITI Malignani – 22 Maggio 2013Far Cry 2http://www.youtube.com/watch?v=sDiGYDNMsZU
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013Diablo III (random quests)https://www.youtube.com/watch?v=xn_XWY-dArchttps://www.youtube.com...
ITI Malignani – 22 Maggio 2013come viene applicata nei videogiochi?“personaggi non giocanti” (la IA del gioco)generazione ...
ITI Malignani – 22 Maggio 2013non-player characters
ITI Malignani – 22 Maggio 2013Come Viene Applicata aiPersonaggi Non Giocanti?• Muove i personaggi nel gioco• Decide cosa, ...
ITI Malignani – 22 Maggio 2013Space Invadershttp://www.youtube.com/watch?v=QObneYZIdKI
ITI Malignani – 22 Maggio 2013Inizialmente…• Le caratteristiche e il comportamento dei personaggi nongiocanti erano fissat...
ITI Malignani – 22 Maggio 2013Qual è stato il primo videogioco con IA?
ITI Malignani – 22 Maggio 2013Ponghttps://www.youtube.com/watch?v=it0sf4CMDeM
ITI Malignani – 22 Maggio 2013Pong! (1972)• “Pong” è stato il primo gioco con una forma di IA• La “racchetta” del personag...
ITI Malignani – 22 Maggio 2013Pac-Manhttp://www.youtube.com/watch?v=jiJ0PkU8t3c
ITI Malignani – 22 Maggio 2013Pac-Man• Un eroe Pac-Man, quattro fantasmi (Blinky, Pinky, Inky,Clyde)• 244 pallini e un num...
ITI Malignani – 22 Maggio 2013Comportamento dei Fantasmi:Modalità Scatter40
ITI Malignani – 22 Maggio 2013Come Funziona la IA deiPersonaggi Non Giocanti?• Modello di Funzionamento Sensori/Percezion...
ITI Malignani – 22 Maggio 2013Esempio di Comportamento perun First Person ShooterGet AmmoGet HealthRun AwaySearch For Enem...
ITI Malignani – 22 Maggio 2013Macchine a Stati Finiti (FSM)• Soluzione più semplice per implementare l’intelligenza artifi...
ITI Malignani – 22 Maggio 2013Macchine a Stati Finiti (FSM)• Hard-Coded La macchina a stati finiti e’ scritta direttament...
ITI Malignani – 22 Maggio 2013come implementereste una FSM hard-coded?come implementereste una FSM interpretata?
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013Fearhttps://www.youtube.com/watch?v=VCcVy8-nHOU
ITI Malignani – 22 Maggio 2013F.E.A.R. States• Goto Physical movement to a localtion• Animate In place animation• Use Sm...
ITI Malignani – 22 Maggio 2013Uncharted 3https://www.youtube.com/watch?v=ELD2epCsx0c
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013“Game AI is largely an unsolved problem”
ITI Malignani – 22 Maggio 2013Come Dovrebbe Essere l’IntelligenzaArtificiale di un Gioco?• Idealmente il sistema di IA di ...
ITI Malignani – 22 Maggio 2013Come può imbrogliare la IA di gioco?Usando la conoscenza completa ed esatta delmondoPuò evit...
ITI Malignani – 22 Maggio 201355Motogp13http://www.youtube.com/watch?v=SDfua5PrJ8c
ITI Malignani – 22 Maggio 2013Pianificazione delle azionie dei movimenti (path finding)
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013Come Viene Implementato il Pathfindingnei Videogiochi?• Quattro rappresentazioni• Griglie• G...
ITI Malignani – 22 Maggio 2013Pathfinding bugshttp://www.youtube.com/watch?feature=player_embedded&v=lw9G-8gL5o0
ITI Malignani – 22 Maggio 2013Che cos’e’ la Generazione Procedurale di Contenuti?“Generazione Procedurale”senza alcun inte...
ITI Malignani – 22 Maggio 2013generazione di livelli
ITI Malignani – 22 Maggio 2013Generazione di Dungeon:Partizione Binaria• Selezionare a caso una direzione di divisione(ori...
ITI Malignani – 22 Maggio 2013Generazione di Dungeon:“Algoritmo di Anderson”1. Riempi tutta la mappa di solido (terra)2. S...
ITI Malignani – 22 Maggio 2013Automi Cellulari• Paradigma di computazione basato su interazioni locali• Usato negli studi ...
ITI Malignani – 22 Maggio 2013Automi Cellulari Bidimensionali 66
ITI Malignani – 22 Maggio 2013Frozen synapseshttps://www.youtube.com/watch?v=Macgp4WnVZU
ITI Malignani – 22 Maggio 2013Generatore di Livelli Semplice 68
ITI Malignani – 22 Maggio 2013Human Designed Levels 69
ITI Malignani – 22 Maggio 2013Algorithm1. 2.3. 4.70
ITI Malignani – 22 Maggio 2013Step 5. 71
ITI Malignani – 22 Maggio 2013Step 6. Walls & Doors 72
ITI Malignani – 22 Maggio 2013Step 7. Windows & More Doors 73
ITI Malignani – 22 Maggio 2013Step 8. Box Cover 74
ITI Malignani – 22 Maggio 2013Example #2 75
ITI Malignani – 22 Maggio 2013Example #3 76
ITI Malignani – 22 Maggio 2013Example #4 77
ITI Malignani – 22 Maggio 2013Example #5 78
ITI Malignani – 22 Maggio 2013AlienSwarm (TileGen) 79
ITI Malignani – 22 Maggio 2013AlienSwarm (TileGen) 80
ITI Malignani – 22 Maggio 2013vegetazione
ITI Malignani – 22 Maggio 2013Perche’ la Vegetazione?• E’ una parte importante di moltissimi giochi (ad es.FarCry)• Deve e...
ITI Malignani – 22 Maggio 2013Speed Tree Demohttp://www.youtube.com/watch?v=6MDGt9XNS7Y
ITI Malignani – 22 Maggio 2013L-Systems• Aristid Lindenmeyer li introduce nel 1968, per modellare lo sviluppo dellepiante•...
ITI Malignani – 22 Maggio 2013Esempio: 2, 4, 6 e 8 iterazioni 85
ITI Malignani – 22 Maggio 2013Esempio• Esempio Variabili: F Constanti: + e − Simbolo iniziale: F Regole:F=C0FF-[C1-F+F...
ITI Malignani – 22 Maggio 2013
ITI Malignani – 22 Maggio 2013“Dramatic Pacing”
ITI Malignani – 22 Maggio 2013Left4Deadhttps://www.youtube.com/watch?v=yEZ6YIXdr8o
ITI Malignani – 22 Maggio 2013“Dramatic Pacing” in Left4Dead• Il ritmo di gioco viene aggiustato durante il gioco permassi...
ITI Malignani – 22 Maggio 2013Algoritmo di “Pacing” in Left4Dead• Stima lintensità emotiva di ogni sopravvissuto survivor...
ITI Malignani – 22 Maggio 2013Se Siete Interessati• Allo sviluppo di videogiochiXNA 4.0 in C# per Xbox e Windows PhoneUn...
ITI Malignani – 22 Maggio 2013Tanto da Leggere, Ma Tutto in Inglese• The Rough Guide to Videogames by KateBerens, Geoff Ho...
ITI Malignani – 22 Maggio 2013Riferimenti• Artificial Intelligence for GamesIan Millington and John Funge (Aug 6, 2009)• A...
ITI Malignani – 22 Maggio 2013Blog Italiani• http://www.indievault.it• http://www.gameprog.it95
ITI Malignani – 22 Maggio 2013Se Avete Bisogno di Informazioni• Emailpierluca.lanzi@polimi.it• Skypepierluca.lanzi• Web...
ITI Malignani – 22 Maggio 2013https://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&docid=IzmfGB8O7i5M...
Upcoming SlideShare
Loading in …5
×

20130522 Intelligenza Artificiale e Videogiochi

668 views

Published on

Presentazione del 22 Maggio 2013 all'ITI Malignani su Intelligenza Artificiale e Videogiochi.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
668
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Game on balance,dual task.
  • Cosa significa diventare un ingegnere informatico?
  • Cosa significa diventare un ingegnere informatico?
  • Prima dicapirechecos’e’ un videogiocodobbiamocapirecos’e’ un gioco… prendiamo ad esempiogliscacchi.
  • Now that we have a way of representing the game in our program, how do we compute our optimal move? We will assume that the opponent is rational; that is, the opponent can compute moves just as well as we can, and the opponent will always choose the optimal move with the assumption that we, too, will play perfectly. (Contrast this, for example, to the beginning chess player, who will purposely make a move with a trap, in the hopes of catching the opponent into the trap and gaining a quick victory. However, if the opponent does not fall for the trap, our player finds that his position is now critically weakened).
  • Cosafal’intelligenzaartificiale in un gioco come pac-man?Perche’ I fantasmini non vi inseguonosempre?
  • Perche’ I nemici non vi non vi colpisconosempre ma vi mancano? Come maiperdonoanche se teoricamentepotrebberovinceresempre?
  • Cosa significa diventare un ingegnere informatico?
  • Hedgehog
  • Inizialmente non c’eraalcunaintelligenzaartificiale in moltigiochi (ad esempio) space invaders. 1978
  • http://www.youtube.com/watch?v=LPkUvfL8T1I1972 – SPIEGA IL GIOCO
  • http://homepage.cs.uri.edu/faculty/hamel/courses/2010/spring2010/csc481/lecture-notes/ln011a.pdf
  • http://smc.sourceforge.net/Hard-coded approach is fast and down to the metal, the interpreted approach is flexible but slow
  • http://www.naughtydog.com/docs/Naughty-Dog-GDC08-Creating-a-Character-in-Drakes-Fortune.pdf
  • (in Jedi Academy, gli NPC spesso cadono nel vuoto e muoiono)
  • INITIALLY EVERYTHING RANDOM AND THEN HUMAN DESIGNED ROOMS, PLACED RANDOMLY
  • RANDOM CORNER OF RANDOM SIZE (2) SPLIT THE REST OF THE MAP IN RANDOM SEGMENT (3) AND THEN RERUN THE ALGORITHM
  • STOP AT A CERTAIN SIZE
  • EVERY ROOM MUST BE ACCESSIBLE FROM THE OUTSIDE
  • ADD WINDOWS AND DOORS
  • ADD BOXES FOR COVER
  • USA UNA TECNICA SIMILE, NON ESPLICITAMENTE UN L-SYSTEM MA UN CONCETTO SIMILEE’ UN’ESEMPIO DI STRUCTURED RANDOMNESS
  • DIABLO2 USA PCG MA NON SI SA …
  • http://www.youtube.com/watch?v=IR9x-IDX9Eg&feature=g-upl&context=G2afd661AUAAAAAAAZAA
  • 20130522 Intelligenza Artificiale e Videogiochi

    1. 1. ITI Malignani – 22 Maggio 2013Trailer In Verbis Virtushttp://www.indomitusgames.com/index.php/it/
    2. 2. ITI Malignani – 22 Maggio 2013Intelligenza Artificiale e VideogiochiProf. Pier Luca Lanzi
    3. 3. ITI Malignani – 22 Maggio 2013Buongiorno!• Prof. Pier Luca Lanzi Dipartimento di Elettronica,Informazione e Bioingegneria• Istruzione Biennio all’ITI Malignani (UD) Triennio al ITI Galileo Galilei (GO) Laurea in Informatica (UD) Dottorato in Ingegneria Informatica (POLIMI)• Corso di studi di Ingegneria Informatica Algoritmi e Calcolo Parallelo, Data Mining and Text Mining Videogame Design and Programming3Primo programma a 13 anni, 33 anni fa 
    4. 4. ITI Malignani – 22 Maggio 2013Ho Iniziato …• Cosi’ …• Nel mentre …• E adesso 4
    5. 5. ITI Malignani – 22 Maggio 20135
    6. 6. ITI Malignani – 22 Maggio 2013Il Politecnico di Milano• Il Politecnico di Milano (o PoliMi)è un’università statale di tipotecnico-scientifico• Comprende corsi inIngegneriaArchitetturaDesignProfessori 1,355Staff tecnico eamministrativo1,187Studenti di dottorato 856Assegnisti di ricerca 675Studenti 37,0366
    7. 7. ITI Malignani – 22 Maggio 20137http://www.topuniversities.com/universities/politecnico-di-milano
    8. 8. ITI Malignani – 22 Maggio 2013Dipartimento di Elettronica,Informazione e Bioingegneria• Principale dipartimento dItalia per ilsettore dell’informazione e uno dei primidEuropa e del mondo• Una classifica IEEE/ACM lo pone al 7°postoal mondo nell’ambito dell’ingegneria delsoftware.• 13M€ di contratti da enti privati. UE, entipubblici nazionali• Produttività scientifica molto elevata e dialta qualità, rivolta soprattutto a congressie pubblicazioni internazionali8
    9. 9. ITI Malignani – 22 Maggio 2013A Pixel Escape Gameplayhttp://www.apixelescape.com/
    10. 10. ITI Malignani – 22 Maggio 2013Solar Journeyhttps://www.youtube.com/watch?v=ZTbjWL1AaYc
    11. 11. ITI Malignani – 22 Maggio 2013
    12. 12. ITI Malignani – 22 Maggio 2013
    13. 13. ITI Malignani – 22 Maggio 201313
    14. 14. ITI Malignani – 22 Maggio 2013di cosa parliamo oggi?intelligenza artificiale e videogiochi
    15. 15. ITI Malignani – 22 Maggio 2013cosa fa l’intelligenza artificiale?
    16. 16. ITI Malignani – 22 Maggio 2013sistemi che pensanocome esseri umanisistemi che pensanorazionalmentesistemi che agisconocome esseri umanisistemi che agisconorazionalmente
    17. 17. ITI Malignani – 22 Maggio 2013sistemi che pensanocome esseri umanisistemi che pensanorazionalmentesistemi che agisconocome esseri umanisistemi che agisconorazionalmente
    18. 18. ITI Malignani – 22 Maggio 2013Agire Come un Essere Umano• Approccio convenzionaleIntelligente è ciò che realizzaun determinata prestazione• Estensione della nozione di intelligenzaNon solo pensare, ma anche agire• Tradizione del test di Turing (1950)• Abilità nel raggiungerePrestazioni a livello umanoSufficienti a ingannare un interrogante18
    19. 19. ITI Malignani – 22 Maggio 2013cosa fa l’intelligenza artificialenei videogiochi?
    20. 20. ITI Malignani – 22 Maggio 2013“good artificial intelligence”
    21. 21. ITI Malignani – 22 Maggio 2013
    22. 22. ITI Malignani – 22 Maggio 2013minimax(player, board)if(gameover in current board position)return winnerchildren =all legal moves for player from this boardif(maxs turn)return maximal score of callingminimax on all the childrenelse (mins turn)return minimal score of callingminimax on all the children
    23. 23. ITI Malignani – 22 Maggio 2013
    24. 24. ITI Malignani – 22 Maggio 2013
    25. 25. ITI Malignani – 22 Maggio 2013“good artificial intelligence”vs“fun artificial intelligence”
    26. 26. ITI Malignani – 22 Maggio 2013“Good ArtificialIntelligence”• Regole fissate• Simmetrica• Multi-giocatore• Strategie illimitate• Test oggettivi• Passa il test di Turing“Fun ArtificialIntelligence”• Design in costanteevoluzione• Asimmetrica• Singolo giocatore• Strategie limitate• Valutazione soggettiva• Ignora il test di Turinggioca per vincere gioca per perdere
    27. 27. ITI Malignani – 22 Maggio 2013Far Cry 2http://www.youtube.com/watch?v=sDiGYDNMsZU
    28. 28. ITI Malignani – 22 Maggio 2013
    29. 29. ITI Malignani – 22 Maggio 2013Diablo III (random quests)https://www.youtube.com/watch?v=xn_XWY-dArchttps://www.youtube.com/watch?v=2pFzro2Pjtk
    30. 30. ITI Malignani – 22 Maggio 2013come viene applicata nei videogiochi?“personaggi non giocanti” (la IA del gioco)generazione del contenutogame design, animazioni, analisi dei giocatori,adaptive gameplay, ecc.
    31. 31. ITI Malignani – 22 Maggio 2013non-player characters
    32. 32. ITI Malignani – 22 Maggio 2013Come Viene Applicata aiPersonaggi Non Giocanti?• Muove i personaggi nel gioco• Decide cosa, dove, come e quando• Viene applica sia agli avversari sia agli alleati• Pianifica percorsi e permette di evitare gli ostacoli• Seleziona l’animazione corretta32
    33. 33. ITI Malignani – 22 Maggio 2013Space Invadershttp://www.youtube.com/watch?v=QObneYZIdKI
    34. 34. ITI Malignani – 22 Maggio 2013Inizialmente…• Le caratteristiche e il comportamento dei personaggi nongiocanti erano fissate nel gioco• In Space Invaders, gli alieni si muovono su un livellopredefinito con una velocità predefinita (funzione delnumero di alieni) seguendo una delle due direzionidisponibili• Sparano con una frequenza casuale verso l’astronave delgiocatore• Il gioco non ha alcuna IA34
    35. 35. ITI Malignani – 22 Maggio 2013Qual è stato il primo videogioco con IA?
    36. 36. ITI Malignani – 22 Maggio 2013Ponghttps://www.youtube.com/watch?v=it0sf4CMDeM
    37. 37. ITI Malignani – 22 Maggio 2013Pong! (1972)• “Pong” è stato il primo gioco con una forma di IA• La “racchetta” del personaggio non giocante era calcolatautilizzando una semplice forma per predirre l’altezza chela palla avrebbe avuto nell’attraversare la linea dellaracchetta• Alla racchetta della IA era assegnata una velocità e unaprobabilità di errore che dipendeva dal livello di difficoltà• In questo modo la racchetta della IA poteva mancare lapallina ogni tanto in base al livello di difficoltà37
    38. 38. ITI Malignani – 22 Maggio 2013Pac-Manhttp://www.youtube.com/watch?v=jiJ0PkU8t3c
    39. 39. ITI Malignani – 22 Maggio 2013Pac-Man• Un eroe Pac-Man, quattro fantasmi (Blinky, Pinky, Inky,Clyde)• 244 pallini e un numero di livelli infiniti (teoricamente)• Tre modalità per i fantasmiCHASE: il fantasma cerca di catturare Pac-ManSCATTER: i fantasmi raggiungono il proprio angoloFRIGHTENED: i fantasmi sono “spaventati”• Quattro differenti comportamenti per i fantasmi ottenuticombinando le tre modalità39
    40. 40. ITI Malignani – 22 Maggio 2013Comportamento dei Fantasmi:Modalità Scatter40
    41. 41. ITI Malignani – 22 Maggio 2013Come Funziona la IA deiPersonaggi Non Giocanti?• Modello di Funzionamento Sensori/Percezione Ragionamento Azione• Valutazione della IA di Gioco Risoluzione robusta dei problemi Requisiti di Tempo Requisiti di Spazio Realismo• Requisiti di Tempo 30 fps, 33ms per frame, 1-3ms per la IA (~10%), 100ms perpianificazione di una unità Si rende necessario spezzare la pianificazione di una unità su piùframe41
    42. 42. ITI Malignani – 22 Maggio 2013Esempio di Comportamento perun First Person ShooterGet AmmoGet HealthRun AwaySearch For EnemyAttackEnemyFoundEnemyLostLowonAmmoLowonHealthGotAway,LowonHealthGotHealthGot AmmoGotAway,LowonAmmo42
    43. 43. ITI Malignani – 22 Maggio 2013Macchine a Stati Finiti (FSM)• Soluzione più semplice per implementare l’intelligenza artificiale di unNPC• Gli stati danno una rappresentazione di alto livello di quello chel’intelligenza artificiale cerca di fare• Ogni stato contiene del codice per implementare il comportamento nelparticolare stato• Le transizioni avvengono in base a cambiamenti nell’ambiente• Vantaggi Semplice da specificare e da implementare Esistono degli appositi middleware specifici• Svantaggi Difficili per il debug e anche da estendere Duplicazione del codice Diventano velocemente complesse43
    44. 44. ITI Malignani – 22 Maggio 2013Macchine a Stati Finiti (FSM)• Hard-Coded La macchina a stati finiti e’ scritta direttamente nel linguaggio concui si sviluppa il gioco (C/C++)• Interpretate Un interprete carica una rappresentazione testuale da file cheviene poi interpretata• Compilata Una rappresentazione testuale viene letta e ne viene generatol’equivalente nel linguaggio in cui viene sviluppato il gioco44
    45. 45. ITI Malignani – 22 Maggio 2013come implementereste una FSM hard-coded?come implementereste una FSM interpretata?
    46. 46. ITI Malignani – 22 Maggio 2013
    47. 47. ITI Malignani – 22 Maggio 2013
    48. 48. ITI Malignani – 22 Maggio 2013Fearhttps://www.youtube.com/watch?v=VCcVy8-nHOU
    49. 49. ITI Malignani – 22 Maggio 2013F.E.A.R. States• Goto Physical movement to a localtion• Animate In place animation• Use Smart-Object Special case of animate• People perceive the AI as smarter if they know what it is doing If one unit remains, say “I need reinforcements” Introduce conversations instead of talking“I am shot!” vs “what’s your status?” If the AI is stuck say “I have nowhere to go!”49
    50. 50. ITI Malignani – 22 Maggio 2013Uncharted 3https://www.youtube.com/watch?v=ELD2epCsx0c
    51. 51. ITI Malignani – 22 Maggio 2013
    52. 52. ITI Malignani – 22 Maggio 2013“Game AI is largely an unsolved problem”
    53. 53. ITI Malignani – 22 Maggio 2013Come Dovrebbe Essere l’IntelligenzaArtificiale di un Gioco?• Idealmente il sistema di IA di un gioco dovrebbe seguire lestesse regole e gli stessi vincoli che deve seguire ilgiocatore, così da giocare in modo “fair”• Ad esempio, nei giochi di strategia, il giocatore umanovede solo parti della mappa, lo stesso dovrebbe fare la IA• Nella pratica, questo è difficile e molti sistemi di IA digioco sono molto limitate in alcune circostanze• Per evitare questo tipo di problemi i sistemi di IA“imbrogliano un pochino ma non troppo” in modo che ilgiocatore non se ne accorga53
    54. 54. ITI Malignani – 22 Maggio 2013Come può imbrogliare la IA di gioco?Usando la conoscenza completa ed esatta delmondoPuò evitare i proiettili, sa dove sono nascoste leunità, che carte e che capitale ha ilgiocatore, ecc.Inoltre …
    55. 55. ITI Malignani – 22 Maggio 201355Motogp13http://www.youtube.com/watch?v=SDfua5PrJ8c
    56. 56. ITI Malignani – 22 Maggio 2013Pianificazione delle azionie dei movimenti (path finding)
    57. 57. ITI Malignani – 22 Maggio 2013
    58. 58. ITI Malignani – 22 Maggio 2013Come Viene Implementato il Pathfindingnei Videogiochi?• Quattro rappresentazioni• Griglie• Grafi di waypoint• Mesh di navigazione• Delaunay Triangulation58
    59. 59. ITI Malignani – 22 Maggio 2013Pathfinding bugshttp://www.youtube.com/watch?feature=player_embedded&v=lw9G-8gL5o0
    60. 60. ITI Malignani – 22 Maggio 2013Che cos’e’ la Generazione Procedurale di Contenuti?“Generazione Procedurale”senza alcun intervento o un limitato intervento umano(generazione algoritmica)“di Contenuti”ovvero gli elementi che influenzano il gioco(livelli, armi, power up, ecc.)
    61. 61. ITI Malignani – 22 Maggio 2013generazione di livelli
    62. 62. ITI Malignani – 22 Maggio 2013Generazione di Dungeon:Partizione Binaria• Selezionare a caso una direzione di divisione(orizzontale o verticale)• Selezionare a caso una posizione (x o y di split)• Dividere il dungeon iniziale in due sotto dungeon• Riapplicare la stessa procedura ai due sotto dungeon finoa quando non è soddisfatta la condizione di fine• Infine, creare una stanza per ogni area creata e collegarele stanze63
    63. 63. ITI Malignani – 22 Maggio 2013Generazione di Dungeon:“Algoritmo di Anderson”1. Riempi tutta la mappa di solido (terra)2. Scava una stanza al centro della mappa3. Seleziona una parete di una qualsiasi stanza4. Selezionare una nuova feature da aggiungere(corridoio, stanza quadrata, irregolare, ecc.)5. Controllare se è possibile aggiungere la nuova feature6. Se si, continua, altrimenti vai a 37. Aggiungere la nuova feature sulla parete scelta8. Torna a 3 fino a quando il livello non è completo9. Aggiungi scale (cambio di livello) in maniera casuale10.Infine genera la posizione dei mostri e dei tesori64
    64. 64. ITI Malignani – 22 Maggio 2013Automi Cellulari• Paradigma di computazione basato su interazioni locali• Usato negli studi di vita artificiale e complessitàemergente• Il valore di una cella dipende dall’interazione di n+1 cellevicine• L’interazione viene specificata attraverso delle regole65
    65. 65. ITI Malignani – 22 Maggio 2013Automi Cellulari Bidimensionali 66
    66. 66. ITI Malignani – 22 Maggio 2013Frozen synapseshttps://www.youtube.com/watch?v=Macgp4WnVZU
    67. 67. ITI Malignani – 22 Maggio 2013Generatore di Livelli Semplice 68
    68. 68. ITI Malignani – 22 Maggio 2013Human Designed Levels 69
    69. 69. ITI Malignani – 22 Maggio 2013Algorithm1. 2.3. 4.70
    70. 70. ITI Malignani – 22 Maggio 2013Step 5. 71
    71. 71. ITI Malignani – 22 Maggio 2013Step 6. Walls & Doors 72
    72. 72. ITI Malignani – 22 Maggio 2013Step 7. Windows & More Doors 73
    73. 73. ITI Malignani – 22 Maggio 2013Step 8. Box Cover 74
    74. 74. ITI Malignani – 22 Maggio 2013Example #2 75
    75. 75. ITI Malignani – 22 Maggio 2013Example #3 76
    76. 76. ITI Malignani – 22 Maggio 2013Example #4 77
    77. 77. ITI Malignani – 22 Maggio 2013Example #5 78
    78. 78. ITI Malignani – 22 Maggio 2013AlienSwarm (TileGen) 79
    79. 79. ITI Malignani – 22 Maggio 2013AlienSwarm (TileGen) 80
    80. 80. ITI Malignani – 22 Maggio 2013vegetazione
    81. 81. ITI Malignani – 22 Maggio 2013Perche’ la Vegetazione?• E’ una parte importante di moltissimi giochi (ad es.FarCry)• Deve essere credibileRappresentazione molto dettagliataLe piante sono simili e riconoscibili ma non identiche• La rappresentazione deve essere compatta• Sono necessari strumenti di generazione automatica(non possiamo pensare di avere grafici per questo)82
    82. 82. ITI Malignani – 22 Maggio 2013Speed Tree Demohttp://www.youtube.com/watch?v=6MDGt9XNS7Y
    83. 83. ITI Malignani – 22 Maggio 2013L-Systems• Aristid Lindenmeyer li introduce nel 1968, per modellare lo sviluppo dellepiante• Generano stringe a partire da un alfabeto di variabili e costante a cui siaggiungono una serie di regole• Le stringe vengono interpretate graficamente• Esempio Variabili: A B Constanti: + e − Simbolo iniziale: A Regole: (A → B−A−B), (B → A+B+A) Angolo: 60°• Entrambe A e B corrispondono a ”disegna in avanti”, + significa ”gira asinistra", mentre − significa ”gira a destra” (dell’angolo specificato)84
    84. 84. ITI Malignani – 22 Maggio 2013Esempio: 2, 4, 6 e 8 iterazioni 85
    85. 85. ITI Malignani – 22 Maggio 2013Esempio• Esempio Variabili: F Constanti: + e − Simbolo iniziale: F Regole:F=C0FF-[C1-F+F+F]+[C2+F-F-F] Angolo: 22°• http://www.kevs3d.co.uk/dev/lsystems/#86
    86. 86. ITI Malignani – 22 Maggio 2013
    87. 87. ITI Malignani – 22 Maggio 2013“Dramatic Pacing”
    88. 88. ITI Malignani – 22 Maggio 2013Left4Deadhttps://www.youtube.com/watch?v=yEZ6YIXdr8o
    89. 89. ITI Malignani – 22 Maggio 2013“Dramatic Pacing” in Left4Dead• Il ritmo di gioco viene aggiustato durante il gioco permassimizzare la tensione• Basato sull’esperienza di counter strikeCombattimento senza variazioni è affaticanteLunghi periodi di inattività sono noiosi• Generazione di picchi imprevisti di intensità per creare unesperienza di gioco avvincente• Stesso scenario, quasi stessa mappa ma esperienzadifferente90
    90. 90. ITI Malignani – 22 Maggio 2013Algoritmo di “Pacing” in Left4Dead• Stima lintensità emotiva di ogni sopravvissuto survivor Traccia lintensità massima dei quattro sopravvissuti Se è troppo alta, elimina i pericoli per un po’ Altrimenti crea un nuovo insieme di pericoli• Questo meccanismo (chiamato “AI director”) crea una popolazione dizombi basandosi sullo stato emotivo della squadra91
    91. 91. ITI Malignani – 22 Maggio 2013Se Siete Interessati• Allo sviluppo di videogiochiXNA 4.0 in C# per Xbox e Windows PhoneUnity3D per Mac/Windows/IOS/Android• All’intelligenza artificialeSimulated Car Racing ChampionshipScopo: scrivere un programma in grado di controllareuna macchina da corsa in una pista sconosciutaJava/C/C++http://games.ws.dei.polimi.it/92
    92. 92. ITI Malignani – 22 Maggio 2013Tanto da Leggere, Ma Tutto in Inglese• The Rough Guide to Videogames by KateBerens, Geoff Howard (Sep 8, 2008)• Vintage Games: An Insider Look at theHistory of Grand Theft Auto, Super Mario,and the Most Influential Games of All Time byBill Loguidice and Matt Barton (Mar 4, 2009)• The Ultimate History of Video Games: FromPong to Pokemon–The Story Behind theCraze That Touched Our Lives and Changedthe World by Steven L. Kent (Oct 2, 2001)• Replay: The History of Video Games byTristan Donovan (Apr 20, 2010)• Masters of Doom: How Two Guys Created anEmpire and Transformed Pop Culture –David Kushner (Amazon)93
    93. 93. ITI Malignani – 22 Maggio 2013Riferimenti• Artificial Intelligence for GamesIan Millington and John Funge (Aug 6, 2009)• Artificial Intelligence: A Modern Approach (3rd Ed.)Stuart Russell, Peter Norvig94
    94. 94. ITI Malignani – 22 Maggio 2013Blog Italiani• http://www.indievault.it• http://www.gameprog.it95
    95. 95. ITI Malignani – 22 Maggio 2013Se Avete Bisogno di Informazioni• Emailpierluca.lanzi@polimi.it• Skypepierluca.lanzi• Webhttp://www.pierlucalanzi.nethttp://games.ws.dei.polimi.it• Game designhttp://www.gamasutra.com• Game Jamhttp://www.ludumdare.com96
    96. 96. ITI Malignani – 22 Maggio 2013https://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&docid=IzmfGB8O7i5MAM&tbnid=EunXrx5qtudsyM:&ved=0CAUQjRw&url=http%3A%2F%2Fstore.raspberrypi.com%2Fprojects%2Fa-pixel-escape&ei=mMI1UYDPBcrOswbn8ICABQ&bvm=bv.43148975,d.Yms&psig=AFQjCNF3aEc_ew4gWv-wig9KFd4mEK_McA&ust=1362564114303006grazie!

    ×