Il gigantesco cumulo di 20.000 patate di Starfield, spiegato dagli sviluppatori di giochi – GameTopic

20,000 potato pile in Starfield explained by game developers - GameTopic

La scorsa settimana, un giocatore di Starfield ha riempito 20.000 patate nella cabina di pilotaggio della sua nave, poi ha cercato di chiudere la porta. Il video è diventato virale, con reazioni di stupore da parte dei giocatori e degli sviluppatori di giochi.

Ma non siamo rimasti solo impressionati per l’audacia di qualcuno che si è dato tanto da fare per raccogliere così tante patate. John Linneman di Digital Foundry ha definito il video “sbalorditivo” perché tutte le patate “hanno una fisica”. Ma cosa significa che qualcosa “ha una fisica”? Perché tutti si stanno tanto agitando per un mucchio di 20.000 patate che rotolano in un gioco che riguarda l’esplorazione spaziale?

Abbiamo parlato con diversi sviluppatori di giochi per capire cosa sta realmente succedendo nel video con le patate, perché molti giochi non permettono ai giocatori di fare questo tipo di cose e se davvero 20.000 patate che rotolano sono così impressionanti come sembrano.

20.000 Patate sotto il Motore

Nikita Luzhanskyi, uno sviluppatore di Unreal Engine presso Pingle Studio, mi ha fornito una spiegazione dettagliata di cosa succede quando due oggetti si scontrano in un gioco. Ecco una versione molto semplice: Nella vita reale, la fisica è semplicemente qualcosa che accade costantemente. Ma negli spazi virtuali, i computer impiegano tempo per calcolare tutta la fisica che avviene sugli oggetti in ogni secondo. Quindi, più patate (o qualsiasi altra cosa) si aggiungono, più calcoli devono essere fatti e più le cose diventano complesse.

“Quando si dice che un gioco ha 60fps, significa che il motore di gioco deve elaborare i dati di input del giocatore, applicarli al mondo di gioco, calcolare l’interazione degli oggetti e dei sistemi nel gioco e renderizzare l’immagine sullo schermo”, spiega Luzhanskyi. “E deve fare tutto questo sessanta volte al secondo. Quando parliamo dell’interazione fisica degli oggetti nel mondo di gioco, dobbiamo sempre ricordare che più oggetti ci sono, più controlli il motore deve fare per ottenere il risultato dell’interazione. Ma questo è un doppio taglio. Da un lato, vogliamo ottenere il risultato più realistico, che richiederà molti calcoli, ma d’altra parte siamo limitati dalla frequenza dei fotogrammi perché se superiamo il limite superiore, il gioco rallenterà e ai giocatori non piace.”

Luzhanskyi continua spiegando che poiché i computer operano con intervalli di tempo, o tick del processore, è necessario utilizzare più algoritmi per calcolare il movimento di un oggetto tra quei tick, con ogni oggetto che si sposta di una piccola distanza ad ogni intervallo a seconda di fattori come accelerazione, velocità e possibili collisioni.

“Per migliaia di oggetti in un singolo tick, è necessario calcolare la posizione di tutti loro, per ogni coppia di oggetti, verificare se si intersecano e, se lo fanno, spingere uno fuori dall’altro. Tuttavia, se un oggetto viene spinto fuori da un altro, non c’è garanzia che, quando viene spinto fuori, non finisca in un altro oggetto, quindi è necessario controllare l’intersezione tra gli oggetti diverse volte. A causa di questo, per ottenere una collisione realistica di centinaia e migliaia di oggetti, è necessario scrivere del codice che funzioni abbastanza velocemente e produca un’immagine realistica in un singolo frame.”

La spiegazione di Luzhanskyi è ancora più complessa di così, e ho cercato di semplificarla per questo articolo, ma se ne hai bisogno di una ancora più semplice, eccola qui: Più patate = più calcoli al secondo = più potenza del motore e del computer necessaria. E ne ha bisogno di entrambi. Luzhanskyi sottolinea che anche se molto dipende dalla potenza di calcolo del PC di un individuo o di una console, i moderni motori di gioco stanno facendo molto lavoro per guidare simulazioni realistiche della fisica. E aggiunge che è necessario molto lavoro da parte degli sviluppatori per perfezionare quei motori e ottenere il risultato desiderato, specialmente in una situazione come questa in cui è probabile che pochi giocatori si trovino nella stessa situazione.

Cosa Potrebbe Andare Storto?

Quindi, abbiamo 20.000 patate individuali in un enorme mucchio che si scontrano tra di loro, con il pavimento e con una porta in movimento. Ciò significa che se uno dei calcoli descritti da Luzhanskyi è troppo lento o errato in qualche modo, all’improvviso le 20.000 patate iniziano a comportarsi in modo strano e divertente. Ma è qui che risiede la genialità del video di Starfield. Le patate potrebbero esplodere, volare nello spazio, vibrare rapidamente o assumere un altro comportamento non simile a quello di una patata. Invece, rotolano delicatamente come, beh, patate.

“È impressionante perché, anche se molte di quelle patate sembrano ferme, in realtà tutte stanno simulando costantemente la fisica,” afferma Liam Tart, artista principale presso Unknown Worlds. “In modo tradizionale, molti oggetti fisici così vicini l’uno all’altro dovrebbero causare molte ‘rimbalzate’ mentre ogni patata collide con quella accanto, quindi mi aspetterei che tutte le patate saltassero e si muovessero leggermente. Tuttavia, sembrano essere molto immobili e si muovono solo quando la porta si apre. È anche piuttosto impressionante avere oltre 20.000 patate tutte simulate contemporaneamente, senza che il frame rate scenda in modo significativo.”

Megan Fox, fondatrice di Glass Bottom Games, è rimasta particolarmente colpita dalla gigantesca pila di patate e mi ha aiutato a capire tutte le diverse cose che avrebbero potuto andare storte qui. Parlando con GameTopic, Fox inizia spiegandomi la differenza tra la fisica della CPU e quella della GPU; in breve, la fisica della CPU viene eseguita sul tuo computer ed è generalmente migliore per simulazioni più interattive in cui il giocatore è coinvolto. La fisica della GPU, d’altra parte, viene eseguita sulla scheda grafica ed è solitamente migliore per cose autonome che devono solo apparire cool, come la fisica delle particelle o le gocce di pioggia. È più facile avere molte e molte simulazioni di fisica della GPU in corso contemporaneamente, perché (per lo più) non hanno bisogno di interagire con altre cose. Ma la fisica della CPU è più difficile da realizzare su larga scala.

Ecco perché 20.000 patate ammucchiate in un gioco di Bethesda potrebbero facilmente andare storte: tutte le 20.000 patate devono utilizzare la fisica della CPU, perché Bethesda “si preoccupa davvero delle patate”, dice Fox.

“Le patate possono dare fastidio al movimento del giocatore,” spiega. “Le patate possono bloccare il tuo movimento. È importante che tu sappia sempre esattamente dove si trova ogni patata, in modo da poter puntare la telecamera su di essa e far apparire l’interfaccia utente che dice ‘Patata <premi A per raccogliere>,’ e tutto ciò che è correlato ad esse come entità logiche legate a specifici oggetti con proprietà e interazioni specifiche. Se volessi inserire le patate nella fisica della GPU, dovresti essere d’accordo con il fatto di lanciare 100.000 patate in una stanza che il giocatore non può interagire direttamente, se non camminandoci attraverso e facendole rimbalzare fuori strada come palline di polistirolo.”

La fisica di Havok, che Starfield utilizza come motore fisico, è storicamente molto brava nelle simulazioni fisiche della CPU e specificamente brava in qualcosa chiamata “depenetrazione”, secondo Fox. La depenetrazione, spiega, è ciò che accade quando prendi una patata e poi ne generi un’altra esattamente nello stesso punto. Se la depenetrazione è buona, la seconda patata si genera pulitamente e rimane nel posto giusto. Ma una cattiva depenetrazione può portare a collisioni esplosive, o quando le patate “acquisiscono una velocità istantanea infinita e si lanciano intorno come popcorn che scoppiano.”

Un buon “comportamento di impilamento”, continua Fox, richiede che molti elementi diversi lavorino insieme all’interno di una potente simulazione di fisica per assicurarsi che la simulazione sappia esattamente cosa fare con 20.000 patate.

“Il problema è che, tutto il tempo in una pila, tutto affonda leggermente l’uno nell’altro. La scatola in cima, ad ogni frame, affonderà (molto leggermente) nella cosa su cui è posata, a causa della gravità. Ad ogni frame, correggi quindi la collisione tornando su, in modo che rimanga posata sulla scatola e nessuno se ne accorga,” dice Fox. “Ma se il tuo motore fisico ha una cattiva depenetrazione, beh, probabilmente non otterrai sempre un risultato perfettamente liscio lì. Aggiungerà un po’ di forza extra. Ora immagina di avere 10.000 patate tutte stipate insieme e puoi immaginare come l’intera cosa potrebbe iniziare a sembrare un mucchio di chicchi di popcorn che scoppiano, giusto?”

In sostanza, dice Fox, sembra che Havok sia davvero, davvero bravo nel far interagire un sacco di oggetti in questo modo. Aggiunge che la maggior parte delle simulazioni della CPU con cui è abituata a lavorare si “scolperebbero” se ci fossero così tante patate in un unico punto, il che significa che questa è o una versione più recente o migliore di Havok rispetto a quella a cui è abituata, o…forse in realtà non ci sono affatto 20.000 patate lì!

Aspetta, cosa?

Parte della discussione tra Fox e me sull’argomento è avvenuta sul sito di social media Bluesky. Mentre stava andando avanti, Dan Johnson, senior game desGameTopicer presso il non correlato studio di sviluppo Big Blue Sky Games, ha fatto una interessante osservazione: cosa sono questi grandi grumi?

“L’engine sta consolidando le patate sotto la superficie?” chiede. “Il giocatore ha aumentato la pila con sacchi o qualcosa del genere in modo da non avere bisogno di così tante patate? Abbiamo bisogno di un’indagine.”

La volpe non pensa che siano sacchi, perché la consistenza è identica a quella delle patate, ma non ha una risposta chiara su cosa stiano facendo i grumi giganti. “[Mi] fa pensare se, sì, il motore sta facendo qualche strana accumulazione di oggetti prossimi. Ma perché faresti fare così al tuo motore? Sarebbe rilevante solo nei casi in cui i giocatori lasciassero cadere 3.000 di una cosa specifica, che è raro. Sarebbe molto, molto divertente se Bethesda includesse un’ottimizzazione specifica per “l’idiozia di un bambino che decide di lasciare cadere 30.000 ruote di formaggio in un posto”. Mi piacerebbe molto che fosse quello che è successo qui.”

Sfere di due minuti

Mentre Fox, Johnson, Tart e Luzhanskyi erano tutti almeno impressionati dalla fisica delle patate di Starfield, Alex Ward, Alex Veal e Phil Maguire erano un po’ meno impressionati. Tutti e tre lavorano presso Three Fields Entertainment Limited, lo studio dietro Dangerous Golf e il prossimo simulatore di guida open world Wreckreation. La loro esperienza lavorativa spiega forse perché una pila di 20.000 patate con fisica interattiva sia un fenomeno quotidiano per il trio.

“Ciò che ha attirato la mia attenzione su questo un po’ – e non è così impressionante davvero – è che è esattamente così che funzionano tutte quelle incredibili simulazioni dell’acqua che vedi online, ma su una scala molto più microscopica – quindi ogni singola particella d’acqua è simulata in questo modo – ecco perché sembra un flusso fluido che fuoriesce dalla porta. Quindi, in termini di impressione – le simulazioni dell’acqua che vedi, molte di esse utilizzano lo stesso tipo di tecnologia e sono molto più impressionanti perché ci sono MILIONI di cose in esse, mentre quella è solo qualche centinaio.

“E se vogliamo suonare un po’ il nostro trombone, abbiamo usato alcune di quelle cose idro-dinamiche delle particelle levigate nella versione PC di Dangerous Golf per creare le macchie di vernice che si sono rovesciate a terra, sui muri e sullo schermo!”

Mentre chiacchierano, Maguire apre Unreal Engine e inizia a cercare di creare qualcosa di simile. In due minuti, riesce a creare una pila di 378 sfere che cadono e si muovono realisticamente a una velocità compresa tra 40 e 60 fps. Niente male per una demo dell’editor di due minuti.

Ma Maguire ammette anche di essere stupito dal “grande numero di cose” nel video di Bethesda – 400 sfere in un editor sono una cosa, ma 20.000 patate nel gioco con tutto il resto sulla nave? Un ordine leggermente più impegnativo e degno di lode.

In precedenza abbiamo scritto su tutti gli elementi diversi dei videogiochi – porte funzionanti, piattaforme mobili, denti, e così via – che sembrano semplici dall’esterno ma sono in realtà piuttosto complessi. Sebbene le pile di 20.000 patate possano non sembrare “semplici”, il fatto stesso che qualcuno possa prendere una patata da un posto e metterla da qualche altra parte apre automaticamente il gioco a questa possibilità molto più complessa che gli sviluppatori devono considerare.

Certo, Bethesda avrebbe potuto far sparire le patate dopo un certo numero di esse fosse stato lasciato cadere, ma dato il passato della loro community con le ruote di formaggio, l’esito delle 20.000 patate era probabilmente inevitabile. Un plauso agli sviluppatori di Starfield per fare contare letteralmente ogni singola patata.

Rebekah Valentine è una giornalista senior per GameTopic. Hai un suggerimento per una storia? Mandala a [email protected].