Come funziona la distruzione procedurale nel simulatore di supereroi Megaton Rainfall per PS4, disponibile da oggi

1 0
Come funziona la distruzione procedurale nel simulatore di supereroi Megaton Rainfall per PS4, disponibile da oggi

Scopri di più sulla spettacolare tecnologia alla base dell'epico titolo d'azione di Pentadimensional Games

Erano le vacanze del 2012. Me ne stavo seduto sul divano con il portatile sulle ginocchia e giocavo a una delle prime versioni di Megaton Rainfall (che al tempo non aveva ancora un nome).

Sullo schermo stavo visualizzando una simulazione del crollo di edifici che dipendeva da dove li colpivi. Era davvero stupenda! Ricordo distintamente che pensai “Oddio, è troppo fico!” e decisi di terminare completamente il gioco, anche se per farlo dovetti licenziarmi).

Anche a me, come a tutti del resto, piacciono i filmoni di Hollywood pieni di esplosioni. C’è un aspetto delle esplosioni cinematografiche che supera nettamente quello delle loro controparti videoludiche: la maggior parte delle esplosioni dei videogame non sono procedurali.

Di conseguenza, se per esempio una casa viene colpita da un lanciarazzi ed esplode, al momento della detonazione il modello grafico “casa” viene sostituito dal modello “casa distrutta” e viene aggiunto un effetto particellare (fuoco, fumo e macerie). Il problema è la mancanza di continuità. Si nota il taglio, il cambiamento brusco che avviene nel primo frame dell’esplosione: non si ha la sensazione che la casa stia davvero esplodendo. Inoltre, la “casa distrutta” non ha un foro in corrispondenza del punto esatto in cui è stata colpita dal razzo, perché è stata disegnata da un artista che non sapeva da dove sarebbe arrivato il missile…

Una soluzione? Avere una “casa tagliata”, suddivisa in una grande quantità di frammenti, in memoria; al momento dell’esplosione, iniziare a utilizzare quel modello, agendo solo sui pezzi più vicini al centro dell’esplosione. Tuttavia, se il game designer fosse un folle anticonformista che progetta esplosioni pazzesche di giganteschi grattacieli in affollate metropoli di oltre 500 chilometri quadrati, la memoria non basterebbe mai e si esaurirebbe in un lampo!

A partire da queste considerazioni sono state forgiate le due “brillanti” idee che rendono possibili le esplosioni procedurali di Megaton Rainfall (a 60 FPS e con rendering stereo/VR).

E pensare che, se solo potessi inviare questo articolo al me stesso del 2012, mi risparmierei un sacco di tentativi andati a vuoto).

Idea 1: A snapshot of the building pre-explosion

Prima idea: al momento dell’esplosione il motore grafico scatta una foto della casa riproducendo l’angolazione della telecamera in quel momento. Sì, avete capito bene: una foto, un’immagine bitmap. Dopodiché, genera un effetto particellare che riempie lo spazio della zona esplosa e applica la foto alle particelle, come una texture; in questo modo, per la telecamera, il primo frame dell’esplosione è esattamente identico a quello precedente. Continuità? Ce l’abbiamo! Potete seguire ogni dettaglio dell’esplosione con i vostri occhi finché non viene disperso nel vento. Inoltre, le particelle sono semplici elementi 2D accelerati graficamente: la PS4 è in grado di elaborarne una miriade senza batter ciglio… La sensazione finale è straordinaria. Per come la vedo io, nessun altro gioco è in grado di gestire le esplosioni come Megaton Rainfall.

Idea 2: Have two versions of each building and switch between them quickly

Seconda idea: dato un edificio e la posizione di un’esplosione, come generare la versione “distrutta” dell’edificio, comprese le pareti interne più spesse? Il trucco è quello di creare una versione di “carta” dell’edificio (vale a dire, con pareti senza spessore) invisibile al giocatore e una versione “gonfiata”, cioè quella visualizzata a schermo con le pareti spesse. Il motore ha la caratteristica di saper “gonfiare” molto velocemente le pareti del modello di “carta”: quando si verifica una nuova esplosione, la versione “gonfiata” viene scartata, rimuoviamo i triangoli del modello di “carta” accanto all’esplosione (aggiornando la versione di “carta”) e rigeneriamo la versione “gonfiata” sulla base di quella di “carta.

Infine, aggiungiamo fuoco, fumo, scintille, onde d’urto, povere vittime e mobilio… et voilà! Esplosioni procedurali al vostro servizio (le uniche limitazioni: il fuoco viene visualizzato solo in notturna per una decisione artistica; mentre le persone vengono visualizzate solo lontano dalla telecamera perché volevamo evitare la classificazione PEGI 18).

Ci sono tantissimi altri tipi di esplosioni in questo gioco, ma purtroppo questo post ha un limite di parole. Ehi, ma ora che ci penso… non ha alcun limite di GIF! E quindi eccone un’altra!

I commenti sono chiusi.

1 Commento


    Loading More Comments

    Inserisci la tua data di nascita.

    Date of birth fields