Game Dev - 01:Intro - part II 18/9/2017
Marco Tarini 1
Quanto è «hard wired»
una feature di un video game?
A che livello è implementata?
nell HARDWARE
(es. nella GPU)
nel GAME ENGINE
nel codicedel video-game
in uno script
(o cmq pilotabile da un asset)
meno Hard-Wired più Hard-Wired
NOTA TERMINOLOGICA
Chi la può modificare?
Il vendor dell’HW
(> platform dependence!)
il dev del Game Engine
i programmatori del video game
gli artisti (es. i level designer);
i modders
Quanto è «hard wired»
una feature di un video game?
Hard-wired
> efficienza
> scalabilità
> riutilizzo
Non-hard wired
> mantenibilità
> customizzabilità
> flessibilità
NOTA TERMINOLOGICA
Game Dev - 01:Intro - part II 18/9/2017
Marco Tarini 2
Un concetto generale
che vedremo declinato in molti casi
ASSET
Prodotto in fase di sviluppo del gioco
« è designed »
« è scripted »
> qualità
(di solito) (è il prodotto di un artista)
> controllo
del digital artist
(efficienza tempo
FORSE)
PROCEDURAL
Prodotto da un algoritmo in fase di esecuzione
« è una procedura »
« è computato dinamicam. »
> variabilità
legata a “replayability”
> flessibilità
(poss. di adattam a situaz.)
(efficienza spazio
RAM, DISK…)
NOTA TERMINOLOGICA
VS
Procedural generation nei games
Livelli procedurali
Missioni procedurali
Terreni procedurali
AI procedurali
Boss procedurali
Scene procedurali
Modellazione procedurale
Tessiture procedurali
Animazioni procedurali (physics)
Musica procedurale
Elite, Acornsoft, 1984 Left 4 dead, Valve, 2008
Minecraft, Mojang, 2009 Rescue the beagles, 16x16, 2008
Shadow Over Mordor, Monolith Prod., 2014 Rogue, Michael Toy et al, 1980
Un roguelike
Game Dev - 01:Intro - part II 18/9/2017
Marco Tarini 3
«Baking»,
«Baked» / «Pre-baked»
NOTA TERMINOLOGICA
i.e. in the long term, in assets (otherwise, it’s caching)
often, (refined versions of) the ones normally done in real time
Storing for good the result of a computation, for later use
it: “cuocere (al forno)”
Gain:
• time (CPU /GPU load)
• almost total independence from computation complexity !
• less compromises, more quality
Pay with:
• space
(e.g. on Disk ,Ram ,GPU Ram)
• loss of flexibility
(all the parameters of the computation become fixed) note: several assets are
baked-something or have baked elements
baking :
Game assets!
(aka game contents)
3D data
models
textures
materials
shaders
animations
collision objects
scenes
etc
audio
music
sound fxs
ambient sounds
voice overs
etc
video
bakedcut-scenes, intros, etc
2D art
screen splashes
backgrounds
GUI / HUD elements
[ sprites & tile-sets ? ]
fonts
etc
text
dialogues trees
messages
translations
etc
etc:
scripts
stats
levels
etc
Game Dev - 01:Intro - part II 18/9/2017
Marco Tarini 4
3D Models i.e. tri-meshes with:
per vertex attrib
normals, color, AO, …
LODs
“uv-mapping”
keyframes
cyclic animations
face-morphs, …
“skinning”
Materials
lighting model stats / flags
textures
RGB maps
normal maps
alpha maps …
shaders
vertex, fragments, …
La parte 3D dei game assets
Animations
blend shapes
skeletal animations
kinematic animations
geometry caches
skeletons (rigs)
Geometric proxies
hit-boxes
bounding objects
AI-meshes
Particle systems
Environments
scene-graphs
skydomes
2.5D terrains