Un po’ di terminologia

Prima di entrare nel mondo dello sviluppo dei videogiochi è necessario familiarizzare con la terminologia che andremo ad adottare. L’evoluzione dei videogiochi ha seguito di pari passo la crescita e la diffusione dei computer. Si va dai primi giochi degli ultimi anni 70 che giravano su hardware molto limitati, con pochi Kbyte di memoria RAM, processori a 8 bit e velocità di clock inferiore al MHz e capacità di calcolo dell’ordine dei kIPS (thousand instructions per second o migliaia di istruzioni al secondo) sino ai giorni nostri con risorse hardware sufficienti a creare realtà virtuali tali da fornire ambientazioni di gioco realistiche.

Con l’evolversi dell’hardware abbiamo quindi assistito al passaggio dei giochi dal 2D al 3D. Per 2D e 3D si intende la prospettiva del giocatore nel gioco detta anche Visione Di Gioco.
Fondamentalmente nei giochi 2D si ha una visione laterale o dall’alto dell’ambiente, come se si vedesse cosa sta accadendo da bordo campo o (Side View) da una telecamera posta in alto (Top View). Esempi tipici di giochi 2D sono i classici della storia dei videogame quali Super Mario, Pac Man o Donkey Kong.


Donkey Kong Nintendo 1981

In 3D invece si ha una visione prospettica del mondo virtuale all’interno della quale è immerso il giocatore. Altra caratteristica dei giochi 3D è che il punto dal quale si osserva la realtà può assumere una posizione qualsiasi e variare con fluidità durante il gioco stesso. Tutti gli ultimi grandi titoli del mondo dei videogame sono giochi in 3D.

Doom Id Software 1993

Tra i giochi 2D e 3D si collocano i giochi con prospettiva isometrica. La prospettiva isometrica è a tutti gli effetti un insieme di proposizioni e di procedimenti matematico-geometrici attraverso cui un gioco sviluppato in metodologia 2D da un’ impressione di tridimensionalità al gioco. E 'usato frequentemente, soprattutto nelle console portatili come il Nintendo DS o nei giochi per cellulare, poiché con questa vista è possibile ottenere, con dei trucchi grafici un ambiente tridimensionale, riducendo però il lavoro di programmazione e di grafica richiesto da un gioco in 3D.

Zaxxon SEGA 1982


Quindi una prima classificazione dei giochi può essere fatta in funzione della prospettiva del giocatore: 2D, Isometrici e 3D.

Per quanto riguarda invece il coinvolgimento del giocatore abbiamo due modalità la prima persona e la terza persona.

In prima persona l’ambiente di gioco è visto dal punto di vista del personaggio del gioco. A volte sono visibili le mani del personaggio stesso e le armi, ma non è quasi mai interamente visibile. Gli sparatutto alla Quake e Doom ne sono tipici esempi.

In terza persona il personaggio di gioco e sempre visibile sullo schermo. Generalmente i giochi 2D e gli isometrici sono giochi in terza persona.

Così come i film anche i giochi possono essere caratterizzati in base al genere.

Azione – I giochi d’azione sono basati su oggetti in rapido movimento da evitare, catturare o distruggere e richiedono riflessi e coordinazione occhio mano più che strategia per essere giocati. Lo scopo è di ottenere un punteggio quanto più elevato possibile mentre la difficoltà aumenta di livello in livello.

Avventura - Spesso confusi con giochi di ruolo, i giochi di avventura permettono di controllare un personaggio che si muove in un modo virtuale all’interno di una storia. Richiedono una combinazione di abilità e riflessione per superare gli ostacoli dei singoli livelli.

Educational - In gioco educativo hanno come obiettivo quello di educare o istruire il giocatore. Sono dedicati hai più piccoli ma possono essere usati per toccare temi di attualità, o sensibilizzare il pubblico verso problematiche quali la tutela dell’ambiente.

Sparatutto in prima persona - (in inglese first person shooter FPS) In questo tipo di gioco il giocatore si identifica in un personaggio con i cui occhi vede l'azione, in una ripresa in soggettiva. Tipicamente l'azione in questi giochi ha la precedenza sulla storia. Essendo giochi d’azione anche qui sono richiesti riflessi e abilità.

Piattaforme e Puzzle - per piattaforma si intende la lunga serie di impalcature, ponti, burroni, scale, trampolini ecc. che il personaggio deve attraversare, in scorrimento orizzontale da sinistra a destra e/o orizzontale dal basso in alto. Mario Bros è un tipico esempio di platform game. Nei puzzle si devono incastrare pezzi tra di loro come nel classico Tetris.

Sportivi – I giochi sportivi sono giochi d' azione con le regole che imitano quelli di uno sport vero. Gli sport possono essere individuali, nei quali il giocatore impersona sempre lo stesso personaggio, o collettivi, dove il giocatore si identifica con i vari componenti della sua squadra e le sue competenze passano da un giocatore all'altro a seconda di quale è in possesso di palla. Particolari sono i giochi sportivi multi giocatore e quelli che utilizzano i campioni e le squadre dei campionati reali. Tipico esempio di questo gioco è PES.

Giochi di ruolo - (in inglese RPG ) Un RPG è un gioco in cui il giocatore controllare un personaggio che si muove in un ambiente virtuale. In questo ambiente si incontrano altri personaggi, di fantasia o reali, e si è in grado interagire con loro. A seconda delle azioni e delle scelte, gli attributi del personaggio (come capacità di combattimento, poteri magici, agilità, denaro) aumentano o diminuiscono. In questi giochi la componente narrativa è molto sviluppata ed è predominante sugli altri aspetti.

Strategia – (in inglese RTS real time strategy) più che un genere di gioco si tratta di una modalità ludico-narrativa, per la quale il giocatore deve svolgere una serie di operazioni complesse, che a volte richiedono anche lunghi tempi di attesa. Sono giochi in cui i progressi del giocatore sono proporzionali al tempo che viene speso per giocare, nonché alla continuità di gioco. Rientrano nei giochi di strategia i God Game, in cui il protagonista può essere il sindaco di una città, il manager di una società, o il comandante di una flotta astrale. Tipici esempi di giochi di strategia sono Sim City o Civilization.

Giochi d’azzardo - Uno dei generi più popolari nel web. Al pari della realtà non richiedono alcuna abilità, ma una buona dose di fortuna.

Simulazione – sono giochi di volo, guida ecc., con una perfetta attenzione alla riproduzione realistica.

Picchiaduro - (in inglese Beat'em all, “colpiscili tutti”) sono giochi di combattimento in cui si impersona un guerriero (uomo, donna, mostro, alieno, cyborg ecc.) che si batte contro altri giocatori o contro il computer in scenari disparati.

Infine ecco una lista di alcuni termini comunemente usati nello sviluppo dei videogame.

Sprite – Lo sprite è una figura bidimensionale che può essere spostata rispetto allo sfondo. Gli sprite sono fondamentali per l'animazione dei giochi 2D e vengono usati anche nei giochi 3D, soprattutto nei più vecchi: ad esempio in Doom per rappresentare i nemici. Negli anni ottanta, quando i processori non erano abbastanza potenti per gestire gli sprite, molti computer, ad esempio gli Amiga, avevano dei chip grafici che potevano eseguire lo spostamento e l'intercettazione delle collisioni senza l'intervento del processore. Gli sprite venivano realizzati sovrapponendo in modo hardware un'immagine bidimensionale allo sfondo preesistente. La conseguenza era che le due componenti restavano completamente indipendenti e lo sprite poteva essere spostato a piacimento sullo schermo senza bisogno di disegnare niente col processore. A questo vantaggio (per i tempi) non indifferente, si contrapponevano le limitazioni dei chip grafici che imponevano agli sprite di essere piuttosto piccoli (poche decine di pixel di lato), a volte monocromatici, e in numero limitato (tipicamente 8 o 16).

Texture - Il texture mapping in computer grafica è un metodo per aggiungere dettagli, un'immagine di superficie o un colore ad immagini generate al computer o ad un modello 3D. Una texture è un'immagine bidimensionale (sprite) che viene riprodotta su una o più facce di un modello poligonale tridimensionale. Le texture sono usate in qualsiasi caso di modellazione 3D che richieda un dettaglio visivo e i colori o disegni sulle superfici, come nei videogiochi, nell'animazione 3D o negli effetti visivi dei film. La texture rende il modello più realistico, inoltre la sovrapposizione di più texture è utilizzata ad esempio per dare degli effetti speciali ai modelli tridimensionali come luce e nebbia. [1]

Rendering – Il rendering identifica il processo di "resa" ovvero di generazione di un'immagine a partire da una descrizione matematica di una scena tridimensionale interpretata da algoritmi che definiscono il colore di ogni punto dell'immagine digitale. La descrizione è data in un linguaggio o in una struttura dati e deve contenere la geometria, il punto di vista, le informazioni sulle caratteristiche ottiche delle superfici visibili e sull'illuminazione.[1]

Grafica raster - Il termine raster (trama, reticolo, griglia, rasta) ha origine nella tecnologia televisiva analogica, ovvero dal termine che indica le righe orizzontali (dette anche scan line) dei televisori o dei monitor. Nella grafica raster l'immagine viene vista come una scacchiera e ad ogni elemento della scacchiera, chiamato pixel, viene associato uno specifico colore. L’accostamento dei pixel colorati forma l’immagine. I dati raster possono essere memorizzati attraverso tipologie di file che sfruttano algoritmi di compressione diversi, gravando in modo differente sul supporto di memorizzazione. I formati raster più comuni sono i seguenti:

Non compressi: raw e bmp Questi formati di file hanno richieste di elaborazione minima, non essendo necessari algoritmi di compressione (in fase di scrittura) e decompressione (in fase di lettura), tuttavia, mancando di compressione, risultano particolarmente voluminosi, in termini di spazio occupato su disco (o altro dispositivo di memorizzazione), rispetto agli altri formati. Con compressione lossless: png, tga, tiff, gif Le immagini salvate con un algoritmo di compressione dati lossless occupano meno spazio nei dispositivi di memorizzazione, mantenendo inalterata tutta l'informazione originale

Con compressione lossy: jpeg Le immagini memorizzate con un algoritmo di compressione lossy subiscono una perdita di informazione; pertanto questa tecnica non è adatta per salvare le immagini che vengono rielaborate coi programmi di fotoritocco (le continue modifiche comporterebbero un progressivo degrado dell'immagine ad ogni salvataggio e riapertura); invece, in virtù delle ridotte dimensioni del file, sono particolarmente indicate per la trasmissione di immagini o per ridurre le dimensioni di un'applicazione o di un prodotto da distribuire. [1]

Grafica vettoriale - Nella grafica vettoriale un'immagine è descritta mediante un insieme di primitive geometriche che definiscono punti, linee, curve e poligoni ai quali possono essere attribuiti colori e anche sfumature. Il vantaggio di questo tipo di grafica è che è indipendente dalla risoluzione e è possibile effettuare zoom, rotazioni e altre trasformazioni sull’immagine senza che questa perda di definizione.

FPS - La frequenza dei fotogrammi (in molti contesti riportato in inglese frame rate) è la frequenza di cattura o riproduzione dei fotogrammi che compongono un filmato. Un filmato, o un'animazione al computer, è infatti una sequenza di immagini riprodotte ad una velocità sufficientemente alta da fornire, all'occhio umano, l'illusione del movimento. La frequenza dei fotogrammi viene misurata in hertz (Hz), nei monitor a scansione progressiva, oppure espresso in termini di fotogrammi per secondo (fps). Il frame rate minimo di un filmato, affinché l'apparato visivo umano non percepisca sfarfallii e artefatti, si attesta sui 30 fps (30 Hz), ma può anche essere superiore per gli oggetti che si muovono molto veloci sullo schermo o inferiore.

Multiple Buffering – Il multiple buffering è una tecnica utilizzata per garantire la generazione fluida e costante di un elevato numero di fotogrammi al secondo. Le immagini in movimento sono costituite da una sequenza di fotogrammi generati molte volte al secondo. Ogni fotogramma viene inviato allo schermo in una finestra di memoria detta frame buffer. La tecnica del multiple buffering fa uso di due o più finestre di memoria separate. La finestra visualizzata non è mai quella che viene modificata. Tutte le operazioni di disegno vengono effettuate nella finestra nascosta, e solo quando queste ultime sono concluse, la finestra nascosta vene mostrata divenendo la finestra attiva. Questa scambio avviene normalmente in coincidenza del refresh del video facendo si che le immagini in movimenteo non presentino quel fastidioso effetto detto sfarfallio.

Z-Buffering – Nella grafica computerizzata tridimensionale, lo z-buffering è una tecnica di gestione della coordinata corrispondente alla profondità di un oggetto a livello di singolo pixel. Solitamente viene realizzata dall'hardware, ovvero dalla scheda grafica, che deve essere dotata di un'apposita area di memoria detta z-buffer; tuttavia, può avere all'occorrenza anche un'implementazione totalmente software. Lo z-buffering è una delle strategie possibili per risolvere il problema della visibilità nel rendering tridimensionale, ovvero per stabilire quali parti degli oggetti sulla scena siano visibili e quali siano invece nascoste da altri elementi in primo piano. Nonostante sia una tecnica piuttosto semplice (e lenta), è tuttavia sfruttata nella maggior parte dei motori grafici 3D commerciali. Stabilire per tempo quali oggetti siano da visualizzare (temporal coherence) può incrementare notevolmente le prestazioni in quanto ciò consente di ottenere una maggiore efficienza evitando operazioni di rendering inutili. Alcune tecniche (come il tile based rendering) cercano di anticipare lo z-buffering nella pipeline 3D in modo da ottenere una maggiore efficienza.

Algoritmo del pittore - L'algoritmo del pittore, conosciuto anche come riempimento prioritario, è una delle soluzioni più semplici al problema della visibilità nella computer grafica. Quando si rappresenta una scena tridimensionale su un piano bidimensionale è necessario decidere quali poligoni sono visibili e quali saranno nascosti. Il nome dell'algoritmo si riferisce al semplice metodo usato dai pittori che disegnano prima le parti distanti delle scena e poi le ricoprono con le parti più vicine. L'algoritmo del pittore ordina tutti i poligono nella scena per la loro profondità e successivamente li disegna in ordine. In questo modo le parti nascoste saranno ridipinte con le parti visibili, a scapito del costo di dover ridisegnare delle aree della scena.

Mesh - Una mesh poligonale, anche detta maglia poligonale, è una collezione di vertici, spigoli e facce che definiscono la forma di un oggetto poliedrico nella computer grafica 3D e nella modellazione solida. Le facce consistono solitamente di triangoli, quadrilateri od altri semplici poligoni convessi, dal momento che ciò semplifica il rendering, ma possono essere composti anche da poligoni concavi più generici, o poligoni con buchi. Le mesh sono primitive grafiche che consentono di risolvere con grande efficienza i procedimenti di visualizzazione delle forme modellate: sono strisce di triangoli o maglie di quadrilateri con cui rappresentiamo un poliedro qualsiasi o con cui approssimiamo superfici curve. L'unità base di una mesh è il voxel, ovvero pixel di volume: nella modellazione geometrica per suddivisione spaziale si suddivide il volume che contiene l'oggetto che si desidera modellare in una griglia tridimensionale di posizioni e in ogni posizione si determina la presenza o assenza di materiale. Una mesh poligonale è composta da diversi elementi: vertici, spigoli, facce, poligoni e superfici. In molte applicazioni vengono memorizzati solo i vertici, gli edge e le facce.Un vertice è una posizione nello spazio e ha informazioni relative al colore, al vettore normale e alle coordinate della texture.Un edge è una connessione tra due vertici. Una faccia è un insieme di punti nello spazio racchiuso tra edge (spigoli). Un poligono è un insieme di facce. La maggior parte dell'hardware che esegue il rendering supporta facce con 3 o 4 spigoli.

Alcuni formati di file che memorizzano informazioni sulle mesh sono i seguenti:
 .blend (Blender file)
 .FBX .3DS (Autodesk 3ds Max file)
.DAE (COLLADA - COLLAborative Design Activity)
 .DXF (AutoCAD DXF - Drawing Interchange Format, or Drawing Exchange Format)
 .OBJ (Wavefront .obj file)
 .PLY
 .STL
 .VMRL
 .X3D
 .C4D
 .OFF

Particle Systems - Il termine Particle Systems si riferisce ad una tecnica di computer grafica che utilizza un gran numero di piccoli sprites o altri oggetti grafici per simulare certi tipi di fenomeni "fuzzy", che risultano altrimenti molto difficili da riprodurre con tecniche convenzionali di rendering - Sistemi altamente caotici, fenomeni naturali, esplosioni o reazioni chimiche. Esempi di tali fenomeni che vengono comunemente riprodotti utilizzando i sistemi di particelle comprendono incendi, esplosioni, fumo, acqua in movimento (come una cascata), scintille, foglie che cadono, nuvole, nebbia, neve, polvere, code di meteore, stelle e galassie, o effetti visivi atsratti come piste incandescente, incantesimi, ecc. Tutti questi usano particelle che si dissolvono rapidamente e vengono poi ri-emessi dalla sorgente dell'effetto. Un'altra tecnica può essere utilizzata per le cose che contengono molti fili - come le pelliccie, i capelli, e l'erba.

Nessun commento:

Posta un commento