«Ως χομπίστας στο Unreal, κάνω κάτι λίγο χαζό», είπε ο dev Tommy Hanusa στα social media. «Βάζω το timescale στο 0,000001 ώστε να μπορεί ο παίκτης/τεσταδόρος να βγει από την παύση και να πετάξει γύρω (με κατάλληλα γελοία ταχύτητα της τάξης των 5.000.000) σε περίπτωση που θέλει να μου δείξει κάτι.»
Πολλοί άλλοι devs μου είπαν ότι απλώς βάζουν το timescale του παιχνιδιού στο 0 όταν πατηθεί παύση και φροντίζουν ορισμένες λειτουργίες, όπως το μενού UI, να αγνοούν αυτή την εντολή και να δουλεύουν κανονικά.
Τόσες πολλές γεύσεις
Ένα άλλο στοιχείο της παύσης ενός παιχνιδιού που δεν είχα σκεφτεί ήταν ότι υπάρχουν διαφορετικά είδη παύσης. Για παράδειγμα, το πάτημα του start μπορεί να παγώσει το παιχνίδι και να φέρει το μενού παύσης. Αλλά τι γίνεται αν αποσυνδέσεις το χειριστήριο; Τι γίνεται αν ανοίξεις το inventory του παιχνιδιού; Τι γίνεται αν πατήσεις το guide button στο Xbox και βγεις στο guide; Αυτά είναι διαφορετικά είδη παύσης και μερικά παιχνίδια έχουν πολλά από αυτά.
«Δούλεψα σε διάφορα παιχνίδια στη Frontier, συμπεριλαμβανομένου του Kinectimals στο Xbox 360», εξήγησε ο game dev Andrew Gillett μέσω email. «Δεν είχα άμεση εμπλοκή με αυτό το κομμάτι, αλλά θυμάμαι ότι υπήρχαν περίπου επτά διαφορετικά επίπεδα “παύσης”. Για παράδειγμα, το παιχνίδι έπρεπε να παγώνει αν η κάμερα Kinect αποσυνδεόταν, και αυτό ήταν διαφορετικό είδος παύσης από όταν ο χρήστης άνοιγε το σύστημα μενού του Xbox.»
Ο Dreamless στο BlueSky εξήγησε ότι αυτά τα διαφορετικά είδη παύσης μπορούσαν μερικές φορές να δημιουργήσουν πονοκεφάλους στους devs.
«Θυμάμαι στην εποχή Xbox/PS2 κάναμε παύση για το κανονικό gameplay», είπε ο Dreamless. «Με εξαιρέσεις όπως δεν μπορείς να πατήσεις παύση κατά τη διάρκεια QTEs κλπ. Ύστερα, όταν ερχόταν η ώρα να στείλουμε το παιχνίδι, διαβάζαμε τα [Technical Requirements Checklists] και έπρεπε να γυρίσουμε πίσω και να προσθέσουμε ειδική παύση για όταν αποσυνδέεις το χειριστήριο. Οι δύο παύσεις συγκρούονταν και δημιουργούσαν bugs.»
Κοίτα αυτή τη φωτογραφία
Ίσως η αγαπημένη μου μέθοδος παύσης περιλαμβάνει devs που παγώνουν το χρόνο και τραβάνε ένα screenshot του παιχνιδιού, το οποίο χρησιμοποιείται ως φόντο πίσω από το UI του μενού παύσης, επιτρέποντάς τους να κάνουν ό,τι θέλουν πίσω από αυτή την εικόνα, όπως να μην αποδίδουν εχθρούς ή ακόμα και να μεταφέρουν τον παίκτη σε ένα άδειο δωμάτιο.
«Συνήθως θα… τραβήξω ένα screenshot του gameplay τη στιγμή που παγώνει το παιχνίδι και μετά θα το σχεδιάσω κάτω από όποιο μενού παύσης, ενώ παράλληλα δεν σχεδιάζω πλέον τα πραγματικά αντικείμενα», είπε ο game dev DW O’Boyle. «Αυτό γίνεται κυρίως για να ελευθερώσω λίγη μνήμη, αλλά δεν είναι πραγματικά απαραίτητο για το στυλ παιχνιδιών που φτιάχνω.»
«Στα περισσότερα παιχνίδια της Vlambeer και στο Minit / Disc Room», είπε ο developer Jan Willem Nijman, «τραβάω ένα screenshot (με το UI απενεργοποιημένο), μετά είτε πηγαίνω σε ένα εντελώς διαφορετικό άδειο δωμάτιο είτε απενεργοποιώ τα πάντα… με αυτό το screenshot ως φόντο, και κατά την απαπαύση επιστρέφω πίσω. Μερικές φορές υπάρχει καθυστέρηση ενός frame επειδή το screenshot χρειάζεται το UI απενεργοποιημένο.»
Όταν κάποιος απάντησε ότι αυτό το κόλπο του φαινόταν πάντα “hacky”, ο Nijman είπε ότι σε κάθε παιχνίδι στο οποίο έχει δουλέψει θα βρεις «μια υγιή δόση hackyness.»
Όλοι το κάνουν λάθος μία φορά
Το μεγάλο μου takeaway από όλες αυτές τις απαντήσεις είναι ότι, γενικά, η παύση ενός παιχνιδιού δεν είναι το πιο περίπλοκο feature για να δουλέψει σε ένα project. Ωστόσο, πρέπει να είσαι προσεκτικός με το πώς το υλοποιείς και να κάνεις επαρκή τεστ αν το παιχνίδι σου έχει ιδιαιτερότητες που μπορεί να προκαλέσουν προβλήματα όταν αρχίσεις να παγώνεις το χρόνο του παιχνιδιού.
Ο developer Caliban Darklock μου είπε στο BlueSky ότι πολλοί δημιουργοί παιχνιδιών κάνουν λάθος στην προσθήκη λειτουργίας παύσης νωρίς στην καριέρα τους, κάτι που μπορεί να οδηγήσει σε προβλήματα, αλλά μπορεί επίσης να είναι ένα πολύ σημαντικό μάθημα.
«Την πρώτη φορά που υλοποίησα το “pause” σε ένα παιχνίδι, είχα κάθε αντικείμενο του παιχνιδιού να ελέγχει σε κάθε frame αν το παιχνίδι ήταν σε παύση, κάτι που υποβάθμιζε την απόδοση σε ολόκληρο το παιχνίδι», είπε ο Darklock. «Τώρα όλα τα αντικείμενά μου είναι τακτοποιημένα σε ιεραρχία και μόνο ένα αντικείμενο στην κορυφή ελέγχει αν το παιχνίδι είναι σε παύση.»
«Οι περισσότεροι developers κάνουν μια φρικτή, τσαπατσούλικη εφιάλτη δουλειά την πρώτη φορά που το υλοποιούν, και μετά ξέρουν καλύτερα για όλη τους τη ζωή.»