Presentazione Specialistica - Bruno Tagliapietra - Presentation Transcript
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
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
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
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
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
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
Analisi - Regole Disposizione iniziale 10/21/2009 7 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
Analisi - Regole Pedone 10/21/2009 8 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
Analisi - Regole Cavallo 10/21/2009 9 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
Analisi - Regole Unicorno 10/21/2009 10 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
Analisi - Regole Alfiere 10/21/2009 11 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
Analisi - Regole Torre 10/21/2009 12 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
Analisi - Regole Regina 10/21/2009 13 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
Analisi - Regole Re 10/21/2009 14 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
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
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
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
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
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
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
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
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
Progettazione - Motore Iterative Deepening: 10/21/2009 23 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
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
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
Progettazione – Interfaccia – Screen Flow 26 10/21/2009 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
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
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
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
Demo 30 DEMO 10/21/2009 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA
0 comments
Post a comment