l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

40
l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA Pier Luca Lanzi

Transcript of l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Page 1: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA Pier Luca Lanzi

Page 2: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 3: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

sto giocando a … alcuni giochi a cui ho giocato di recente …

Page 4: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 5: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

http://www.facebook.com/polimigamecollectivehttps://twitter.com/@POLIMIGC

http://www.youtube.com/PierLucaLanzihttp://www.polimigamecollective.org

Page 6: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

c’era una volta …C’era una volta …

Page 7: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

CRC102A – Politecnico di Milano 1951

Page 8: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 9: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Tennis for Two (1958) - William Higinbotham - Brookhaven National Laboratory

Page 10: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Space Wars! (1961) - Steve Russell et al. - MIT

Page 11: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Space Wars! (1961) - Steve Russell et al. - MIT

Page 12: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Midway Sea Raider (1971)

Page 13: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Atari Pong 1972

Page 14: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Yars' Revenge (1982) – Howard Scott Warshaw – Atari 2600

Page 15: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

https://www.youtube.com/watch?v=pvjajVf3BEc

Yars' Revenge (1982) – Howard Scott Warshaw – Atari 2600

Page 16: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Hardware Atari 2600 •  CPU: 1.19 MHz MOS 6507•  GPU: risoluzione di 160 x 192 pixel ma raggiungibile solo con

tecniche di programmazione speciali.•  128 colori su schermo ma al massimo 4 per linea•  2 canali di suono a 1-bit e controllo di volume a 4-bit•  128 Byte di RAM•  ROM (cartuccia): 4 KB di capacita massima che potevano

diventare 32 KB con il bank switching

Page 17: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Pac-Man (1980) – Toru Iwatani - Namco

Page 18: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Hardware Pac-Man •  CPU: Zilog Z80 @ 3.072 MHz•  GPU: risoluzione di 224×288 con un frame rate di 60.61fps•  16KB ROM e 4KB RAM con 2KB di video RAM•  256 colori con 8-bit di cui solo 16 colori su schermo•  8 sprite su schermo, 64 sprite in moemoria, di 16×16 pixels e un

massimo di 4 colori per sprite

Page 19: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

GameplayIntelligenzaArtificiale

Interfaccia�Utente

Grafica(GPU)

Suono(codice)

Motore di Animazione

Motore�Fisico

GameLoop

Page 20: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 21: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

0

10

20

30

40

50

60

70

ODYSSEY

ATARI/

INTELLI

VISION

NES/MAST

ER SY

STEM

SNES/

MEGADRIV

E

PLAYS

TATIO

N

PS2/XBO

X/GC

XBOX360

/WII/P

S3

Page 22: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Prince of Persia (1989) – Jordan Mechner

Page 23: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 24: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 25: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

IntelligenzaArtificiale

Interfaccia�Utente

Suono(codice)

Supporto�Multigiocatore Rete

Rendering(GPU)

Motore di Animazione

Motore�Fisico

GameLoop

gameplayGame Engine

Page 26: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Quali sono state le conseguenze?

Page 27: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Downwell (2015) - Ojiro Fumoto

Page 28: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

La tecnologia è cambiata …

L’approccio allo sviluppo è cambiato …

E i problemi?

Page 29: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Vincoli Temporali •  Tipicamente un videogioco deve garantire almeno 30 frame per

secondo (30 fps)•  Un ciclo della game engine deve quindi occupare meno di 1/30 di

secondo in totale•  Tutta l’elaborazione della logica di gioco e della fisica (movimenti,

collisioni, ecc.) devono essere eseguiti in meno di 1/30 di secondo

•  E’ quindi necessario ottimizzare il codice al massimo per evitare qualsiasi spreco

Page 30: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

Quali Ottimizzazioni? •  Precalcolando tutto quello che è possibile

•  Utilizzando strutture dati per l’accesso allo�stato del gioco e a calcoli complessi (collisioni)

•  Non creando e non distruggendo nulla

•  Semplificando i calcoli matematici§ Precalcolando le funzioni trigonometriche§ Evitando funzioni costose come le radici quadrate§ …

Page 31: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 32: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 33: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 34: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 35: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 36: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 37: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA
Page 38: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

38

Page 39: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA

http://www.facebook.com/polimigamecollectivehttps://twitter.com/@POLIMIGC

http://www.youtube.com/PierLucaLanzihttp://www.polimigamecollective.org

Page 40: l'evoluzione dell'informatica nei videogiochi: da pong ai moderni AAA