Presentazione Specialistica - Bruno Tagliapietra

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Presentazione Specialistica - Bruno Tagliapietra - Presentation Transcript

    1. PROGETTAZIONE E REALIZZAZIONE DI UNA APPLICAZIONE PER IL GIOCO DEGLI "SCACCHI 3D"
      Tesi di Laurea Specialistica in Ingegneria Informatica
      RELATORE:
      Chiar.mo Prof.
      Maurizio FERMEGLIA
      Università degli Studi di Trieste
      Facoltà di Ingegneria
      Anno Accademico 2008/09
      LAUREANDO:
      Bruno TAGLIAPIETRA
      10/21/2009
      1
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    2. Obiettivo della Tesi
      Sviluppo di una piattaforma per il gioco di una variante in 3D dei famosi “scacchi”
      Key Features:
      Umano vs Umano
      Umano vs Computer
      Computer vs Computer
      10/21/2009
      2
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    3. Obiettivi Intermedi
      Fasi dello sviluppo
      Analisi gioco
      Analisi architetturale
      Raccolta requisiti componenti progetto
      Valutazione tecnologie disponibili
      Approfondimento tecnologie impiegate
      Progettazione architetturale
      Progettazione componenti fondamentali
      Realizzazione complessiva
      Test, migliorie, riprogettazioni
      10/21/2009
      3
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    4. Motivazioni
      Perché ‘un videogioco’
      Prodotto di tutto rispetto ed in grande ascesa in campo economico, sociale, artistico.
      Bacino di utenza potenzialmente largo (tutte le fasce d’età).
      Perché una variante 3D degli “Scacchi”
      Interessante dal punto di vista AI (tecniche specifiche).
      Scacchi classici già molto inflazionati.
      Perché “Raumschach”
      Nessuna implementazione fedele della variante presa in esame, “Raumschach”.
      Gioco già collaudato, avente ricca e nobile storia di pratica.
      10/21/2009
      4
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    5. Analisi – Cenni storici
      Scacchi – Varianti 3D
      Le più antiche risalgono a fine ‘800
      “Raumschach”
      Inventati da Ferdinand Maack, inizialmente 8x8x8
      Pubblicati nel 1907 in versione 5x5x5
      Nel 1919 fondato un club ad Amburgo
      Giocati, prevalentemente in Germania, fino all’inizio della seconda guerra mondiale.
      10/21/2009
      5
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    6. Analisi - Regole
      Regole
      Scacchiera cubica, 5x5x5
      Vittoria per scacco matto:
      Non è possibile fare alcuna mossa e il prioprio Re è sotto scacco.
      Patta se:
      50 mosse consecutive senza prese o mosse di Pedone
      Stallo (non è possibile fare alcuna mossa ma il Re non è sotto scacco)
      Notazione:
      La casella in basso a sinistra vicina al giocatore bianco è la Aa1.
      Piani: lettere maiuscole; righe: lettere minuscole; colonne: numeri.
      10/21/2009
      6
      Aa1
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    7. Analisi - Regole
      Disposizione iniziale
      10/21/2009
      7
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    8. Analisi - Regole
      Pedone
      10/21/2009
      8
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    9. Analisi - Regole
      Cavallo
      10/21/2009
      9
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    10. Analisi - Regole
      Unicorno
      10/21/2009
      10
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    11. Analisi - Regole
      Alfiere
      10/21/2009
      11
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    12. Analisi - Regole
      Torre
      10/21/2009
      12
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    13. Analisi - Regole
      Regina
      10/21/2009
      13
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    14. Analisi - Regole
      Re
      10/21/2009
      14
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    15. Analisi - Requisiti
      Requisiti individuati
      Scacchiera cubica, 5x5x5, conforme al regolamento
      Visualizzazione tridimensionale
      Selezione e spostamento pezzi tramite mouse
      Possibilità di giocare con avversario umano
      Possibilità di giocare con avversario computerizzato
      Difficoltà regolabile
      Portabilità
      10/21/2009
      15
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    16. Tecnologie
      XNA 3.1
      Inseme di tool ambiente .NET
      Scopo: sviluppo di videogame
      Caratteristiche:
      Portabilità: PC, Xbox, Zune
      Mono.XNA (incompleto): Linux, MacOS
      Vantaggi
      In quanto Game Framework evita di dover riscrivere le infrastrutture adatte al game development
      Vantaggi rispetto altri game framework
      Maggior confidenza con la tecnologia su cui si basa
      10/21/2009
      16
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    17. Progettazione
      Macro dicotomia
      Motore
      Veloce
      Efficiente
      Regolabile
      Interfaccia
      Tridimensionale
      Gradevole alla vista
      User friendly
      10/21/2009
      17
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    18. Progettazione
      Pattern architetturale di riferimento:
      Model – View – Controller
      Motore
      Model + Controller
      Interfaccia
      View
      10/21/2009
      18
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    19. Progettazione - Motore
      Esso deve essere in grado di
      Esprimere una valutazione quantitativa sulla posizione
      Per un certo numero di “livelli”, sia esso n:
      Generare tutte le mosse possibili
      Valutare tutte le posizioni
      Per ciascuna posizione, generare tutte le mosse possibili
      Fermarsi quando ha raggiunto il tempo limite
      10/21/2009
      19
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    20. Progettazione - Motore
      Tre macro-problemi principali:
      Rappresentazione della scacchiera.
      Tecniche di ricerca delle mosse.
      (Ricerca in alberi)
      Valutazione di una posizione.
      10/21/2009
      20
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    21. Progettazione - Motore
      Rappresentazione scacchiera - mailbox:
      for (j = 0; j < offsets[piece[pos_iniz]]; ++j) //n da 0 a 124
      {  
      for (n = pos_iniz;;) {  
      n = mailbox[addresser[n] + offset[piece[pos_iniz]][j]];
      if (n == -1)
      break;
        
      if (color[n] != EMPTY) {
      //se la casella non è vuota...
      if (color[n] == not_my_side)
      genera_mossa(...); //e non proseguo
       break;
      }
      genera_mossa(...);
      If (!slide[piece[i]])break;
      }
      }
      10/21/2009
      21
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    22. Progettazione - Motore
      Tecniche di ricerca:
      Alfa-beta pruning
      Problema: è depth first.
      Difficile valutare avendo un tempo limitato
      Soluzione: Iterative deepening
      10/21/2009
      22
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    23. Progettazione - Motore
      Iterative Deepening:
      10/21/2009
      23
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    24. Progettazione - Motore
      Alpha-beta pruning:
      function alphabeta(node, depth, α, β)
      (* β rappresenta la scelta migliore del giocatore precedente *)
      if node is a terminal node or depth = 0
      return the heuristic value of node
      foreach child of node
      α := max(α, -alphabeta(child, depth-1, -β, -α))
      (* per simmetria, -β diventa α *)
      if β≤α break (* Beta cut-off *)
      return α
      (* chiamata originaria *)
      alphabeta(origine, depth, -infinito, +infinito)
      10/21/2009
      24
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    25. Progettazione - Motore
      25
      Valutazione posizione:
      Punteggi
      Riportati i punteggi degli scacchi classici, tenendo conto della mobilità relativa
      10/21/2009
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    26. Progettazione – Interfaccia – Screen Flow
      26
      10/21/2009
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    27. Conclusioni
      27
      Obiettivi intermedi raggiunti
      • Analisi gioco
      • Analisi architetturale
      • Raccolta requisiti componenti progetto
      • Valutazione tecnologie disponibili
      • Approfondimento tecnologie impiegate
      • Progettazione architetturale
      • Progettazione componenti fondamentali
      • Realizzazione complessiva
      • Test, migliorie, riprogettazioni
      10/21/2009
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    28. Conclusioni
      28
      Obiettivi intermedi raggiunti
      • Analisi gioco
      • Analisi architetturale
      • Raccolta requisiti componenti progetto
      • Valutazione tecnologie disponibili
      • Approfondimento tecnologie impiegate
      • Progettazione architetturale
      • Progettazione componenti fondamentali
      • Realizzazione complessiva
      • Test, migliorie, riprogettazioni
      10/21/2009
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    29. Conclusioni
      29
      Obiettivi intermedi in corso
      • Realizzazione complessiva
      • Motore
      • Interfaccia
      • Umano vs. Computer
      • Loading, Saving
      • Network Playing
      • User Friendliness
      • Test, migliorie, riprogettazioni
      10/21/2009
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
    30. Demo
      30
      DEMO
      10/21/2009
      Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

    + bruno1984bruno1984, 2 months ago

    custom

    99 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 99
      • 99 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags