Tεχνικές των developers για να κρύψουν αδυναμίες του hardware

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Admiral

Ancient Red Dragon
Staff member
Joined
Nov 27, 2012
Messages
14,553
Τις τελευταίες ώρες γίνεται μεγάλη συζήτηση online για την απόφαση της Sony να κυκλοφορήσει τα επερχόμενα sequels των God of War και Gran Turismo τόσο σε PS5 όσο και σε PS4. Μερικοί χαίρονται γιατί δεν θα χρειαστεί να αγοράσουν νέα κονσόλα, άλλοι αντιδρούν γιατί το αρχαίο πλέον hardware του PS4 θα περιορίσει σημαντικά τις φιλοδοξίες των developers και το παιχνίδι δεν θα είναι τόσο καλό όσο αν το έφτιαχναν αποκλειστικά για σύγχρονο hardware.

Με αφορμή το δεύτερο σκέφτηκα ότι θα ήταν ενδιαφέρον να αναδείξουμε και να συζητήσουμε ορισμένα από τα πιο δημοφιλή tricks που χρησιμοποιούν οι developers για να παρακάμψουν περιορισμούς του hardware. Εγώ θα αναφέρω μερικά παραδείγματα που γνωρίζω, όποιος έχει και άλλα υπόψη του ας ενημερώσει. @kara αν γνωρίζεις και εσύ κάποια παραδείγματα ή θέλεις να διορθώσεις κάτι από αυτά που είπα θα εκτιμούσα τη βοήθειά σου.

Περνάω σιγά-σιγά από ένα στενό πέρασμα

D5YwI_2XkAApnEU.jpg


Ένα πολύ δημοφιλές τρικ που έχει ως στόχο να καθυστερήσει λίγο τον παίκτη ώστε το hardware να προλάβει να φορτώσει το υπόλοιπο επίπεδο. Αυτό μπορεί να πάρει τη μορφή ενός μονοπατιού με στροφές που ενώνει δύο ανοικτές περιοχές, ενός στενού και επικίνδυνου περάσματος σε βουνό που ο χαρακτήρας πρέπει να περάσει αργά με πλάγια βήματα, ή το παράδειγμα της εικόνας που ο χαρακτήρας ζορίζεται να περάσει από ένα άνοιγμα.

Ακολουθώ έναν NPC ο οποίος πρέπει να ξεκλειδώσει μια πόρτα, να πετάξει μια σκάλα κλπ
1*B2DeXOp9Vsv_g8V799cxIQ.png


Άλλη μία τεχνική που αποσκοπεί στο να κρύψει το loading στο παρασκήνιο και να καθυστερήσει λίγο τον παίκτη. Τα δευτερόλεπτα που περιμένουμε μέχρι ο NPC να κάνει την ενέργεια που θα μας επιτρέψει να προχωρήσουμε είναι πολύτιμα ώστε το παιχνίδι να προλάβει να αδειάσει τα δεδομένα του υπάρχοντος κομματιού του level και να φορτώσει τα επόμενα.

Στενό FOV/Τεράστιο όπλο στην οθόνη

maxresdefault.jpg


Συχνά τα games έχουν χαμηλό FOV γιατί πρέπει να λάβουν υπόψη όσους παίζουν σε κονσόλα και κάθονται σχετικά μακριά από την τηλεόραση, όμως αυτός δεν είναι ο μόνος λόγος. Ορισμένα games έχουν πολύ στενό FOV ή ένα τεράστιο μοντέλο όπλου στην οθόνη γιατί όσο λιγότερα πράγματα φαίνονται στην οθόνη, τόσο περισσότερη λεπτομέρεια μπορείς να δείξεις χωρίς να πεθάνει η GPU.
 
Last edited:
χμ τα πιο τρελά tricks τα θυμάμαι για τις παλιές κονσόλες που είχαν και τρελούς περιορισμούς.
Ειδικά SNES που έβαζαν το superFX chip στην κασέτα για να δουλέψει το ένα και το άλλο
 
Το αρχέγονο πρόβλημα τις εποχές που η μνήμη ήταν πανάκριβη και το form factor της μπαμπάτσικο, ήταν πώς θα διαχειριστούν το διαθέσιμο χώρο για τόσα assets, τόσο κατά το bundling, όσο και κατά την προσπέλαση σε αυτό on runtime, το τελευταίο λόγω αργών CPUs και RAM περιορισμών των μηχανημάτων.

Άπειρο σχετικό υλικό στο internet, αλλά από τα αγαπημένα μου:



(νομίζω το έχω ξαναποστάρει κάπου).

Ο dev πρέπει να γράφει efficient και performant stuff έτσι κι αλλιώς, να χρησιμοποιεί τα ελάχιστα δυνατά resources. Ο κύριος λόγος που αυτό δε συμβαίνει καθολικά, είναι η βιασύνη του εκάστοτε business, που δε νοιάζεται για code quality. Συνεπώς δεν ξέρω αν ο χαρακτηρισμός "τρικ" does justice, πρόκειται για ευρηματική διαχείριση τεχνικών περιορισμών, οι οποίοι θα είναι πάντα παρόντες, εντός χρόνου που δεν είναι ποτέ όσος χρειάζεται για να βγει κάτι ολοκληρωμένο. Το τρικ παραπέμπει σε παραπλάνηση/ξεγέλασμα.

GoW Ragnarok στο PS4 🍺
 
Μερικοί χαίρονται γιατί δεν θα χρειαστεί να αγοράσουν νέα κονσόλα, άλλοι αντιδρούν γιατί το αρχαίο πλέον hardware του PS4 θα περιορίσει σημαντικά τις φιλοδοξίες των developers

Αυτό που δεν καταλαβαίνω είναι το εξής: Έχει βγει κάποιος ντηβέλοπερ να διαμαρτηθεί; Γιατί αυτοί που δεν φτιάχνουν το παιχνίδι τι ζόρι τραβάνε;
 
Αυτό που δεν καταλαβαίνω είναι το εξής: Έχει βγει κάποιος ντηβέλοπερ να διαμαρτηθεί; Γιατί αυτοί που δεν φτιάχνουν το παιχνίδι τι ζόρι τραβάνε;
Τι δεν καταλαβαίνεις. Ξεκάθαρα οι απέξω ξέρουν καλύτερα.
 
Θα δώσω και εγώ ένα ρετρό παράδειγμα, αν και υπάρχουν και πολύ νεότερα, αλλά έτυχε τον τελευταίο μήνα να χαζεύω κανένα τέτοιο βιντεάκι που και που στο youtube και τα έχω πρόχειρα.

 
Αυτό που δεν καταλαβαίνω είναι το εξής: Έχει βγει κάποιος ντηβέλοπερ να διαμαρτηθεί; Γιατί αυτοί που δεν φτιάχνουν το παιχνίδι τι ζόρι τραβάνε;

Φαντάζομαι ότι οι developers και να είχαν πρόβλημα δεν θα μπορούσαν να πουν τίποτα γιατί είναι υπάλληλοι της Sony. Τώρα για το ζόρι που τραβάνε οι άλλοι, αν έχω καταλάβει σωστά οι κάτοχοι του PS5 θέλουν τα παιχνίδια να μην είναι cross-gen για να εκμεταλλεύονται πλήρως το hardware που αγόρασαν. Το επιχείρημα που άκουσα είναι ότι το πρώτο πραγματικό PS5 exclusive από τα περισσότερα studios της Sony μπορεί να βγει το 2026 ή 2027 όταν θα έχει τελειώσει σχεδόν η γενιά και θα πλησιάζει το PS6. Ουσιαστικά δηλαδή θεωρούν ότι η γενιά του PS5 ψιλοκαίγεται αφού δεν θα έχει exclusives μέχρι το τέλος της.
 
Είναι σούπερ απίθανο να έχει πρόβλημα developer επειδή θα χρησιμοποιήσει γνωστό devkit, που δουλεύει ήδη 6-7 χρόνια. Μειωμένο ενθουσιασμό μπορεί, αν και πάλι, το τεχνικό overhead που γλιτώνεις σαν άνθρωπος είναι από μόνο του αιτία πανηγυρισμών.
 
να μην είναι cross-gen για να εκμεταλλεύονται πλήρως το hardware που αγόρασαν.
Αυτό πιθανότατα δεν ισχύει (θα πρέπει να πει κάποιος ντηβέλοπερ για να ξέρουμε σίγουρα). Αν δεν υπάρχει κάποιο εντελώς καινοτόμο API που να επηρεάζει τον ίδιο τον σχεδιασμό τής game engine τότε η έκδοση ps4 δεν επηρεάζει καθόλου το ps5, απλά δαπανά λίγο παραπάνω χρόνο/χρήμα. Ουσιαστικά δεν επηρεάζεται αν θα υπάρχει ένα χαρακτηριστικό στο ps5 που απλά αφαιρείται στο ps4. Είναι σαν το πισί αν μπορείς να βλέπεις τις τρίχες τού witcher να ανεμίζουν ή όχι αλλά δεν επηρεάζει τον σχεδιασμό τού παιχνιδιού ότι μπορεί να το παίξει κάποιος και χωρίς τρίχες.
 
Last edited:
Αυτό πιθανότατα δεν ισχύει (θα πρέπει να πει κάποιος ντηβέλοπερ για να ξέρουμε σίγουρα). Αν δεν υπάρχει κάποιο εντελώς καινοτόμο API που να επηρεάζει τον ίδιο τον σχεδιασμό τής game engine τότε η έκδοση ps4 δεν επηρεάζει καθόλου το ps5, απλά δαπανά λίγο παραπάνω χρόνο/χρήμα. Ουσιαστικά δεν επηρεάζεται αν θα υπάρχει ένα χαρακτηριστικό στο ps5 που απλά αφαιρείται στο ps4. Είναι σαν το πισί αν μπορείς να βλέπεις τις τρίχες τού witcher να ανεμίζουν ή όχι αλλά δεν επηρεάζει τον σχεδιασμό τού παιχνιδιού ότι μπορεί να το παίξει κάποιος και χωρίς τρίχες.

Νομίζω εννοούν πιο δομικά στοιχεία και όχι τόσο τις λεπτομέρειες των γραφικών. Για παράδειγμα τα κόλπα που αναφέρουμε στο thread χρειάζονται για να παρακάμψουν περιορισμούς που δεν υπάρχουν στο καινούριο hardware. Αν λοιπόν ο designer πρέπει να σχεδιάσει έναν χάρτη που να μπορεί να τρέχει και σε PS4 τότε θα πρέπει να περιορίσει δραστικά τις φιλοδοξίες του.
 
Νομίζω εννοούν πιο δομικά στοιχεία και όχι τόσο τις λεπτομέρειες των γραφικών.
Πρέπει να εννοούν κάτι τέτοιο γιατί αλλιώς δεν βγάζει κανένα νόημα. Αλλά δεν προκύπτει από πουθενά ότι ισχύει κάτι τέτοιο.
 
Παιδιά η φτιάξη γίνεται απλά :

Από τη στιγμή που ένα στούντιο έχει συμβόλαιο με εκδότη για να βγάλει δύο ή περισσότερες εκδόσεις ενός παιχνιδιού σε διαφορετικό hardware, γίνεται υπολογισμός (ελληνιστί scoping) του έργου και ορίζονται συγκεκριμένα παραδοτέα. Δεν είναι πως 'ρίχνεται' η έκδοση για PS5 ή XSX. Έχεις την κύρια ομάδα σου που δουλεύει ας πούμε την 'αληθινή' βερζιόν του παιχνιδιού η οποία θα κυκλοφορήσει σε PC και next-gen κονσόλες.

Κατόπιν, έχεις συγκεκριμένες ομάδες που δουλεύουν τις άλλες εκδόσεις. Για PS4, Switch, ρολογάκι Κάζιο και τα λοιπά. Υπάρχουν ξεκάθαρες απαιτήσεις και milestones για κάθε έκδοση, δεν έρχεται κανένας σχιζοφρενής δικτάτορας να σου πει 'Α ξέρεις πρέπει να είναι ΙΔΙΟ σε PS5 και Game Boy' οπότε αυτή η διαδικασία απλά κοστίζει περισσότερο στον εκδότη, γιατί χρηματοδοτεί μεγαλύτερες ομάδες, οι οποίες αναπτύσσουν παράλληλα διαφορετικές εκδόσεις ενός παιχνιδιού.

Μόνο επαγγελματικό ενδιαφέρον για νεαρούς προγραμματιστές έχουν τα σχετικά τρικ, καθώς αυτοί είναι που θα φάνε τη 'λάτζα' ενώ οι πιο γυαλιστεροί συνάδελφοί τους θα είναι στην 'A Team' που δουλεύει τις σύγχρονες εκδόσεις.
 
Δεν ξέρω αν έχει -εμμέσως- καλυφθεί από τα παραδείγματά σου, Admiral, αλλά ένα τρικάκι που θυμάμαι να διαβάζω είναι οι χρονοβόρες βόλτες με ασανσέρ στο πρώτο Mass Effect, προκειμένου να προλάβει να φορτώσει η επόμενη περιοχή/όροφος.
 
Last edited:
Παιδιά η φτιάξη γίνεται απλά :

Από τη στιγμή που ένα στούντιο έχει συμβόλαιο με εκδότη για να βγάλει δύο ή περισσότερες εκδόσεις ενός παιχνιδιού σε διαφορετικό hardware, γίνεται υπολογισμός (ελληνιστί scoping) του έργου και ορίζονται συγκεκριμένα παραδοτέα. Δεν είναι πως 'ρίχνεται' η έκδοση για PS5 ή XSX. Έχεις την κύρια ομάδα σου που δουλεύει ας πούμε την 'αληθινή' βερζιόν του παιχνιδιού η οποία θα κυκλοφορήσει σε PC και next-gen κονσόλες.

Κατόπιν, έχεις συγκεκριμένες ομάδες που δουλεύουν τις άλλες εκδόσεις. Για PS4, Switch, ρολογάκι Κάζιο και τα λοιπά. Υπάρχουν ξεκάθαρες απαιτήσεις και milestones για κάθε έκδοση, δεν έρχεται κανένας σχιζοφρενής δικτάτορας να σου πει 'Α ξέρεις πρέπει να είναι ΙΔΙΟ σε PS5 και Game Boy' οπότε αυτή η διαδικασία απλά κοστίζει περισσότερο στον εκδότη, γιατί χρηματοδοτεί μεγαλύτερες ομάδες, οι οποίες αναπτύσσουν παράλληλα διαφορετικές εκδόσεις ενός παιχνιδιού.

Μόνο επαγγελματικό ενδιαφέρον για νεαρούς προγραμματιστές έχουν τα σχετικά τρικ, καθώς αυτοί είναι που θα φάνε τη 'λάτζα' ενώ οι πιο γυαλιστεροί συνάδελφοί τους θα είναι στην 'A Team' που δουλεύει τις σύγχρονες εκδόσεις.

Αυτό που λέγεται από αυτούς που δεν θέλουν cross-gen είναι ότι οι περισσότεροι developers δεν φτιάχνουν δύο εντελώς διαφορετικές εκδόσεις όταν πρέπει να υποστηρίξουν εντελώς διαφορετικό hardware αλλά, για λόγους κόστους, βασίζουν το παιχνίδι στον ελάχιστο κοινό παρονομαστή και απλά καλλωπίζουν περισσότερο την έκδοση στο πιο ισχυρό μηχάνημα. Για παράδειγμα, αν ένας χάρτης στο επόμενο Horizon είναι τόσο εκτενής που δεν μπορεί να ανταπεξέλθει ο HDD του PS4 τότε ο χάρτης θα επανασχεδιαστεί για να γίνει playable και θα χρησιμοποιηθεί και στις δύο εκδόσεις, άρα τα χέρια των developers δένονται από την άλλη έκδοση.
 
Αυτό μόνο σε developers που στενεύονται οικονομικά. Ειδικά για την περίπτωση του Horizon, το χρήμα ρέει άφθονο, συμβιβασμοί στην 'αληθινή' έκδοση, δεν πρόκειται να γίνουν.

Επίσης, έχετε υπ' όψιν πως όταν ένας τίτλος αποφασίζεται να κυκλοφορήσει και για παλαιά συστήματα, αυτό βασίζεται αποκλειστικά και μόνο σε πρόσφατα νούμερα πωλήσεων. Τουτέστιν, έχω 5 μύρια ενεργούς χρήστες PS4 που χαλάνε 1Κ τουλάχιστον το χρόνο σε γκέημς και ψωνίζουν τις ΑΑΑ κυκλοφορίες; Το βγάζουμε. Ειδικά σε αγορές που γονείς μετρίου-χαμηλού εισοδήματος έχουν 'ένα πλεηστέησιο για να μη γκρινιάζουν τα παιδιά', βλέπεις κάτι PS4 και XB1 να κρατάνε 10+ χρόνια.
 
Αυτό μόνο σε developers που στενεύονται οικονομικά. Ειδικά για την περίπτωση του Horizon, το χρήμα ρέει άφθονο, συμβιβασμοί στην 'αληθινή' έκδοση, δεν πρόκειται να γίνουν.

Επίσης, έχετε υπ' όψιν πως όταν ένας τίτλος αποφασίζεται να κυκλοφορήσει και για παλαιά συστήματα, αυτό βασίζεται αποκλειστικά και μόνο σε πρόσφατα νούμερα πωλήσεων. Τουτέστιν, έχω 5 μύρια ενεργούς χρήστες PS4 που χαλάνε 1Κ τουλάχιστον το χρόνο σε γκέημς και ψωνίζουν τις ΑΑΑ κυκλοφορίες; Το βγάζουμε. Ειδικά σε αγορές που γονείς μετρίου-χαμηλού εισοδήματος έχουν 'ένα πλεηστέησιο για να μη γκρινιάζουν τα παιδιά', βλέπεις κάτι PS4 και XB1 να κρατάνε 10+ χρόνια.
Όσοι και να ρέει το χρήμα, αμφιβάλλω να κάνουν ριζικό ανασχεδιασμό για τις διαφορετικές εκδόσεις.
Επαναλαμβάνω ότι δεν μιλάνε αποκλειστικά για γραφικά αλλά για κάθε τομέα ενός τίτλου που επηρεάζεται από το υλικό.

Για να συνεχίσω το παράδειγμα του ναυάρχου, σίγουρα δεν θα μπορούν να έχουν ένα ίδιο φορτωμένο χάρτη στο ps5 και στο ps4 οπότε θα πορευτούν με βάση τις δυνατότητες του χαμηλότερου μοντέλου

Άλλο παράδειγμα που πιστεύω ότι ισχύει(αν και η @kara ξέρω ότι διαφωνεί) είναι η AI του cp77, που θεωρώ ότι ευνουχιστικε γιατί οι παλιές κονσόλες δεν μπορούσαν να σηκώσουν τόσους περίπλοκους αλγόριθμους.
 
Άλλο παράδειγμα που πιστεύω ότι ισχύει(αν και η @kara ξέρω ότι διαφωνεί) είναι η AI του cp77, που θεωρώ ότι ευνουχιστικε γιατί οι παλιές κονσόλες δεν μπορούσαν να σηκώσουν τόσους περίπλοκους αλγόριθμους.

Καμία game AI του σήμερα και του ορατού αύριο δεν πατάει πάνω σε κάτι τόσο σύνθετο, που να μην μπορεί να ανταποκριθεί άνετα μια πολυπύρηνη CPU mate, ακόμα και του yesteryear.

βλέπεις κάτι PS4 και XB1 να κρατάνε 10+ χρόνια.

Αυτό καλό είναι. Same goes for old PC hardware. Ξεζούμισμα μαραφετιών. Όχι PCBs, όχι SoC, όχι σκουπίδια σε θάλασσες και ακτές.
 
Καμία game AI του σήμερα και του ορατού αύριο δεν πατάει πάνω σε κάτι τόσο σύνθετο, που να μην μπορεί να ανταποκριθεί άνετα μια πολυπύρηνη CPU mate, ακόμα και του yesteryear.



Αυτό καλό είναι. Same goes for old PC hardware. Ξεζούμισμα μαραφετιών. Όχι PCBs, όχι SoC, όχι σκουπίδια σε θάλασσες και ακτές.
Να δεν μιλάμε για yesteryear, αλλά σε θέμα απόδοσης για yestercentury.
 
Θα επιμείνω. Δεν υπάρχει κάποια αναλογία με την επεξεργασία γραφικών εδώ. Θα εκπλαγείς από το computation για το οποίο είναι ικανό "yestercentury" hardware.
 
Back
Top