Fondamentali nella Progettazione VideoLudica

Transcript

Fondamentali nella Progettazione VideoLudica
CORSO PROGETTAZIONE
VIDEOGIOCHI E SIMULAZIONI
Fondamentali
nella
Progettazione
VideoLudica
Dispensa a cura di Roberto Zanoni ad uso esclusivo degli studenti
1
Entertainment & Interactivity
Grafica Vettoriale
e
Grafica Raster
2
Dispensa Corso Game Design a cura di Roberto Zanoni
Grafica Raster/Vettoriale
Grafica Raster/Bitmap
La grafica Raster (o grafica BitMap) è una tecnica utilizzata in
computer grafica per descrivere un'immagine come un insieme
di Pixel Colorati definiti da una mappa di riferimento.
La bitmap è caratterizzata da due proprietà:
Risoluzione (Larghezza x Altezza)
Profondità di colore (bit Colore)
3
Grafica Raster/Vettoriale
Grafica Raster o Bitmap
Profondità di colore
BIT = Binary Digit (0/1 = 2 combinazioni)
BYTE = 8 BIT (256 combinazioni 2^8)
2 BYTE = 16 BIT (65536 Combinazioni)
3 BYTE = 24 BIT (16 milioni di colori)
4 BYTE = 32 BIT (16 milioni di colori + Alpha Channel)
4
Grafica Raster/Vettoriale
Grafica Vettoriale
La grafica vettoriale è una tecnica utilizzata in computer grafica
per descrivere un'immagine mediante un insieme di primitive
geometriche (punti, linee, curve e poligoni) alle quali possono
essere attribuiti colori e anche sfumature.
I principali vantaggi della grafica vettoriale rispetto alla grafica
raster sono la qualità, l’indipendenza dalla risoluzione, la
maggiore compressione dei dati e la più facile gestione delle
eventuali modifiche.
5
Grafica Raster/Vettoriale
Quando Raster e quando Vettoriale?
RASTER
- Immagini fotografiche o grafica con presenza di molteplici sfumature
- Risoluzioni fisse
VETTORIALE
- Immagini Cartoon senza sfumature
- Risoluzione variabile
6
Grafica Raster/Vettoriale
RASTER
VETTORIALE
7
Entertainment & Interactivity
I FORMATI DELLE IMMAGINI
UN FORMATO PER OGNI PIATTAFORMA
LOSSEY or LOSSLESS
8
I FORMATI DELLE IMMAGINI
I FORMATI PIU’ DIFFUSI
BMP
JPG
GIF
PNG
TIFF
TGA
9
I FORMATI DELLE IMMAGINI
LOSSY
(JPG, PNG)
Immagini con perdita di qualità rispetto all’originale.
Si utilizzano quando è più importante rendere l’immagine (file) più leggera
(meno byte su disco) a discapito della qualità.
LOSSLESS
(BMP, GIF, TGA, TIF, EPS)
Immagini senza perdita di qualità rispetto all’originale.
Si utilizzano quando è più importante mantenere la qualità alta e non si hanno
10
problemi di spazio per la memorizzazione dell’immagine (file).
I FORMATI DELLE IMMAGINI
MODALITA’ DI SALVATAGGIO
E
PROFONDITA’ DEL COLORE
Qualità
Bassa, Media e Alta -> Più la qualità è alta più il file diventa grande, impostare
qualità bassa vuol dire far lavorare più profondamente gli algoritmi di compressione
delle immagini.
Profondità Colore
8 bit = 256 Colori
16 bit = 65.536 Colori
24 bit = 16 Milioni di Colori
32 bit = 16 Milioni di Colori + 8 bit di Alpha
11
I FORMATI DELLE IMMAGINI
MODALITA’ DI SALVATAGGIO
E
PROFONDITA’ DEL COLORE
Trasparenza
Trasparent Color = Uno dei colori presenti all’interno dell’immagine viene definito
come trasparente, l’immagine presenta una tavolozza dei colori (definita) e
all’interno del file viene memorizzato l’indice del colore che non dovrà essere
disegnato/visualizzato.
Alpha Channel = Un intero set di 8 bit (alpha byte) definiranno quali pixel dovranno
essere disegnati/visualizzati nonché il grado di opacità/presenza sullo schermo.
12
I FORMATI DELLE IMMAGINI
I FORMATI PIU’ DIFFUSI
JPG
Joint Photographic Experts Group
JPEG usa una compressione di tipo "lossy“.
In pratica viene usato un algoritmo per l’approssimazione dei pixel colorati per la
ricostruzione dell’immagine che non sarà mai esattamente uguale all’originale.
Il formato JPG è in assoluto il migliore per comprimere immagini fotografiche con
molteplici sfumature e colori.
13
I FORMATI DELLE IMMAGINI
I FORMATI PIU’ DIFFUSI
GIF
Graphics Interchange Format
GIF (pron. "gif" o "ghif") è un formato standard di memorizzazione di file Bitmap.
GIF è probabilmente il formato grafico più usato al mondo, e uno dei primi ad essere
usato su WEB.
Il formato GIF non elimina pixel, come fa il JPEG, ma anzi li riproduce.
Il formato GIF funziona bene su grafica “disegnata“ e supporta al massimo 256
colori per questo motivo non è il massimo con le fotografie e le immagini sfumate.
Il formato Gif permette l’animazione e la trasparenza.
14
I FORMATI DELLE IMMAGINI
I FORMATI PIU’ DIFFUSI
PNG
Portable Network Graphics
E’ un formato utilizzato per la produzioni di immagini molto compresse ma di buona
qualità.
E' l'alternativa al GIF e supporta immagini a 24 bit ed è utile per l'utilizzo di sfondi
trasparenti senza contorni dentellati e quindi di migliore qualità.
E’ utilizzato su Web, su IPTV per le applicazioni su STB, su Digitale Terrestre su
applicazioni MHP e su Mobile nelle applicazioni J2ME.
15
I FORMATI DELLE IMMAGINI
I FORMATI PIU’ DIFFUSI
TIFF
Tag Image File Format
E’ il più usato, più flessibile ed affidabile metodo per memorizzare immagini bitmap
in bianco e nero, a scala di grigio, a scala di colore, a colori RGB.
Un file TIFF può essere di ogni dimensione (in pixel) e di ogni profondità di bit.
Può essere salvato con o senza compressione; Photoshop utilizza la compressione
LZW, che è di tipo lossless.
E’ il formato più usato per la stampa di qualità. Può infatti supportare salvataggi a
16
milioni di colori, il supporto del canale Alpha e compressione lossless.
I FORMATI DELLE IMMAGINI
I FORMATI PIU’ DIFFUSI
EPS
(Encapsulated PostScript)
EPS: è un formato utilizzabile da tutti i programmi di grafica, di illustrazione e
impaginazione sia raster che vettoriali.
Questo formato può contenere sia immagini bitmap che vettoriali.
Non supporta il canale Alpha (il canale della trasparenza).
17
I FORMATI DELLE IMMAGINI
I FORMATI PIU’ DIFFUSI
TGA
(Targa)
Formato di immagine di tipo Raster.
Il formato Tga può gestire immagini con profondità cromatiche diverse, 16 bit per
pixel, 24, 32.
L'ambiente di utilizzo ideale per questo formato è quello del video digitale data
l'altissima qualità dei file TGA che però si paga soprattutto in termini di spazio su
disco.
18
MOBILE
PIXEL ART
Tecnica per costruire immagini colorando pixel per pixel tramite un programma di
Editing di grafica raster.
Usata moltissimo negli ’80 per la realizzazione dei videogiochi, nei quali i pixel
risultavano molto grandi e le immagini poco definite.
Lavorando pixel per pixel i disegnatori avevano il compito di esplicitare (in termini di
visibilità) un oggetto anche complesso, avendo a disposizione pochi punti per
realizzarlo.
In questi ultimi anni la Pixel Art è tornata un po’ di moda, non per necessità ma
semplicemente per passione di molti affezionati e nostalgici di questa tecnica di
disegno.
19
20
21
PIXEL ART
Utilizzo della Pixel Art
La Pixel Art ancora oggi viene usata per videogiochi su varie piattaforme, a volte
per necessità a volte per scelta, diciamo per vezzo.
L’utilizzo più marcato negli ultimi anni (per necessità) è stato quello su piattaforma
mobile.
Gli schermi dei telefonini, in alcuni casi abbastanza piccoli fanno un po’ tornare
indietro nel tempo quando lo schermo FullScreen di un Home-PC in modalità grafica
non superava i 300 pixel di larghezza.
Un videogioco su PC oltre ad avere la necessità di avere la grafica in pochi pixel, ha
inoltre la necessità di limitare lo spazio al minimo indispensabile.
Nelle slide successive vedremo alcuni esempi di utilizzo di pixel art per la creazione
di sprite.
22
SPRITE
LO SPRITE
In grafica informatica lo sprite è una figura bidimensionale che può essere spostata
rispetto allo sfondo, è composta da una serie di fotogrammi (frame) base che ne
determinano l’animazione durante lo spostamento sullo schermo.
SPRITE = FOLLETTO
L’idea iniziale di un oggetto animato che poteva muoversi nello schermo assumeva
una connotazione magica.
23
SPRITE
ASTEROIDS
Sprite
dell’asteroide
24
SPRITE
Sprite Platform SuperMario
25
SPRITE
Sprite Platform SuperMario
26
ESEMPI DI SPRITE
Applicazioni su Terminali Mobili
PAROLA D’ORDINE: RISPARMIARE SPAZIO!
27
ESEMPI DI SPRITE
Wrestling Heroes
Esempi di Sprite
28
ESEMPI DI SPRITE
Wrestling Heroes
Esempi di Sprite
Dimensione reali in pixel per una singola immagine
29x29
29
ESEMPI DI SPRITE
Beach Volley Babes
Esempi di Sprite
30
ESEMPI DI SPRITE
Beach Volley Babes
Cosa Conviene di più?
La 1 o la 2?
1
2
31
ESEMPI DI SPRITE
Beach Volley Babes
DIMENSIONE IN RAM
MAGGIORE
DIMENSIONE SU DISCO
MAGGIORE
Facility di programmazione
DIMENSIONE IN RAM
MINORE
DIMENSIONE SU DISCO
MINORE
32
ESEMPI DI SPRITE
Beach Volley Babes
Cosa Conviene di più?
La 1 o la 2?
1
2
33
ESEMPI DI SPRITE
Beach Volley Babes
DIMENSIONE IN RAM
IDENTICA
DIMENSIONE SU DISCO
MAGGIORE
DIMENSIONE IN RAM
IDENTICA
DIMENSIONE SU DISCO
MINORE
34
COLLISIONI
CONCETTI E TECNICHE
COLLISIONE
CONCETTO:
Scontro tra 2 oggetti dove almeno uno di essi e’ in movimento
FONDAMENTALI:
Controllo su uno dei 2 oggetti
(generalmente l’avatar)
Ottimizzazione del calcolo
Previsione di contatto
35
COLLISIONI
CONCETTI E TECNICHE
METAFORA:
IL VOSTRO AVATAR NON VEDE
E’ COME SE FOSSE IN UNA STANZA BUIA, SENZA LUCE
DOVETE AIUTARLO A NON SBATTERE
DOVETE AIUTARLO A PREVEDERE l’IMPATTO
36
COLLISIONI
CONCETTI E TECNICHE
A UN UMANO
VERREBBE DA METTERE
LE BRACCIA AVANTI PER
PREVEDERE L’IMPATTO.
37
COLLISIONI
CONCETTI E TECNICHE
ONDE SONORE
UN PIPISTRELLO LANCIA
DELLE ONDE SONORE E DA
COME GLI RITORNANO
INDIETRO SA COME
EVITARE GLI OSTACOLI.
38
COLLISIONI
CONCETTI E TECNICHE
AVATAR IN
MOVIMENTO
MURO
DI
COLLISIONE
39
COLLISIONI
CONCETTI E TECNICHE
AVATAR IN
MOVIMENTO
DISTANZA
ALL’IMPATTO
2,5 METRI
STEP DI MOVIMENTO
1 METRO
MURO
DI
COLLISIONE
40
COLLISIONI
CONCETTI E TECNICHE
AVATAR IN
MOVIMENTO
DISTANZA
ALL’IMPATTO
0,5 METRI
STEP DI MOVIMENTO
1 METRO
MURO
DI
COLLISIONE
41
COLLISIONI
CONCETTI E TECNICHE
GHOST
MURO
DI
COLLISIONE
TECNICA
2D
STEP DI MOVIMENTO
1 METRO
42
COLLISIONI
CONCETTI E TECNICHE
RAY LIGHT
MURO
DI
COLLISIONE
TECNICA
3D
STEP DI MOVIMENTO
1 METRO
43
COLLISIONI
CONCETTI E TECNICHE
BOUNDING BOX
PIÙ
OTTIMIZZATO
MENO
PERFORMANTE
44
COLLISIONI
CONCETTI E TECNICHE
PIXEL PRECISION
MENO
OTTIMIZZATO
PIÙ
PERFORMANTE
45
COLLISIONI
CONCETTI E TECNICHE
NECESSARIA
TECNICA GHOST
NECESSARIA
PIXEL PRECISION
COLLISION
DETECTION
46
COLLISIONI
CONCETTI E TECNICHE
NON UTILIZZATA
TECNICA GHOST PER
MOTIVI DI
OTTIMIZZAZIONE
NON NECESSARIA
PIXEL PRECISION
SUFFICIENTE
BOUNDING BOX
47
IL CICLO DI RENDERING
InvalidateRect /
ValidateRect
SetClipRegion
BeginPaint
DrawItem 1
…
DrawItem N
EndPaint
48
IL CICLO DI RENDERING
Nei più diffusi linguaggi di programmazione è possibile gestire il quantitativo
di refresh da far eseguire al ciclo di rendering grafico, impostando
opportunamente i parametri di InvalidateRect o SetClipRegion.
InvalidateRect e SetClipRegion permettono di decidere quale porzione di
area di gioco dovrà subire un refresh al successivo ciclo di rendering.
A volte il meccanismo di ottimizzazione non è gestibile direttamente,
quindi è necessario comprendere bene come il ciclo di rendering tende a
interpretare gli oggetti/sprite che immettiamo all’interno dell’interfaccia di
gioco.
Di seguito alcuni esempi:
49
IL CICLO DI RENDERING
Ad ogni ciclo di
rendering vanno
cancellati pixel
degli invaders,
dell’istante
precedente.
Sfondo neutro
quindi soluzione
più leggera
possibile.
50
IL CICLO DI RENDERING
51
IL CICLO DI RENDERING
Se le animazioni di Background (es. le nuvole che si muovono orizzontalmente
e il sole che brilla) occupano tutta l’area del gioco, ad ogni ciclo di rendering
viene forzato un refresh fullscreen, che appesantisce notevolmente la fluidità
52
del gioco.
I FORMATI AUDIO
LOSSY O NON LOSSY
CAMPIONI O SINTETIZZATI
I formati Audio musicali si dividono principalmente in 2 categorie:
I formati senza perdita di qualità (non lossy) es. WAV
I formati compressi con perdità di qualità variabile (lossy) es. MP3
I file musicali possono anche essere di una terza categoria, ovvero file
audio descrittivi è il caso del formato MIDI che non è altro che un
protocollo di comandi che viene di volta in volta interpretato dalla
macchina che lo accoglie/legge.
53
I FORMATI AUDIO
FORMATO WAV – IL RASTER DELL’AUDIO
La memorizzazione di un file Wav è caratterizzata da diversi parametri, che
ne determinano la qualità e di conseguenza la dimensione su disco:
BITSAMPLE: ovvero la quantità di bit utilizzata per la memorizzazione di ogni
campionatura audio, ovvero la più piccola e unitaria informazione sonora
memorizzabile, generalmente si utilizzano questi parametri: 8bit, 16bit o 24bit.
FREQUENZA DI CAMPIONAMENTO: ovvero il numero di volte al secondo in
cui il segnale analogico (originale) è stato misurato e memorizzato in forma
digitale può assumere molteplici valori ma i più utilizzati sono: 11kHz , 22kHz
e 44kHz.
CANALI: Mono/Stereo (1/2) in pratica nel caso dello stereo è come avere 2
campionature diverse, una per il canale sinistro e una per il destro, di
conseguenza un file Stereo avrà dimensione esattamente doppia di quello
Mono.
54
I FORMATI AUDIO
FORMATO WAV – IL RASTER DELL’AUDIO
BIT RATE: ovvero la quantità di byte utilizzata per la memorizzazione del file
digitale su memoria di massa.
Come calcolare la dimensione del file:
BIT RATE=
(FREQUENZA DI CAMPIONAMENTO) x
(BIT SAMPLE) x
(NUMERO DI CANALI)
Esempio per un audio con
Frequenza di campionamento = 44.1 kHz
Bit Sample = 16 bit
Canali = Stereo (2)
44100 x 16 x 2 = 1.411.200 bit per secondo = 1 Mb/s
55
I FORMATI AUDIO
FORMATO MP3 – LO ZIP LOSSY DEL WAV
Il formato MP3 è il formato compresso più utilizzato per la compressione
di file audio.
In pratica serve per ridurre drasticamente la dimensione dei file audio con
conseguente perdita (variabile) della qualità del sonoro.
I parametri dove normalmente si va ad agire sono 2 BitRate e Frequenza
di campionamento, che in nei moderni programmi di Audio Edit possono
assumere innumerevoli valori.
56
I FORMATI AUDIO
FORMATO MIDI – IL PORTABILE
Il formato di memorizzazione del formato MIDI è un file ASCII quindi
leggerissimo, comprende la memorizzazione delle note, la loro durata, gli
strumenti musicali (anche divisi per tracce) che le devono suonare e
informazioni accessorie legate ad ogni singola battuta (es. Testi per
karaoke).
I player di File Midi leggono la sequenza di informazioni sonore contenute
nel file e demandano alla scheda audio del sistema ove sta girando il
MIDI, la riproduzione dei suoni, quindi la qualità audio non è legata al
contenuto del file MIDI ma alla qualità del sistema dove questo viene
letto.
57
I FORMATI VIDEO
FORMATI VIDEO & CODEC
Un file Video può essere realizzato in numerosissimi formati, ogni formato
può essere scelto per una specifica esigenza.
Esaminiamo 2 concetti fondamentali:
- Il formato Video
- Il codec Video
Utilizziamo la metafora di una automobile da corsa:
La carrozzeria è il formato Video e Il motore è il codec.
Quindi una macchina con carrozzeria Renault può avere il motore
Ferrari piuttosto che un motore Mercedes.
Un file AVI può essere codificato con il codec X o Y.
Un file MOV può essere codificato con il codec X o Y.
58
I FORMATI VIDEO
I FORMATI VIDEO PIÙ DIFFUSI
AVI (Audio Video Interleave) Utilizzato maggiormente per codifica di file
Video con alte compressioni.
MOV (Formato di Apple QuickTime) Utilizzato per codifiche di file con
basse comprensioni e rese qualitative altissime.
FLV (Flash Video) E’ diventato ormai lo standard per lo streaming, è il
formato utilizzato da YouTube
MPG (Moving Pictures Experts Group) Il formato più standard in
assoluto, MPG-1 (All Platform), MPG2 (DVD Video), MPG2 TS (TS =
Transport Stream, utilizzato per streaming IPTV) MPG3 (Audio File),
MPG4 (Video Alta qualità evoluzione del formato base di QuickTime, iOs,
ecc...).
59
I FORMATI VIDEO
I CODEC VIDEO PIÙ DIFFUSI
DivX ;-) = Il codec derivante dall’MPG4, il primo che ha permesso lo sblocco del
formato AVI trasformandolo in un vero e proprio contenitore multimediale, utilizzato
per lo scambio file su Internet.
H.264 = Compressione con algoritmo potentissimo, mantine la qualità altissima e
supporta l’opzione senza pedita di qualità.
Motion Jpg A/B = Codec di compressione utilizzato quando la qualità deve rimanere
molto alta, la decompressione è molto pesante per i Player, quindi si utilizza molto
spesso come semplice tramite per successive compressioni.
Sorenson = Oltre che un Codec è anche una delle più potenti Suite di Compressione
Video.
On2 = Codec utilizzato inizialmente nei File FLV, adesso è proprietà di Google.
3GP = Standard per la diffusione di formati Video su Telefonia mobile.
60
I.A.
INTELLIGENZA ARTIFICIALE
IL PRIMO PROGRAMMA DI INTELLIGENZA ARTIFICIALE:
PSEUDO CODIFICA
A = “ROBERTO”
>CHI E’ IL PIU’ FESSO?
B = <INPUT RISP>
IF A = B THEN
>BRAVO!!!! HAI INDOVINATO!
ELSE
>RIPROVA! NON E’ <B> IL PIU’ FESSO
61
I.A.
INTELLIGENZA ARTIFICIALE
1) Normalmente si parla di I.A. debole quando una macchina/software esibisce
un comportamento intelligente.
2) Si parla di I.A. forte quando una macchina/software esibisce
(o tende ad avere) una coscienza del sé“
Il secondo caso descrive una situazione assolutamente ideale, ancora irrealizzata
e verso la quale si può solo tendere, la prima si può raggiungere a volte con
estrema facilità.
62
I.A.
INTELLIGENZA ARTIFICIALE
L’INTELLIGENZA ARTIFICIALE
COME
UN DB DI …
ESPERIENZA COGNITIVA
Il comportamento della macchina diventa più intelligente se circostanziato ad un
sottoinsieme di elementi per i quali è chiamato a confrontarsi con il mondo
esterno.
MENO INFORMAZIONI POSSIBILI IN INPUT, MENO INFORMAZIONI
NECESSARIE NEL DB DI I.A. .
Il machine Learning come mezzo per far imparare la macchina dalle scelte/azioni
dell’uomo (es. Google, Deep Blu PC/Bot Scacchi Vs Kasparov).
63
I.A.
INTELLIGENZA ARTIFICIALE
Una delle applicazioni più interessanti
IL RICONOSCIMENTO VOCALE
La tecnologia ha fatto passi da gigante in questi ultimi anni arrivando a realizzare
engine di riconoscimento vocale molto potenti solo nei casi in cui almeno 1 delle
seguenti condizioni sia verificata:
1) si conosca il timbro vocale dell’interlocutore (Pre Vocal Training);
2) il sistema di risposta abbia un DB di esperienza cognitiva limitato (es. Rubrica
contatti del telefonino, elenco voci di prodotto a catalogo).
A oggi non esistono sistemi perfetti che possano essere identificati come
SPEAKER INDIPENDENT.
64
FINE
65