Oceani, laghi, fiumi, pozzanghere, paludi. Acque con più o meno gradi di purezza. Moti caotici, onde rifrattive, schizzi d’acqua ed animazioni complesse. Per i 3d game programmers la buona reallizzazione di fluidi è un importantissimo passaggio per la riuscita di un motore grafico. La complessità nella rappresentazione di bacini acquosi nasce con l’avvento della 3d graphic: i liquidi sono per definizione mobili e tendono ad occupare tutto lo spazio intorno a loro; oltre ad un problema grafico esiste quindi un problema dinamico, assente nella rappresentazione di terreni. Con questo breve articolo vediamo come gli sviluppatori hanno affrontato e cercato di risolvere questa affascinante sfida coadiuvati dall’evoluzione tecnologica.
Il primo esempio che riporto è Tomb Raider. Nel lontano 1996 l’acqua non era altro che una texture animata “incollata” a mesh piane. Niente di più semplice. La trasparenza era data dall’alpha blending delle texture e l’effetto finale era quello di macchioline bianche che si muovevano più o meno velocemente.
Nel 1997 un grande evento scosse il mondo videoludico: 3dfx produsse la prima scheda grafica 3d capace di apportare un’accelerazione treddì. E’ l’anno di Quake2 che, per il suo motore grafico, supportava le librerie OpenGL e Glide (le famose librerie proprietarie di 3dfx). Al contempo, però, per quanto concerne i fluidi passi avanti non furono registrati: la lava era sempre una texture animata su di un piano immobile.
Nel 2001 si iniziava a vedere qualcosa di nuovo con Splashdown, un giochino di moto d’acqua per Playstation2. Come potete vedere dallo screenshot l’acqua possedeva una certa dinamicità: la scia della nostra moto generava delle onde rappresentate da una reale modificazione della mesh.
Nel 2002 arrivava negli scaffali Neverwinter Nights supportato dall’Aurora engine. Questo motore grafico era uno dei primi a far uso dei pixel/vertex shader e verrà impiegato anche in Star Wars: Knight of the Old Republic ed il suo sequel. Grazie a effetti “per-pixel” i programmatori poterono far uso di tecniche quali bump mapping, specular highlights, alpha blending ed altri simpatici effetti.


Parlando di acqua, come si fa a non citare Far Cry? Impossibile. Nel tempo il motore grafico CryEngine, inizialmente compatibile con le directx8, subì vari upgrade e nelle sue ultime incarnazioni faceva uso della tecnologia HDRI – grazie al supporto delle directx9 e quindi dei pixel shader 2.0. Nello screenshot è possibile notare l’utilizzo dell’effetto Fresnel: l’acqua più vicina ci appare trasparente mentre quella lontana riflette l’ambiente circostante. Nello stesso periodo usciva Half-Life 2 che, con il suo source engine, ci regalava una splendida realizzazione di pozzanghere, fiumi e mari. Anche nel source engine l’acqua possiede il sopracitato fresnel effect.
La Lionhead diede alla luce nel 2005 Black and White 2. In questo progetto collaborava Fek, un nostro conpatriota che si occupava tra le altre cose dell’acqua. Notevole l’effetto, sia da una inquadratura ravvicinanta che da molto lontano.
Nel 2006 la critica venne positivamente scossa dagli splendidi paesaggi di Oblivion. Le immense colline riflesse nei suggestivi corsi d’acqua ed un oculato uso dell’HDRI creano quella calda atmosfera che chiunque abbia giocato ad Elder Scroll IV conosce. Il motore grafico sotto il cofano era il Gamebryo, un 3d engine cross platform utilizzato in molti AAA games.
Ci avviciniamo ai giorni nostri con un 2007 che ci ha regalato l’Unreal Engine 3, un motore grafico molto versatile e di grande impatto visivo. Vengono sviluppati con questo engine importanti titoli come Unreal Tournament III, Bioshock, Gears of Wars e molti altri, contemplando interessantissimi effetti particellari.
Ed arriviamo infine all’attuale stato dell’arte con, neanche a dirlo, Crysis es il suo Crytek engine. Gli screenshot che trovate qui sotto sono tutti ad impostazioni Very High e quindi in DirectX 10 + Pixel Shader 4. E’ proprio il caso di dirlo, dal primo Tomb Raider ad oggi di acqua sotto i ponti ne è passata un bel po’ (argh)!
Cosa ci riserva il futuro? Ciò che a noi oggi sembra “fotorealismo” tra qualche anno sarà già superato. Chiudiamo questo approfondimento con alcuni screenshot “mozzafiato” di Alan Wake, prossimo titolo full directx10 sviluppato da Remedy.
RSS














Puzzone, dove hai messo Wave Race 😛
E’ vero, mi è dispiaciuto anche non includere Surf’s up. Mi sarei infognato in mille altri titoli e probabilmente non sarei mai riuscito a finire l’articolo 🙂
:asd: io ricordo rimasi molto colpito dalle rifrazioni di Morrowind, mi pare ci fosse un opzione per attivare proprio gli effetti dell’acqua che a suo tempo mi colpirono davvero
bell’articolo, ben corredato e scritto bene.anche a me aveva colpito l’acqua di Morrowind..
Bell’articolo, il tema dell’acqua e’ sempre uno dei miei preferito, ma come gia’ detto avrei aggiunto qualche titolo, per quanto riguarda l’estetica morrowind assolutamente e per quanto riguarda la fisicita’ direi i wave race e mario sunshine.
Peccato che ancora non si siano ancora viste reali applicazioni di fisica dei fluidi in un videogioco.
Mercury?
si ineffetti si, anche se pensavo a qualcosa di meno denso 😀
Mi chiedo perchè non fare un bell’adventure con mostri marini e/o co.
Un giorno farò un articolo su tutti gli squali videoludici con una petizione a usarne di più.
Che diamine ne ho fin sopra le palle di foreste con ragni cinghiali e topi.
Voglio gli squali martello, i serpenti marini e i tentacol rapez
In Everquest 1, quello senza espansioni, c’era una zona completamente sott’acqua. Oltre alle difficoltà oggettive quali enduring breath, il problema principale era l’AI del pathfinding. Se per mostri terresti il pathfinding si fa bidimensionalmente, nell’aria e nell’acqua ci si può spostare in tutte e tre le dimensioni; succedevano quindi cose strane tipo squali martello di cui sopra che arrivavano a 10centimetri da te e poi tornavano nel loro spawn spot. O calamari giganti ad 1 metro di distanza che facevano il giro dell’oca percorrendo 25kilometri prima di attaccarti. Sto divagando.
Per non parlare delle goffe animazioni di combat sott’acqua…in pratica per fare un gioco anfibio bisogna lavorare per due.
Sinceramente con le attuali tecnologie non lo vedo così impossibile, insomma un sistema alla homeworld per dire riesce a gestire un 3rts nello spazio, perchè non un action subacqueo.
Insomma io a bioshock ci sono rimasto male, un ambientazione marina e MANCO un pezzo sott’acqua (apparte l’intro) o simili??? manco un granchietto al plasimde che ti morde il culo!?
Anch’io quando vidi Wave Race rimasi colpito, però guardare gli screenshot del gioco dopo tutti questi anni fa un certo effetto.
Per quanto riguarda Oblivion sono stato deluso dall’acqua e dal cielo, secondo me erano meglio quelli di Morrowind.
A ben vedere anche l’acqua di Splashdown mi sembra migliore di quella di oblivion, considerando che tra l’uno e l’altro sono passati 5 anni.
L’acqua in Super Mario 64 è parecchio migliore di quella in Tomb Raider e il gioco Nintendo è pure uscito prima 😉
Che ricordi i livelli sott’acqua di Mario 64 🙂
Tra i giochi che hanno reso bene l’acqua credo vada assolutamente menzionato Kameo dei Rare. Molte delle aree esplorabili, con laghetti e cascate mi lasciarono decisamente sbalordito.
I giochi che mi hanno stupito di più nel tempo sono stati Waverace 64 e, poi, Baldur’s Gate Dark Alliance..
lì era da tanto che non esclamavo “stiqatsee!”
http://it.youtube.com/watch?v=6SLoVtGBbFw
Io citerei anche RE4 per GC.
Probabilmente l’hanno giocato in pochi… ma imho andrebbe messa anche la splendida acqua di Silent Hunter 4.
http://www.winboard.org/forum/attachments/game-news/22561d1195482062-silent-hunter-4-u-boat-missions-800x600_cd03d912dd1c5fa53ac5648b0f7d4801.jpg
Il gioco in se è abbastanza buggato e forse il suo predecessore era leggermente meglio, ma la resa grafica dell’acqua imho è eccezionale.
Ottimo articolo!! =)
..come gioco, aggiungerei solo Expandable!
Ai tempi delle Matrox G400, con l’introduzione dell’Environment Mapped Bump Mapping, quel gioco aveva un’acqua spaventosa!!
http://www.techspot.com/reviews/hardware/millennium_g400/expen-on.jpg
Tutti questi commenti ci stanno ricordando che la storia dell’acqua è più lunga e contorta di quanto possa sembrare pensandoci con leggerezza 😀
Super Mario Sunshine, no?
“Super Mario Sunshine, no?”
Quoto, l’acqua di quel gioco (uscito ormai 6 anni fa) era davvero ben fatta e molto “umida”. 😀
Più dell’impatto estetico trovo interessante la gestione fisica e la contestualizzazione dell’acqua all’interno delle meccaniche videoludiche. Non solo pozzanghere più o meno grandi dentro le quali sguazzare ma elementi protagonisti del gioco. Per questo mi aspetto pochino da Alan Wake e molto da Hydrophobia e dal suo hydroengine che a tal proposito promette meraviglie.
Ho affrontato l’argomento delle superfici acquatiche in una specie di tesina che ho fatto per un corso di grafica e mi sono basato sui videogiochi. Devo dire che li hai citati più o meno tutti ed è davvero un gran bel tema per gli appassionati o anche solo per gli amanti dei videogiochi poiché l’acqua, dalle pozzanghere ai livelli acquatici veri e proprio, è sempre stato un po’ il punto su cui basarsi per verificare la validità della grafica di un gioco. Per intenderci, se un gioco ha una grafica bella ma l’acqua “fatta male” salta subito all’occhio e ci accontenteremmo piuttosto di una texture qua e la un po’ più “spalmata” piuttosto che di un mare che non si può guardare o di un lago che sembra fatto di cartone…
Bell’articolo, mi è piaciuto moltissimo.
Grazie Raiden, se ti è piaciuto questo articolo probabilmente apprezzerai anche il prossimo 🙂
Mi sono accorto solo ora che Mario Sunshine era già stato citato da Doomguy (Lollord)…
Vabbè niente di grave. 🙂
E’ stato citato anche (più che giustamente) Wave Race…
Davvero fantastica l’acqua di quel gioco, soprattutto per la sua “dinamica”.
Suppongo ci si riferisse sempre al gioco per N64.
Anche Wave Race Blue Storm (GC) è grandioso per lo stesso motivo… e più è brutto il tempo (ed agitate le acque) più e bello da vedere.