Nota. Questa pagina sarà più che altro teorica con riferimenti alle prossime pagine o tutorial che popoleranno il sito.
Quando creiamo un gioco dobbiamo anche tenere conto, anticipatamente, che “deve riuscire a girare nella maggior parte di computer possibili”, questo vuol dire che se io ho un pc di 5 anni il gioco potrebbe non girare perchè la mia scheda grafica è insufficiente. Infatti per fare un video gioco, almeno in modo amatoriale (come si prefissa di essere questo sito), non serve una macchina potentissima. Per fare fronte però al problema del pc del nostro amico che è datato, “dobbiamo dare dei tagli alle risorse”, per risorse si intendono tutte le parti di cui il gioco è formato (in inglese è asset) che vanno dai modelli alle texture fino agli script. Per questo bisogna bilanciare diversi ‘parametri’ del nostro gioco. Per farlo dobbiamo tenere d’occhio alcuni numeri, vediamo di cosa si tratta.
Il conto dei poligoni
Nella barra in alto nella parte destra, dopo il logo e versione di Blender, vi sono una serie di numeri che ci indicano, in ordine da sinistra :
- Verts è la somma di tutti i vertici di tutti gli oggetti della scena, minore è il numero più fluido è il gioco.
- Faces le facce di tutti gli oggetti.
- Tris i triangoli, che sono la suddivisione delle facce.
- Object gli oggetti nella scena.
- Lamps le lampade nella scena.
- Mem è la memoria occupata.
- L’ultimo parametro è l’oggetto attivo, che in una selezione multipla è l’ultimo che è stato selezionato.
In questo caso bisogna cercare di mantenere basso il numero dei poligoni, o dei vertici.
Le Texture
In un gioco le texture (le immagini dei modelli) sono oramai una parte importantissima, da loro dipende il risultato grafico del gioco, ma se esageriamo possiamo limitare la distribuzione (anche gratuita) del nostro gioco ai soli possessori di super pc. Considerando che le texture devono avere delle dimensioni ben specifiche, in questo caso si usano i multipli di 2 (8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 pixel), ma per mantenere il gioco fluido bisogna seguire semplici regole, come, mantenere il numero più basso possibile, cercando di usare texture da 512×512 per tutti gli oggetti che il giocatore non vedrà da vicino (se si pensa ad un FPS); 1024×1024 per quelle texture che devono avere più dettagli; 2048×2048 per gli oggetti molto grandi (come i terreni). Si possono usare anche misure più grandi, ma è meglio cercare di tenersi dentro i 2048 massimi. Molti effetti che si vedono sono dovuti alla sovrapposizione di diversi tipi di texture che verranno elencate in un tutorial.
LOD – Level of Details – il livello del dettaglio
E’ una tecnica che mischia logica di gioco con modelli dello stesso oggetto ma con meno poligoni, gli oggetti lontani avranno dei dettagli minori di quelli che abbiamo davanti, per intercambiare i modelli si usa il LOD di Blender.
Le Luci
L’illuminazione è cruciale per enfatizzare gli effetti visivi, ma posizionare tante luci non sempre è la soluzione migliore. Blender funziona al meglio con un massimo di 10 lampade, potete metterne di più ma per una migliore fluidità del gioco è meglio stare bassi. Ci sono vari metodi per cui è possibile che quando il player è lontano le luci vengano completamente eliminate dal livello, per poi riapparire quando il player è nelle vicinanze. A tale proposito verrà fatto un tutorial specifico.
Calcolo delle collisioni fisiche
Di sicuro nella scena ci sono tanti oggetti di diverse dimensioni e ognuno ha una fisica iniziale che di solito è di tipo Static, quello di default, che è il più comune per gli oggetti scenici. Non con tutti gli oggetti si entra in collisione, magari alcuni si trovano in aree dove il player non arriverà mai, questo dipende da come abbiamo impostato il livello di gioco, ma in linea generale molti oggetti di scena non hanno bisogno di una fisica per collisioni, quindi cambiando la tipologia, per esempio da Static a No Collision, dal menù delle opzioni della fisica degli oggetti, gli oggetti con questa tipologia non saranno calcolati per la collisione con il player quindi saranno solo renderizzati, con tale sistema si possono posizionare oggetti scenici più piccoli, come gli oggetti su una scrivania per esempio.
Un’altro sistema è quello di ridurre, su un oggetto complesso, i poligoni che il motore deve calcolare per le collisioni, usando un tipo Static e cliccando sulla tab Collision Bounds si può attivare un box per le collisioni di vario tipo, in modo da ridurre il carico al motore di gioco per il calcolo delle collisioni.
Queste sono solo alcune delle tecniche che verranno spiegate in alcuni tutorial, mentre nelle pagine a seguire vi saranno solo le opzioni a completare il manuale.