30
LAUREANDO: Bruno TAGLIAPIETRA 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 05/28/2022 1 Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Presentazione Specialistica - Bruno Tagliapietra

Embed Size (px)

Citation preview

Page 1: Presentazione Specialistica - Bruno Tagliapietra

LAUREANDO:Bruno TAGLIAPIETRA

PROGETTAZIONE E REALIZZAZIONE DI UNA APPLICAZIONE PER IL GIOCO DEGLI "SCACCHI 3D"

Tesi di Laurea Specialistica in Ingegneria Informatica

RELATORE:Chiar.mo Prof.Maur iz io FERMEGLIA

U n i v e r s i t à d e g l i S t u d i d i Tr i e s t e

Fa c o l t à d i I n g e g n e r i a

A n n o A c c a d e m i c o 2 0 0 8 / 0 9

04/13/2023

1

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 2: Presentazione Specialistica - 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

04/13/2023

2

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 3: Presentazione Specialistica - 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

04/13/2023

3

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 4: Presentazione Specialistica - 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.

04/13/2023

4

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 5: Presentazione Specialistica - 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.

04/13/2023

5

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 6: Presentazione Specialistica - 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.

04/13/2023

6

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Aa1

Page 7: Presentazione Specialistica - Bruno Tagliapietra

Analisi - Regole

Disposizione iniziale

04/13/2023

7

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 8: Presentazione Specialistica - Bruno Tagliapietra

Analisi - Regole

Pedone

04/13/2023

8

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 9: Presentazione Specialistica - Bruno Tagliapietra

Analisi - Regole

Cavallo

04/13/2023

9

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 10: Presentazione Specialistica - Bruno Tagliapietra

Analisi - Regole

Unicorno

04/13/2023

10

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 11: Presentazione Specialistica - Bruno Tagliapietra

Analisi - Regole

Alfiere

04/13/2023

11

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 12: Presentazione Specialistica - Bruno Tagliapietra

Analisi - Regole

Torre

04/13/2023

12

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 13: Presentazione Specialistica - Bruno Tagliapietra

Analisi - Regole

Regina

04/13/2023

13

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 14: Presentazione Specialistica - Bruno Tagliapietra

Analisi - Regole

Re

04/13/2023

14

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 15: Presentazione Specialistica - 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à

04/13/2023

15

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 16: Presentazione Specialistica - 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

04/13/2023

16

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 17: Presentazione Specialistica - Bruno Tagliapietra

Progettazione

Macro dicotomia

Motore Veloce Efficiente Regolabile

Interfaccia Tridimensionale Gradevole alla vista User friendly

04/13/2023

17

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 18: Presentazione Specialistica - Bruno Tagliapietra

Progettazione

Pattern architetturale di riferimento:Model – View – Controller

Motore Model + Controller

Interfaccia View

04/13/2023

18

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 19: Presentazione Specialistica - 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

04/13/2023

19

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 20: Presentazione Specialistica - Bruno Tagliapietra

Progettazione - Motore

Tre macro-problemi principali:

Rappresentazione della scacchiera.

Tecniche di ricerca delle mosse.(Ricerca in alberi)

Valutazione di una posizione.

04/13/2023

20

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 21: Presentazione Specialistica - Bruno Tagliapietra

Progettazione - Motore

Rappresentazione scacchiera - mailbox:

04/13/2023

21

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

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; }}

Page 22: Presentazione Specialistica - Bruno Tagliapietra

Progettazione - Motore

Tecniche di ricerca:

Alfa-beta pruning Problema: è depth first. Difficile valutare avendo un tempo limitato

Soluzione: Iterative deepening

04/13/2023

22

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 23: Presentazione Specialistica - Bruno Tagliapietra

Progettazione - Motore

Iterative Deepening:

04/13/2023

23

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 24: Presentazione Specialistica - 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)

04/13/2023

24

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

Page 25: Presentazione Specialistica - Bruno Tagliapietra

Progettazione - Motore25

Valutazione posizione: Punteggi Riportati i punteggi degli scacchi classici, tenendo conto

della mobilità relativa

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

04/13/2023

Page 26: Presentazione Specialistica - Bruno Tagliapietra

Progettazione – Interfaccia – Screen Flow26

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

04/13/2023

Page 27: Presentazione Specialistica - Bruno Tagliapietra

Conclusioni27

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

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

04/13/2023

Page 28: Presentazione Specialistica - Bruno Tagliapietra

Conclusioni28

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

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

04/13/2023

Page 29: Presentazione Specialistica - Bruno Tagliapietra

Conclusioni29

Obiettivi intermedi in corsoRealizzazione complessiva

Motore Interfaccia

Umano vs. ComputerLoading, SavingNetwork PlayingUser Friendliness

Test, migliorie, riprogettazioni

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

04/13/2023

Page 30: Presentazione Specialistica - Bruno Tagliapietra

Demo30

Università degli Studi di Trieste – Prof. Maurizio FERMEGLIA – Bruno TAGLIAPIETRA

04/13/2023

DEMO