16. 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
18. 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
28. La tecnologia è cambiata …
L’approccio allo sviluppo
è cambiato …
E i problemi?
29. 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
30. 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
§ …