Come Animal Well attinge all'hardware PS5 per elevare la piattaforma pixel-art 2D - PlayStation.Blog


Animal Well è solo un altro gioco indie pixel art 2D, quindi perché sembra e si sente ... solo un po 'diverso? Nel suo riepilogo del Summer Games Fest, Danny O'Dwyer (Noclip) per dirla meglio quando ha definito Animal Well "il gioco che è più difficile da spiegare perché mi è piaciuto". Definire cosa lo distingue esattamente può essere sfuggente, specialmente quando il tuo cervello ti dice che sembra provenire dal Commodore 64 era. Oggi ho pensato di prendermi un po' di tempo per suddividere parte del lavoro necessario per realizzare un singolo fotogramma di Animal Well così com'è. Quello che ci aspetta sarà un tour relativamente breve e di alto livello—ciascuna delle caratteristiche mostrate potrebbe avere un proprio post sul blog—ma comunque penso che una sbirciatina sotto il cofano si rivelerà interessante.

Iniziare, Animal Well è reso in molti strati diversi che vengono tutti composti insieme in modi abbastanza complicati. Qui puoi dare un'occhiata ad alcuni di questi livelli, e come vengono usati insieme per rendere l'illuminazione, prima di produrre l'immagine finale.

Questo colpo è dall'inizio del gioco in cui puoi usare petardi per bandire un fantasma inseguitore. Possiamo scomporlo per vedere alcuni dei passaggi di rendering coinvolti.

Per ulteriore divertimento, possiamo anche vedere come sarebbe quella ripresa con l'illuminazione disattivata.

Quando si tratta di rendering, Animal Well sta facendo un sacco di piccole cose che si sommano al risultato finale che vedi. Ecco solo un paio di esempi.

Mappe normali

Quando una luce si muove attraverso lo scenario sullo sfondo, lo illumina in modo diverso in base alla direzione da cui proviene la luce. Per realizzare questo, Sto usando mappe normali. Le mappe normali sono texture che aiutano a definire piccoli dettagli geometrici su una superficie che altrimenti sarebbe perfettamente piatta. Il colore di ciascun pixel rappresenta la "normale alla superficie", che è un vettore che descrive in quale direzione è rivolta la superficie. Sono una parte molto standard della maggior parte delle pipeline artistiche 3D, ma sono molto meno comuni nei giochi 2D. Disegno manualmente le mappe normali, proprio accanto al resto dell'arte del gioco.

Sorgente luminosa che interagisce con le mappe normali

Effetti di sfondo

Animal Well fa molte cose divertenti per i suoi sfondi. In questo esempio vediamo un mucchio di geometria 3D implicita sottoposta a raymarching, che poi presentano anche riflessi raymarch! La geometria implicita è tutto ciò che non è definito con le mesh 3D tradizionali. Nel caso di Animal Well, Sto usando le cosiddette funzioni di distanza con segno, o SDF. Questa geometria è illuminata dalle sorgenti luminose definite negli strati davanti ad essa. Il rendering degli SDF può essere costoso ("costoso" nel senso di utilizzare una preziosa potenza di elaborazione limitata), ma in questo caso, la GPU della PS5 ne fa un lavoro breve.

Effetti fluidi

Animal Well ha un livello dedicato all'esecuzione costante di una simulazione fluida di Navier Stokes. Viene utilizzato per un'ampia varietà di effetti durante il gioco, più comunemente per acqua e fumo. Gli sprite possono essere disegnati come "colorante", e poi anche gli oggetti in gioco possono attirare forze in campo, facendo avanzare il fluido in modo molto realistico. Simulazioni come questa possono essere costose, dover eseguire molte iterazioni per calcolare un risultato accurato. Viene inoltre prestata particolare attenzione alla soglia dei colori per adattarli al resto della pixel art.

Utensili

Gran parte dello sviluppo non comporta il lavoro sul gioco stesso, ma invece creare strumenti per creare il gioco. Ho sviluppato il motore e l'editor del gioco da zero mentre lo utilizzavo per creare il gioco allo stesso tempo.

Controllore Midi

Quasi tutte le variabili nel mio motore possono essere modificate tramite un controller midi che ho collegato al mio computer. Rende molto più veloce il processo di messa a punto delle variabili di gioco (e anche più divertente!) Usando un controller midi posso letteralmente comporre le impostazioni.

Uso una versione modificata del popolare programma Aseprite per disegnare e animare gli sprite. Posso apportare modifiche in Aseprite, che genera un formato di animazione binario personalizzato, e poi il motore lo ricaricherà istantaneamente mentre il gioco è in esecuzione.

Latenza bassissima

Allo stesso modo in cui può essere difficile articolare esattamente come Animal Well abbia un aspetto diverso da altri giochi di pixel art, è altrettanto difficile dire perché è bello suonare. Dopo tutto, i controlli sono estremamente semplici: spostati a destra e sinistra, jump, e usa gli oggetti. That’s it. Quindi cosa c'è di diverso nel modo in cui Animal Well lo fa rispetto a qualsiasi altro gioco nella storia di Gamekind? Tutto si riduce alla latenza di input.

La creazione di un motore personalizzato completamente nuovo richiede molto lavoro, che potrebbe essere il motivo per cui non molte persone lo fanno. Non mancano i motori esistenti disponibili in commercio, da Unreal a Unity a GameMaker e altro ancora. I giochi realizzati con motori standard si trovano in cima allo strato del motore, che funge da buffer tra il gioco e la CPU e la GPU. Con Animale Bene, non appena il giocatore tocca il controllo, il codice del gioco può dire immediatamente e direttamente alla GPU cosa fare, il che significa che il gioco può eseguire il rendering utilizzando il tuo input dallo stesso frame, senza alcun buffering. Il percorso dal cervello ? dita ? Controller ? gioco ? la visualizzazione diventa quasi istantanea. Ovviamente nessuno se ne accorge a livello cosciente. Il gioco inizia a sembrare un'estensione della tua mente, e il controller sembra scomparire.

Registrato a 240 FPS su un display OLED, così rallentato di circa 400%

Quando si descrive il processo di sviluppo dietro Animal Well, Uso spesso la frase ossimorica "next-gen 2D pixel art platformer". Spero che questa sbirciatina sotto il cofano abbia fatto un po' di luce su ciò che intendo con questo.