…come direbbe qualcuno al mio posto: Salve!
Siamo così giunti al capitolo secondo di questo incredibile viaggio al centro della… ehm… viaggio alla scoperta del fenomeno Quake!
Dopo l’introduzione doverosa del capitolo precedente, cominciamo ora a focalizzare la nostra attenzione su quello che, diciamo la verità, è uno dei motori 3D più all’avanguardia, e cerchiamo di capire meglio cos’ha di così speciale da essere considerato il punto di riferimento per il futuro dei giochi in tre dimensioni (so già che qualcuno dirà: ma è già uscito Quake 2!… sì, ma cos’è cambiato? quasi niente…).
Innanzitutto, per poter comprendere quello che seguirà è necessario avere un minimo di conoscenza di grafica tridimensionale su computer, quindi per chi avesse bisogno di un’infarinatura generale veloce veloce eccovi qui un bell’iperlink a Fondamenti di Grafica tridimensionale su Personal Computer (Però, sembra serio…).
———————————————————————-
Dunque, dando per scontato che se state leggendo qui sapete tutto di grafica 3D (soprattutto se avete letto il mio manuale di 3D in dodici lezioni), vi dirò che l’universo di Quake, essendo realmente 3D, si comporta in tutto e per tutto come qualunque altro sistema di rappresentazione tridimensionale, quindi è composto da poligoni fondamentali più o meno complessi intersecati gli uni con gli altri per creare quelle belle architetture che noi tutti abbiamo ammirato nei livelli di questo futile sparatutto.
Questi poligoni fondamentali vengono chiamati Brush, e sono poligoni convessi composti da un qualunque numero di facce: l’importante è che siano convessi, non sono ammessi poligoni concavi. Per ottenere un poligono concavo in Quake, è necessario scomporre l’oggetto dei desideri in più poligoni minori convessi, e combinarli in modo da formare poi un unico grande poligono concavo (i mattoncini lego di una volta erano unità fondamentali, convesse, che però una sull’altra potevano creare grosse figure geometriche concave così come qualunque altra cosa venisse in mente… ora con quattro pezzi hai già le pareti di una casa, ma questa è un’altra storia…).
Fin qui niente di strano: qualunque struttura fisica in Quake è composta da poligoni elementari combinati tra loro su cui viene poi dipinta un’immagine (chiamata Texture), per aggiungere realismo all’ambiente (un solo colore per faccia infatti basterebbe per dare l’idea della profondità, ma saprebbe un po’ di “plastica”). C’è poi anche l’illuminazione che aggiunge atmosfera, ma di questo parleremo nei prossimi articoli…
Ora subentra Quake vero e proprio però, perché sappiamo benissimo che il mondo di Quake è “popolato”, è “vivo”, quindi semplici poligoni combinati non spiegano come si possano trovare porte, trappole, mostri, interruttori, e tutto ciò che interagisce attivamente o passivamente con l’ambiente circostante.
Infatti non sono i poligoni a spiegare questo, bensì una parola (e il concetto che le sta dietro): Entity.
Un’entità è esattamente quello che dice la parola stessa, cioè un qualcosa, o qualcuno se vogliamo, che vive di vita propria, ha una serie di comportamenti, una serie di istinti, una serie di reazioni, è una forma di vita più o meno elementare (nonché virtuale, ovviamente).
In Quake, qualsiasi abbia un comportamento, attivo o passivo, è infatti un’entità. I mostri sono ovviamente entità (e sono quelle più intelligenti), ma non solo: le porte sono entità (si muovono no?), gli interruttori sono entità (si schiacciano no?), le trappole di qualunque tipo sono entità (fanno male no?), gli oggetti (si raccolgono no?), le armi (si usano no?), le luci (si accendono e spengono no?), e tutto ciò che è “animato” o che comunque “reagisce”.
Questo, ovviamente, è solo di Quake, perché qui non si tratta più di modellazione 3D, questo è il vero e proprio motore, un motore composto fondamentalmente da due soli grandi elementi: Brush ed Entity, che lavorano in simbiosi per creare tutto ciò che vediamo rappresentato sullo schermo.
I Brush e le entità, infatti, sono sempre strettamente correlati. Le
Entità possono essere associate a gruppi di Brush, in modo da creare qualcosa che ha un comportamento (dettato dall’entità) ed ha anche una sua fisicità (grazie ai Brush). Un’entità infatti è qualcosa di astratto, qualcosa che prende forma solo grazie ai Brush. Potremmo dire che i Brush sono il corpo, e l’Entità è la mente. La mente senza un corpo non può fare nulla nella realtà concreta, ed un corpo senza mente è materia inerte (Hei, e il Kharma dove scorre?…).
Un muro, una parete, un arco, è solo un gruppo di poligoni, quindi un corpo inerte anche se solido… una porta invece è qualcosa di vivo ed allo stesso tempo reale, perché ha un’entità che detta il comportamento, ed un gruppo solido di Brush che le dà forma (infatti se la porta è chiusa non si passa no?). Lo stesso vale per le trappole, per i mostri, per gli oggetti, per le armi, e tutto ciò che dà vita a Quake.
Un livello intero di Quake, infatti, è in realtà una sola grande entità, che praticamente è l’intero universo rappresentabile.
All’interno di questa grande entità ci sono tanti gruppi di poligoni che formano lo scheletro del livello e tante sottoentità che si muovono e interagiscono tra di loro per creare l’azione che il giocatore richiede. E’ come un corpo umano, sostanzialmente: una grande mente centrale (come quella che sta scrivendo questo articolo e quella, inferiore, che lo legge… Eh eh eh!) che governa un grande corpo (beh… dipende!) composto a sua volta da strutture statiche (le ossa ad esempio, o anche il cervello, in alcuni casi… Eh eh eh di nuovo!) e strutture dinamiche (muscoli, organi interni, organi maschili… Eh eh eh ancora! …e così via), oltre ad una serie di sottocomportamenti (gli istinti, i riflessi nervosi, gli impulsi omicidi…) che potrebbero essere considerati entità minori, e più elementari, che vivono in armonia con il resto del “mondo” (in questo caso la totalità della persona, corpo e mente).
Semplice no? Semplice e potente… una bella dimostrazione di professionalità da parte della Id vero? In effetti è un ottimo progetto, un modo di vedere e rappresentare le cose molto vicino alla realtà, aperto e versatile… con questa filosofia è possibile fare davvero molto con il motore di Quake, basta un pizzico di ingegno in più e si possono anche fare cose che alla Id non si sognavano nemmeno quando hanno prodotto Quake (Cos’è, una sfida?…. Si!).
———————————————————————-
Ok, siamo giunti alla fine di questo capitolo. Nel prossimo entreremo più in dettaglio nel discorso, guardando come queste informazioni vengono memorizzate, come vengono create e quindi come possiamo poi noi, con la nostra immancabile modestia, aspirare a creare un nostro mondo virtuale, un Quake tutto nostro, per poi divertirci o fare divertire i nostri amici (o amiche, che è meglio, così poi dopo… Eh eh eh finale…).