Home Game Reviews Ghost of Yōtei – τεχνική ανάλυση σε βάθος

Ghost of Yōtei – τεχνική ανάλυση σε βάθος

0

Τεχνολογία πίσω από το Ghost of Yōtei

Η Sucker Punch εξερευνά την τεχνολογία που συνέβαλε στη δημιουργία του συναρπαστικού ταξιδιού της Atsu. Το Ghost of Yōtei ήταν ένα έργο πάθους για την ομάδα και πλέον βρίσκεται στα χέρια των παικτών. Τώρα που το κοινό έχει αρχίσει να γνωρίζει το παιχνίδι, είναι η κατάλληλη στιγμή να μιλήσουμε για την τεχνολογία που μας έφερε ως εδώ.
Μετά τα επιτεύγματα του Ghost of Tsushima, το όραμα για το Ghost of Yōtei εστίασε περισσότερο στην ελευθερία του παίκτη μέσα σε μια άγρια φύση. Αυτό σήμαινε λιγότερο παρεμβατικούς τρόπους καθοδήγησης, εντυπωσιακά τοπία με μεγάλες αποστάσεις ορατότητας, πιο ευέλικτη μάχη με όπλα, αξέχαστους χαρακτήρες με προσωπικότητα και έντονες συναισθηματικές στιγμές στην ιστορία. Η διατήρηση υψηλού ρυθμού καρέ παράλληλα με όλα αυτά ήταν μια ξεκάθαρη πρόκληση.
Ας δούμε μερικές από τις τεχνολογικές πτυχές που χρησιμοποιήσαμε για τη δημιουργία του Ghost of Yōtei!

Εξερεύνηση σε έναν άγριο κόσμο

Κατά τη φάση του πρωτοτύπου για την ελεύθερη εξερεύνηση, διαπιστώσαμε ότι το πιο αποτελεσματικό ήταν να μπορεί ο παίκτης να ατενίζει το τοπίο και να ακολουθεί την περιέργειά του. Τεχνικά, αυτό απαιτούσε μεγαλύτερες αποστάσεις ορατότητας και καλύτερη απόδοση γραφικών για χόρτα, έδαφος και βουνά στο βάθος.
Βελτιώσαμε την εμφάνιση των μακρινών βουνών μετατρέποντας μοντέλα και λεπτομερή υλικά εδάφους σε υφές υψηλής ανάλυσης. Διπλασιάσαμε επίσης την ποσότητα χόρτου και αντικειμένων που μπορεί να αποδώσει ο GPU compute renderer μας. Σε αυτή τη σκηνή, τα μακρινά βουνά με πάνω από ένα εκατομμύριο δέντρα, βράχους και θάμνους περιορίζονται σε περίπου εξήντα χιλιάδες αντικείμενα που αποδίδουμε για τη δημιουργία των G-buffers της τελικής εικόνας.
Χρησιμοποιούμε τεχνικές δημιουργίας περιεχομένου με τη βοήθεια διαδικασιών και βασιζόμαστε έντονα στο GPU compute για την αποδοτική επεξεργασία όλων αυτών των στιγμιοτύπων χωρίς τη συμμετοχή του CPU. Αυτό περιλαμβάνει ακολουθίες εργασιών compute για απόκρυψη αντικειμένων, διαχείριση μνήμης, συμπλήρωση αρχείων σχεδίασης, πριν διαβιβάσουμε τις πληροφορίες στον CPU για να ενσωματωθούν στις τελικές εντολές του καρέ. Δείτε μια κινούμενη εικόνα με όλη τη γεωμετρία που σχεδιάζεται από το GPU, ώστε να αντιληφθείτε το μέγεθος του εγχειρήματος. Αυτές οι τεχνικές χρησιμοποιούνται και για δεδομένα που παράγονται σε πραγματικό χρόνο, όπως τα εκτεταμένα λιβάδια με λουλούδια, αλλά και περιστασιακά για αντικείμενα όπως σχοινιά και αλυσίδες.
Για να δώσουμε σε κάθε περιοχή του κόσμου ξεχωριστή ταυτότητα, δημιουργήσαμε συστήματα αλληλεπίδρασης που αναδεικνύουν τα ιδιαίτερα χαρακτηριστικά τους. Το μεγαλύτερο μέρος του κόσμου καλύπτεται από χόρτα ή μικρά φυτά, και εκτός από την παραμόρφωση λόγω ανέμου και κίνησης του χαρακτήρα, προσθέσαμε ένα σύστημα που αποτυπώνει τις κινήσεις των όπλων σε ένα “cut buffer”. Αυτό το buffer χρησιμοποιείται από την κοπτή γεωμετρία για να δημιουργεί σωματίδια πάνω από το σημείο κοπής, επιτρέποντας στην Atsu να κόβει τα περισσότερα χόρτα, λουλούδια και μικρά φυτά του παιχνιδιού.

Ρεαλιστική αλληλεπίδραση με το χιόνι

Η Χοκκάιντο φημίζεται για τους πιο σκληρούς χειμώνες της Ιαπωνίας, οπότε θέλαμε να αποδώσουμε ρεαλιστικά την αλληλεπίδραση των χαρακτήρων με το βαθύ χιόνι. Για να το πετύχουμε, δημιουργήσαμε ένα σύστημα τεσσέλασης εδάφους που αυξάνει τη λεπτομέρεια και επιτρέπει δυναμική παραμόρφωση σε πραγματικό χρόνο. Καθώς οι χαρακτήρες περπατούν, κυλιούνται ή μάχονται, σωματίδια και γεωμετρία αποτυπώνονται σε ένα displacement buffer. Το σύστημα αυτό ήταν τόσο ευέλικτο που το επεκτείναμε ώστε οι χαρακτήρες να μπορούν να ρίχνουν χιόνι από δέντρα και θάμνους, δημιουργώντας σωματίδια χιονιού. Σε συνδυασμό με ένα νέο εφέ λάμψης του χιονιού που χρησιμοποιεί σταθερό θόρυβο στην οθόνη, το αποτέλεσμα είναι εντυπωσιακό.

Απόδοση σύννεφων και ατμόσφαιρας

Τα ψηλά βουνά όπως το Mt. Yōtei συχνά καλύπτονται από σύννεφα, οπότε έπρεπε να βρούμε τρόπο να αποδίδουμε σύννεφα μπροστά από τη γεωμετρία του κόσμου, κάτι που δεν ήταν εφικτό στη μηχανή του Ghost of Tsushima. Θέλαμε επίσης να δώσουμε την αίσθηση άστατου καιρικού φαινομένου, αυξάνοντας την ταχύτητα κίνησης των σύννεφων. Για να το πετύχουμε χωρίς ανεπιθύμητα τεχνουργήματα, αποθηκεύουμε το μέσο ορατό βάθος κάθε texel στον χάρτη σύννεφων (μετρούμενο από την κάμερα), επιτρέποντας τη χρήση τεχνικών parallax mapping κατά την κύλιση κάθε καρέ. Επιπλέον, αναμειγνύουμε τρία καρέ σύννεφων αντί για δύο, για ακόμα πιο ομαλή κίνηση. Αποθηκεύοντας και το μέσο τετράγωνο του βάθους, μπορούμε να ανακατασκευάσουμε μια απλή στατιστική κατανομή της αδιαφάνειας των σύννεφων κατά μήκος κάθε ακτίνας, υπολογίζοντας πόσο θα πρέπει να καλύπτουν τη γεωμετρία του κόσμου, όπως τα βουνά.
Η ομίχλη και η ατμοσφαιρική σκέδαση αποτέλεσαν βασικό στοιχείο του καλλιτεχνικού ύφους στο Ghost of Tsushima, και στο Ghost of Yōtei το εξελίξαμε προσθέτοντας υποστήριξη για τοπικούς όγκους ομίχλης. Αυτοί υπολογίζονται αποδοτικά με τις διευρυμένες 16-bit floating point εντολές του GPU του PS5. Ως αποτέλεσμα των βελτιστοποιήσεων στα σύννεφα, δημιουργούμε έναν χάρτη σκιάς σύννεφων στο χώρο του φωτός, επιτρέποντας την εμφάνιση ακτίνων φωτός (“god rays”) στην ογκομετρική ομίχλη, ακόμα και σε μεγάλη απόσταση από την κάμερα. Οι καλλιτέχνες μπορούν επίσης να τοποθετούν “god ray targets” στον κόσμο, ώστε να φωτίζονται συχνότερα από ανοίγματα στα σύννεφα.

Ζωντανός κόσμος και κίνηση χαρακτήρων

Ένας από τους βασικούς μας στόχους ήταν να κάνουμε τον κόσμο του Ghost of Yōtei να φαίνεται ζωντανός. Θέλαμε τα πάντα στην οθόνη να κινούνται με τον άνεμο, από τα ρούχα των χαρακτήρων και τα διακοσμητικά των όπλων, μέχρι τα υφάσματα στους οικισμούς. Κατά τη μάχη και την κίνηση, ο παίκτης σηκώνει σκόνη και φύλλα, ενώ λερώνεται με λάσπη και αίμα, ενισχύοντας την αίσθηση εμβύθισης.
Τα πολύπλοκα κοστούμια της Atsu κινούνται ρεαλιστικά χάρη στη νέα υποστήριξη πολλαπλών στρώσεων στο υψηλής απόδοσης σύστημα GPU compute cloth. Εκτός από τις πολλαπλές στρώσεις υφάσματος, υποστηρίζουμε συγκρούσεις υφασμάτων και χρησιμοποιούμε προσεκτικά ρυθμισμένες ευρετικές μεθόδους για αποδοτική προσομοίωση μεγάλου αριθμού υφασμάτων. Δείτε ένα παράδειγμα με την Atsu σε ένα από τα πιο σύνθετα κοστούμια της, περιτριγυρισμένη από κινούμενα υφάσματα.
Τα GPU particles αποτελούν δυνατό σημείο της Sucker Punch από το Infamous Second Son. Στο Ghost of Yōtei προσθέσαμε νέες δυνατότητες, επιτρέποντας στα σωματίδια να δειγματοληπτούν υλικά εδάφους, παραμορφώσεις και ροή νερού. Για παράδειγμα, σε αυτή τη σκηνή, σωματίδια προσγειώνονται και κυλούν κατά μήκος του ποταμού.
Για να ενισχύσουμε την αλληλεπίδραση με τον κόσμο, εφαρμόζουμε ένα πλέγμα κατευθυντικότητας γύρω από τον χαρακτήρα, το οποίο παραμορφώνεται και χρησιμοποιείται για την προσθήκη εφέ υφής που κάνουν τον χαρακτήρα να φαίνεται βρεγμένος, ματωμένος, λασπωμένος ή χιονισμένος.
Επιπλέον, τα συστήματα σωματιδίων μας επιτρέπουν στον παίκτη να μεταβαίνει στο παρελθόν για να εξερευνήσει την οικογενειακή ιστορία της Atsu. Κατά τη μετάβαση, αλλάζουμε τον σκελετό και τη γεωμετρία της Atsu, διατηρώντας όμως την κατάστασή της και την κίνηση. Τα στοιχεία του φόντου και ο φωτισμός αλλάζουν άμεσα χάρη στην ταχύτητα του SSD και προσεκτικά επιλεγμένο prefetching. Όλα αυτά γίνονται πίσω από ένα πέπλο κινούμενων σωματιδίων που δειγματοληπτούν ένα αντίγραφο του frame buffer λίγο πριν τη μετάβαση.

Ray Tracing και βελτιώσεις για PS5 Pro

Ως παιχνίδι σχεδιασμένο για το PS5, θέλαμε να βελτιώσουμε την ποιότητα εικόνας αξιοποιώντας τις νέες τεχνολογίες της πλατφόρμας. Με την κυκλοφορία του PS5 Pro, επιδιώξαμε να προχωρήσουμε σε κατευθύνσεις που θα μας ωφελήσουν και σε μελλοντικά παιχνίδια. Με τη στήριξη των κεντρικών τεχνολογικών ομάδων του PlayStation, επενδύσαμε σε δύο βασικούς τομείς: ray tracing και αναβάθμιση εικόνας με PSSR.
Το Ghost of Yōtei διαδραματίζεται στην άγρια φύση της Χοκκάιντο του 17ου αιώνα, όπου σπάνια υπάρχουν επιφάνειες που αντανακλούν σαν καθρέφτης για ray-traced reflections. Αντί αυτού, χρησιμοποιήσαμε το ray tracing για να βελτιώσουμε τη συνολική φωτεινότητα του κόσμου. Αυτό το πετύχαμε με δύο τρόπους: πρώτα με ένα πιο αυτοματοποιημένο, βελτιωμένο μοντέλο φωτισμού, το οποίο ενισχύσαμε με ray-traced global illumination μικρής εμβέλειας (RTGI). Αυτό απαίτησε σημαντικές αλλαγές στη ροή των mesh, επιτρέποντας δυναμική αποσυμπίεση των acceleration structures που χρησιμοποιεί το ray tracing hardware. Χάρη στο πιο αποδοτικό ray tracing hardware του PS5 Pro, οι παίκτες μπορούν να ενεργοποιήσουν το RTGI με στόχο τα 60 καρέ ανά δευτερόλεπτο στις Pro κονσόλες.
Για το Ghost of Yōtei ανασχεδιάσαμε το καρέ ώστε να χρησιμοποιεί έναν πιο γενικό αλγόριθμο δυναμικής ανάλυσης με αναβάθμιση, εν μέρει για να αξιοποιήσουμε το PSSR. Το PSSR λειτουργεί εξαιρετικά με ελάχιστες προσαρμογές, όπως η συντηρητική rasterization για μικρά σωματίδια. Αντίθετα, ο τυπικός μας αλγόριθμος αναβάθμισης απαιτεί πολύ περισσότερη καθοδήγηση και προσαρμογή για καλά αποτελέσματα. Σε μια σύγκριση δίπλα-δίπλα, αν κάνετε πολύ μεγάλη μεγέθυνση (16x πριν τη συμπίεση gif), θα δείτε ότι το PSSR αποδίδει καλύτερα τις λεπτομέρειες στην αρχιτεκτονική και τη βλάστηση, ενώ παραμένει πιο σταθερό κατά την κίνηση.

Ταχύτητα φόρτωσης

Η Sucker Punch δίνει πάντα προτεραιότητα στη γρήγορη είσοδο των παικτών στα παιχνίδια της. Στο Ghost of Yōtei συνεχίσαμε αυτή την παράδοση, επενδύοντας ακόμη περισσότερο σε ταχύτατους χρόνους φόρτωσης.
Βελτιστοποιούμε τη φόρτωση με προεπεξεργασία των δεδομένων, ώστε να απαιτούνται ελάχιστες αναγνώσεις από το SSD και διορθωτικές λειτουργίες ανά τοποθεσία ή πλακίδιο εδάφους για τη φόρτωση των απαραίτητων δεδομένων. Στη συνέχεια, υπολογίζουμε και φορτώνουμε μόνο τα texture mips και mesh LODs που χρειάζονται για την απόδοση του πρώτου καρέ, με μία ανάγνωση ανά στοιχείο. Δείτε πώς φαίνεται η φόρτωση από το νότιο ως το βόρειο άκρο χωρίς να σβήνει η οθόνη (σημειώστε ότι αυτό είναι κάπως πιο αργό επειδή αποδίδουμε τον κόσμο συνεχώς).
Καθ’ όλη τη διάρκεια της ανάπτυξης, δοκιμάζουμε αυτά τα συστήματα εσωτερικά, αντί να χρησιμοποιούμε διαφορετικό μοντέλο φόρτωσης για τις τελικές εκδόσεις. Ο όρος “dog fooding” σημαίνει ότι κάθε προγραμματιστής, καλλιτέχνης και σχεδιαστής δοκιμάζει το προϊόν που παραδίδουμε, ώστε να βελτιώνεται η ποιότητά του.

Επίλογος

Αυτή ήταν μια μικρή ματιά σε ορισμένες από τις τεχνικές εργασίες που πραγματοποιούμε στη Sucker Punch. Η δημιουργία παιχνιδιών, όμως, είναι κάτι πολύ περισσότερο — μια τεράστια ομαδική προσπάθεια, όπου η τέχνη και η τεχνολογία αλληλοσυμπληρώνονται διαρκώς.
Όταν ξεκινήσαμε το έργο πριν από πέντε χρόνια, στόχος μας ήταν να δημιουργήσουμε έναν κόσμο που οι παίκτες θα ήθελαν να χαθούν μέσα του. Πολλές από τις τεχνικές μας αποφάσεις βασίστηκαν στην κεντρική φαντασία του Ghost of Yōtei — αυτή του περιπλανώμενου πολεμιστή που συμφιλιώνεται με το παρελθόν του. Είμαστε ενθουσιασμένοι που βλέπουμε αυτό το όραμα να ζωντανεύει, με τους παίκτες να μοιράζονται τις εμπειρίες τους και να δημοσιεύουν εντυπωσιακά στιγμιότυπα και βίντεο μέσω του Photo Mode.
Είμαστε πραγματικά περήφανοι για το αποτέλεσμα και ελπίζουμε όλοι να απολαύσουν την περιπλάνηση στην άγρια φύση του Ghost of Yōtei.
Αν θέλετε να μάθετε περισσότερα για την τεχνολογία και τη διαδικασία ανάπτυξης της Sucker Punch, δείτε τις προηγούμενες παρουσιάσεις μας σε συνέδρια όπως το GDC και το SIGGRAPH. Αναμένουμε να μοιραστούμε περισσότερα το 2026.
Ιδιαίτερες ευχαριστίες στους Jasmin Patry, Doug Davis και Eric Wohllaib για τη βοήθεια στην επιμέλεια και προετοιμασία του περιεχομένου, καθώς και σε όλα τα μέλη της Sucker Punch που εκπροσωπώ εδώ.

[ Πηγή: PlaystationBlog ]

Χωρίς σχόλια

Άφησε ένα σχόλιο!

Please enter your comment!
Please enter your name here

Exit mobile version