Αναμφίβολα, σε θέμα γραφικών τα παιχνίδια γίνονται καλύτερα χρόνο με τον χρόνο. Μέσα σε λίγους μήνες είδαμε καταπληκτικά παιχνίδια με υψηλά τεχνολογικά στάνταρ όπως το Horizon: Zero Dawn, το Prey και το Injustice 2.
Τα γραφικά των παιχνιδιών βελτιώνονται όμως οι χρόνοι των loading screens, το χειρότερο σημείο για πολλούς παίκτες, όλο και πιο πολύ μεγαλώνουν και πληθαίνουν σε πολλά παιχνίδια. Σε μερικές περιπτώσεις, ο χρόνος φόρτωσης είναι τόσο μεγάλος, που οι προγραμματιστές πρέπει να επέμβουν και να το μειώσουν με updates μετά την κυκλοφορία του παιχνιδιού. Έτσι, δημιουργούνται τα εξής ερωτήματα,
Που οφείλονται τα μεγάλα loading screens και πως μπορεί να λυθεί το θέμα;
Σύμφωνα με τους προγραμματιστές, τα παιχνίδια μπορούν να έχουν καταπληκτικά γραφικά, αλλά το hardware το οποίο αποθηκεύει και φορτώνει τα αρχεία δεν βελτιώνεται με το ίδιο ρυθμό. H υψηλή απόδοση των επεξεργαστών και των καρτών γραφικών ξεπέρασαν τις ταχύτητες διαβάσματος των σκληρών δίσκων.
Οι σκληροί δίσκοι μπορούν να φορτώσουν δεδομένα γρηγορότερα από ότι πριν μία δεκαετία, και οι κονσόλες έχουν περισσότερη μνήμη από τις προηγούμενες γενιές, αλλά η βελτίωσή τους δεν είναι ανάλογη.
Ο Robert Dieterich, προγραμματιστής σε παιχνίδια όπως το Elite Beat Agents και Lips, πρόσφερε μεγέθη από textures, τα οποία κάνουν τα αντικείμενα και τα περιβάλλοντα μέσα στα παιχνίδια να είναι πιο λεπτομερή. Για παράδειγμα, εάν ένας προγρααμματιστής ανεβάσει το μέσο μέγεθος των textures από 1024×1024 σε 2048×2048, τα δεδομένα είναι τέσσερις φορές μεγαλύτερα, ενώ εάν είναι σε μέγεθος 4096×4096 τότε σημαίνει ότι είναι δεκαέξι φορές μεγαλύτερα από την μέση τιμή. Ο Robert σημείωσε ότι όταν αναβαθμίζεις τον σκληρό δίσκο από 5400 στροφές το δευτερόλεπτο (RPM), σε 7200 στροφές το δευτερόλεπτο, αυτό είναι μόλις 33% ενίσχυση απόδοσης. Οι υβριδικοί σκληροί δίσκοι (SSD) προσφέρουν σημαντική απόδοση διαβάσματος όμως είναι πολύ ακριβοί ανάλογα το μέγεθος, αλλά και πάλι «παλεύουν» τις αυξήσεις μεγέθους των αρχείων.
Δεν είναι όμως το μέγεθος των textures πάντα το πρόβλημα στη φόρτωση του παιχνιδιού, σύμφωνα με τον William Armstrong, προγραμματιστή σε παιχνίδια όπως το Bioshock 2 και το Firewatch που σημείωσε ότι το setup του παιχνιδιού και των αρχείων, μηχανισμοί όπως η συμπεριφορά της AI, οι μηχανισμοί αποθήκευσης/φόρτωσης παίζουν σημαντικό ρόλο στην φόρτωση των δεδομένων.
Αν μη τι άλλο, δεδομένης αυτής της απόκλισης στην πρόοδο μεταξύ του μεγέθους δεδομένων και των ταχυτήτων του σκληρού δίσκου, είναι πραγματικά περίεργο ότι οι χρόνοι φόρτωσης δεν αυξήθηκαν τα τελευταία χρόνια. Αυτό οφείλεται στο γεγονός ότι
οι προγραμματιστές έχουν δημιουργήσει διάφορες τεχνικές για να αποκρύψουν ή να ελαχιστοποιήσουν με άλλο τρόπο τους χρόνους φόρτωσης
Οι οθόνες φόρτωσης, δήλωσε ο Dieterich, συνήθως δεν είναι εκεί που ξεκινά η φόρτωση – αντιθέτως, είναι συχνά το τέλος μιας σειράς διαδικασιών φόντου που αρχίζουν να τρέχουν πολύ πριν το παιχνίδι παίξει σε αυτό το βήμα προόδου, κάτι που οι προγραμματιστές θέλουν να αποφύγουν όπου είναι εφικτό.
Για παράδειγμα, μερικά παιχνίδια αρχίζουν να φορτώνουν δεδομένα κατά τη διάρκεια των λογοτύπων εταιρειών που δεν μπορούν να διαγραφούν στην αρχή των παιχνιδιών. Πολλά φορτώνουν το μεγαλύτερο μέρος του κόσμου τους πριν μπείτε σε αυτούς, γι ‘αυτό και οι αρχικές οθόνες φόρτωσης είναι τόσο μεγάλες.
Άλλα δεδομένα ροής εμφανίζονται ενώ παίζετε ή χρησιμοποιούν ένα μείγμα και των δύο αυτών τεχνικών. Πολλά σύγχρονα παιχνίδια παράγουν επίσης μερικά από αυτά που συναντάτε στον κόσμο του παιχνιδιού, παίρνοντας ένα μικρό ποσό δεδομένων και χρησιμοποιώντας το για να χτίσουν μεγαλύτερα πράγματα, όπως textures υψηλής ποιότητας, κατά τη διάρκεια του χρόνου εκτέλεσης του παιχνιδιού. «Αυτός ο τοίχος από τούβλα» μπορεί να μην προέρχεται από αρχείο .BMP, αλλά από μια μαθηματική εξίσωση.
Όλα αυτά, όμως, έρχονται με τις δικές τους επιπλοκές. Για παράδειγμα, ένας από τους πιο αξιόπιστους τρόπους για να μειωθούν οι χρόνοι φόρτωσης είναι να «ψηθούν» τα πάντα που ένα συγκεκριμένο μέρος ενός παιχνιδιού απαιτεί, και μόνο ό,τι απαιτεί, σε αποτελεσματικές δέσμες δεδομένων, τα οποία στη συνέχεια μπορούν να φορτωθούν ανάλογα με τις ανάγκες.
Οι προγραμματιστές μπορούν να το κάνουν αυτό όταν ξέρουν πού θα είναι οι παίκτες στον κόσμο του παιχνιδιού και τι θα κάνουν από εκεί και πέρα. Πιο απλά, θα δείτε συχνά να συμβαίνει στην αρχή ενός παιχνιδιού ή ενός επιπέδου.
Αλλά δεν είναι πάντα εύκολο να προβλεφθεί τι θα κάνουν οι παίκτες, ειδικά με όλο και περισσότερα παιχνίδια να είναι ανοιχτού κόσμου. «Όσο πιο απρόβλεπτος είναι ο προορισμός του παίκτη, τόσο λιγότερο πιθανό είναι να μπορέσεις να προβλέψεις ακριβώς ποια δεδομένα θα χρειαστεί ο παίκτης», δήλωσε ο Dieterich. «Αυτός είναι ο λόγος που πιθανότατα θα συναντήσετε μια οθόνη φόρτωσης σε ένα παιχνίδι ανοιχτού κόσμου, εάν ταξιδεύετε γρήγορα σε μια μακρινή περιοχή, ενώ δεν θα είχατε δει μια οθόνη φόρτωσης εάν πηγαίνατε εκεί χειροκίνητα».
Πολλές φορές, οι προγραμματιστές δεν γνωρίζουν το δικό τους παιχνίδι αρκετά καλά μέχρι το τέλος του κύκλου ανάπτυξης ώστε να τελειοποιήσουν αποτελεσματικά τους χρόνους φόρτωσης. Η ανάπτυξη παιχνιδιού αποτελείται από αμέτρητα κινούμενα κομμάτια, κάθε ένα από τα οποία είναι στα πρόθυρα «να πιάσει φωτιά» σε οποιαδήποτε δεδομένη στιγμή.
Είναι μια σειρά από συμβιβασμούς
Η εφαρμογή ενός πράγματος εδώ μπορεί να προκαλέσει μεγαλύτερους χρόνους φόρτωσης ή σφάλματα. Αυτό εξαρτάται και από τη μηχανή του παιχνιδιού. Μερικές μηχανές χειρίζονται τις ιδιαιτερότητες ορισμένων τεχνικών φόρτωσης καλύτερα από τις άλλες και οι περισσότερες μηχανές γενικής χρήσης είναι κατασκευασμένες πριν οι προγραμματιστές ξέρουν πραγματικά πώς θα εμφανιστεί το παιχνίδι τους. Υπάρχουν εικασίες που εμπλέκονται, και αυτές οι εικασίες δεν λειτουργούν πάντα.
Για να αποφευχθούν τα σφάλματα, οι προγραμματιστές θέλουν να έχουν το περιεχόμενο των παιχνιδιών τους κλειδωμένο πριν ξεκινήσουν “χειρουργικά” να τεμαχίζουν πράγματα όπως οι χρόνοι φόρτωσης. Το πρόβλημα είναι ότι αυτό συμβαίνει συνήθως στο τέλος της ανάπτυξης. Οι προγραμματιστές μπορούν να αντιμετωπίσουν τόσα πολλά προβλήματα πριν να έρθει η ώρα να στείλουν ένα παιχνίδι για πιστοποίηση και στη συνέχεια να το κυκλοφορήσουν.
Οι χρόνοι φόρτωσης δεν είναι το υψηλότερο πράγμα στην λίστα προτεραιότητας
Όταν οι προγραμματιστές είναι στην τελική φάση για να κυκλοφορήσουν το παιχνίδι τους, κάνουν απολογισμό όλων των προβλημάτων που έχουν και δίνουν προτεραιότητα σε κάθε ένα με βάση το κόστος και τα οφέλη από τον καθορισμό ή τη βελτίωση. O JP LeBretton, σχεδιαστής σε παιχνίδια όπως Bioshock και το Spacebase DF-9 είπε μιλώντας το Kotaku: «Για το λανσάρισμα, οι προγραμματιστές συχνά δίνουν προτεραιότητα στη σταθερότητα αντί στην απόδοση, διασφαλίζοντας ότι το παιχνίδι δεν κρασάρει ποτέ και είναι πλήρως αναπαραγόμενο και μπορεί να ολοκληρωθεί. Είναι ένα στοίχημα μεταξύ του τι μπορεί να διαλύσει την εμπειρία του παιχνιδιού στους παίκτες. Ένα παιχνίδι που εκτελείται σε κακή κατάσταση μπορεί να αναπαραχθεί από τους παίκτες, αλλά όταν ένα παιχνίδι κρασάρει δεν είναι ευχάριστο για τους παίκτες».
Αυτές τις μέρες, βλέπουμε όλο και περισσότερους προγραμματιστές να διορθώνουν τους μεγάλους χρόνους φόρτωσης μετά την κυκλοφορία, δεδομένου ότι μόνο μετά τη κυκλοφορία οι προγραμματιστές έχουν αρκετό χρόνο για να κάνουν τον απολογισμό τους συνολικά.
Δεν υπάρχουν και πολλά πράγματα που οι προγραμματιστές μπορούν να κάνουν πριν την κυκλοφορία του παιχνιδιού για την επίλυση αυτού του προβλήματος.
Οι οθόνες φόρτωσης πιθανώς θα υπάρχουν, αν ακόμη χρησιμοποιούμε μαγνητικούς δίσκους για την αποθήκευση αρχείων, οι διορθώσεις θα συνεχίσουν να έρχονται (αν γίνεται) μετά την κυκλοφορία των παιχνιδιών.
Οι χρόνοι φόρτωσης, λέει ο William Armstrong, είναι «παρόμοιοι με παιχνίδια που κυκλοφορούν με σφάλμα στα ηλεκτρονικά χαρακτηριστικά τους ή σφάλματα στις αποστολές όταν παίζετε το παιχνίδι με απροσδόκητη σειρά ή πολύ γρήγορα. Αυτά τα σφάλματα φαίνονται μόνο όταν ολοκληρωθεί η παραγωγή του παιχνιδιού».