Τομείς των επτά δευτερολέπτων: πώς το TUNL δίνει ρυθμό σε μια πτήση
Μια καμπύλη δυσκολίας σου λέει πόσο δύσκολο είναι το παιχνίδι σε κάθε στιγμή. Δεν σου λέει πώς νιώθεις την πτήση. Αυτή είναι η ιστορία της αντικατάστασης ενός σωρού ανεξάρτητων καμπυλών με ένα σχέδιο, και της μέτρησης του αν δούλεψε.
Στις πρώτες δώδεκα περίπου εκδόσεις, η δυσκολία του TUNL ήταν ένα σύνολο ξεχωριστών καμπυλών. Η απόσταση των σταλακτιτών είχε μια καμπύλη, η απόσταση των ναρκών είχε μια καμπύλη, η απόσταση των νομισμάτων είχε μια καμπύλη, και η καθεμία ήταν συνάρτηση του πόσο βαθιά ήσουν στη σπηλιά. Κάθε καμπύλη έβγαζε νόημα μόνη της. Μαζί έβγαζαν μια πτήση που έμοιαζε άνιση, και όταν τελικά τη μέτρησα, οι αριθμοί έλεγαν το ίδιο με την αίσθηση.
Τι βρήκε ο έλεγχος
Ξανάτρεξα τους πραγματικούς spawners και την πραγματική φυσική με bots σε τέσσερα επίπεδα δεξιότητας, εκατό πτήσεις το καθένα, σε 24 διαφορετικά ημερήσια seeds. Μετά κοίταξα πότε συνέβαιναν νέα πράγματα και πού χάνονταν τα bots. Ξεχώρισαν τέσσερα προβλήματα:
- Ο ρυθμός ήταν άνισος. Επτά νέα στοιχεία έφταναν στα πρώτα εννέα δευτερόλεπτα. Μετά τίποτα νέο για δεκατρία δευτερόλεπτα. Μετά πέντε στα επόμενα δεκατέσσερα. Μετά τίποτα νέο, ποτέ, για την υπόλοιπη πτήση.
- Το πρώτο λάθος ήταν μοιραίο για τους αρχάριους. Το 41% των πτήσεων του πιο αδύναμου bot τελείωνε μέσα σε οκτώ πόντους από τη στιγμή που οι τοίχοι γίνονταν θανατηφόροι, και το 91% των θανάτων αυτού του bot ήταν σε τοίχους. Η ανοιχτή ασφαλής ζώνη στην αρχή απλώς σε έσπρωχνε πίσω, οπότε δεν μπορούσε να διδάξει το ένα πράγμα που χρειάζονταν να μάθουν οι αρχάριοι.
- Η μέση ήταν γκρεμός. Η πυκνότητα των σταλακτιτών διπλασιαζόταν δύο φορές ανάμεσα στο σκορ 300 και το 1.150, και αυτό τελείωνε κάθε πτήση του έμπειρου bot κάπου στο εύρος 500-900.
- Οι νάρκες τριπλασιάστηκαν κατά λάθος. Οι πιο αραιοί σταλακτίτες σταμάτησαν έναν κανόνα τοποθέτησης από το να απορρίπτει νάρκες και νομίσματα, οπότε ο αριθμός των ναρκών τριπλασιάστηκε χωρίς να το ζητήσει κανείς. Αυτή η σύζευξη μετράει παρακάτω.
Η ιδέα: μια πτήση είναι μια σειρά από τομείς
Αντί για ξεχωριστές καμπύλες, έγραψα ένα σχέδιο. Μια πτήση είναι μια σειρά από τομείς, ο καθένας επτά δευτερόλεπτα με μια σταθερή ταχύτητα αναφοράς. Ο τομέας 0 είναι η ασφαλής εναρκτήρια πτήση. Κάθε επόμενος τομέας είτε εισάγει ακριβώς ένα νέο πράγμα είτε δυναμώνει κάτι που ήδη ξέρεις. Ένα μήνυμα «ΤΟΜΕΑΣ n» εμφανίζεται σε κάθε όριο από τον τρίτο και μετά, ώστε ο παίκτης να νιώθει τη δομή.
Το μήκος μετριέται σε δευτερόλεπτα, όχι σε pixel, σκόπιμα. Η σπηλιά συνεχίζει να επιταχύνει, οπότε ένας σταθερός αριθμός pixel του κόσμου σημαίνει όλο και λιγότερο χρόνο όσο προχωρά η πτήση. Ένας τομέας ορισμένος σε pixel θα γινόταν συνεχώς πιο κοντός. Ορισμένο σε δευτερόλεπτα αναφοράς, και μετατρεπόμενο πίσω σε θέση στον κόσμο με ολοκλήρωση της τάσης της ταχύτητας αναφοράς, ένα όριο τομέα παραμένει καθαρή συνάρτηση της θέσης. Αυτό μετράει γιατί όλο το παιχνίδι πρέπει να μένει ίδιο για κάθε παίκτη: έγραψα γιατί στο άρθρο για την ημερήσια σπηλιά.
| Τομέας | Σκορ | Τι είναι νέο |
|---|---|---|
| 0 | 0 - 50 | Ανοιχτός διάδρομος. Νομίσματα χρυσού και κλεψύδρας. |
| 1 | 50 - 110 | Πρώτοι σταλακτίτες, νόμισμα ασπίδας |
| 2 | 110 - 180 | Πυρομαχικά, μαγνήτης |
| 3 | 180 - 250 | Πρώτη νάρκη (μόνη, στο κέντρο), νόμισμα βόμβας |
| 4 | 250 - 330 | Βράχοι |
| 5 | 330 - 410 | Σικέιν, σταδιακά |
| 6 | 410 - 490 | Κανόνια |
| 7 | 490 - 580 | Σταλακτίτες που πέφτουν |
| 8 | 580 - 680 | Νόμισμα δηλητηρίου |
| 9 | 680 - 770 | Νόμισμα δίνης |
| 10+ | 770 και πάνω | Τίποτα καινούργιο. Οι ρυθμοί συνεχίζουν να μεγαλώνουν. |
Δύο κανόνες αποφασίζουν τη σειρά. Τα εργαλεία έρχονται πριν από την απειλή που αντιμετωπίζουν. Το νόμισμα ασπίδας εμφανίζεται έναν τομέα πριν από την πρώτη νάρκη, ώστε ο παίκτης να έχει μία να ξοδέψει. Και τα εργαλεία δεν μπορούν να έρθουν πολύ αργά, γιατί οι ημερήσιες αποστολές («μάζεψε πέντε πυρομαχικά», «πιάσε δύο μαγνήτες», «χρησιμοποίησε τρεις βόμβες») αθροίζονται για τη μέρα και πρέπει να μένουν εφικτές για τους περιστασιακούς παίκτες, των οποίων οι πτήσεις τελειώνουν γύρω στον δεύτερο ή τρίτο τομέα. Πριν μετακινήσω οποιοδήποτε όριο νομίσματος, έλεγξα τη λίστα των αποστολών.
Οι πυκνότητες είναι ρυθμοί, όχι αποστάσεις
Μέσα σε έναν τομέα, η πυκνότητα ενός κινδύνου είναι ρυθμός ανά δευτερόλεπτο αναφοράς: θέσεις σταλακτιτών δύο ανά δευτερόλεπτο στον τομέα 1, με αύξηση 14% ανά τομέα, που χαλαρώνει σε 8% ανά τομέα από τον τομέα 8 και μετά. Οι νάρκες ξεκινούν στο 0,28 ανά δευτερόλεπτο στον τομέα 3, με αύξηση 20% ανά τομέα και μετά 10%. Η απόσταση σε pixel προκύπτει από τον ρυθμό και κρατά ένα σκληρό κατώτατο όριο, ώστε οι ρυθμοί να μεγαλώνουν χωρίς όριο και κάθε πτήση να τελειώνει. Η νάρκη είναι αυτό που το εγγυάται, γιατί μια νάρκη μπορεί να βρίσκεται οπουδήποτε στον διάδρομο, οπότε κανένα πλάτος διαδρόμου δεν κάνει μια αρκετά γρήγορη σπηλιά επιβιώσιμη.
Κάθε τομέας είναι επίσης ένα πριόνι. Το πρώτο του πέμπτο τρέχει στο 55% της πυκνότητας-στόχου, με επιπλέον υποψήφια νομίσματα ως ανταμοιβή, και μετά ανεβαίνει από 80% ως 115% προς το επόμενο όριο. Έτσι ο παίκτης παίρνει μια ανάσα στην αρχή κάθε τομέα, μετά αυξανόμενη πίεση, μετά μια νέα ιδέα. Μια σταθερή ανηφόρα εξαντλεί. Μια ανηφόρα με στάσεις είναι κάτι που ο κόσμος αποκαλεί δίκαιο.
Ρύθμιζε με βάση τον μετρημένο ρυθμό, ποτέ με βάση τον αριθμό της απόστασης. Οι κανόνες τοποθέτησης απορρίπτουν αντικείμενα που θα έπεφταν κάπου άδικα, και το ποσοστό που απορρίπτουν αλλάζει με την πυκνότητα. Αν μισέψεις μια τιμή απόστασης, οι κίνδυνοι δεν διπλασιάζονται, και αυτή η σύζευξη είναι ακριβώς ο τρόπος που τριπλασιάστηκαν οι νάρκες την πρώτη φορά. Γι' αυτό κάθε πέρασμα ρύθμισης τελειώνει με ένα replay που μετρά τα αντικείμενα που πραγματικά τοποθετήθηκαν ανά πραγματικό δευτερόλεπτο.
Γρατζουνιές ατράκτου: συγχωρούν τον τοίχο, όχι την αιχμή
Η δεύτερη μεγάλη αλλαγή ήταν για τους αρχάριους που χάνονταν στον πρώτο τοίχο. Ένα σκάφος έχει τώρα δύο γρατζουνιές ατράκτου. Μια επαφή με τοίχο ξοδεύει μία, αναπηδά το σκάφος πίσω μέσα και γράφει «ΓΡΑΤΖΟΥΝΙΑ!». Όταν δεν μένει καμία, η επόμενη επαφή τελειώνει την πτήση.
Ξεκίνησαν ως προσωρινή βοήθεια που έληγε στον τομέα 3. Μόλις κάθε πτήση άρχισε να ξεκινά με είσοδο στο στόμιο του τούνελ με θανατηφόρους τοίχους από την πρώτη στιγμή, είχε νόημα να κρατούν όλη την πτήση, και κρατούν. Η περίοδος χάριτος μετά από μια γρατζουνιά προστατεύει μόνο από τον τοίχο. Σταλακτίτες, νάρκες, βράχοι και βολές παραμένουν θανατηφόρα, και το σκάφος δεν αναβοσβήνει. Αν η χάρη κάλυπτε τα πάντα, ένας καλός παίκτης θα μπορούσε να γρατζουνίσει επίτηδες έναν τοίχο για να περάσει μέσα από ένα πεδίο σταλακτιτών, οπότε ο κανόνας είναι ότι οι γρατζουνιές συγχωρούν λάθη στους τοίχους και τα ευθέα χτυπήματα είναι δουλειά της ασπίδας.
Δοκίμασα και την προφανή εναλλακτική, μια δωρεάν ασπίδα την ίδια στιγμή. Βοήθησε κυρίως τη δυνατή βαθμίδα, που τη χρησιμοποιούσε για να επιζήσει από έναν σταλακτίτη αργότερα, και ανέβασε τη διάμεση πτήση της κατά περίπου 72%. Ανταμείβε δεξιότητα που δεν χρειαζόταν τη βοήθεια, και την εγκατέλειψα.
Δούλεψε;
Τα ίδια bots, στα ίδια seeds, πριν και μετά. «Μέτριο» είναι η βαθμίδα της οποίας η συμπεριφορά ταίριαζε καλύτερα με τους πραγματικούς παίκτες στην προηγούμενη έκδοση.
| Βαθμίδα bot | Διάμεσο σκορ | Φτάνει τους 100 | Χάνεται μέσα σε 8 πόντους από τη στιγμή που οι τοίχοι γίνονται θανατηφόροι |
|---|---|---|---|
| Αρχάριο | 65 → 95 | 4% → 39% | 41% → 3% |
| Μέτριο | 107 → 155 | 32% → 70% | 16% → 2% |
| Καλό | 205 → 401 | 80% → 91% | 1% → 1% |
| Έμπειρο | 715 → 928 | 100% | 0% |
Το ποσοστό θανάτων ανά τομέα της μέτριας βαθμίδας έγινε ανηφόρα (38%, μετά 60%, μετά 68% στους τρεις πρώτους τομείς με κινδύνους) αντί για γκρεμό. Αυτό είναι το σχήμα που ήθελα: το τέλος μιας πτήσης πρέπει να γίνεται σταδιακά πιο πιθανό, όχι ξαφνικά βέβαιο.
Τι δεν διόρθωσε
Τα έμπειρα bots εξακολουθούν να πέφτουν σε έναν τοίχο χρόνου αντίδρασης γύρω στους τομείς 10 και 11, όπου τελειώνει το 63% και μετά το 77% των έμπειρων πτήσεων. Πριν από το σχέδιο ήταν 100% στους τομείς 7 και 8, οπότε αυτό είναι πραγματική βελτίωση, αλλά δεν είναι η ομαλή ανηφόρα που έχουν οι προηγούμενοι τομείς. Δοκίμασα δύο προφανείς διορθώσεις: πιο αργή αύξηση του μήκους των σταλακτιτών και πιο αργή άνοδο της πιθανότητας για σικέιν. Και οι δύο μετρήθηκαν χωρίς αποτέλεσμα. Ο μοχλός που μένει είναι η ίδια η ταχύτητα, και τον άφησα ήσυχο, γιατί η ταχύτητα σκόπιμα δεν σταθεροποιείται ποτέ, και μια σπηλιά που σταματά να επιταχύνει είναι μια σπηλιά που έχει σταματήσει να ζητά κάτι νέο από έναν πολύ καλό παίκτη.
Τι θα κρατούσα
Δύο συνήθειες. Πρώτον, σχεδίαζε τη σειρά αυτών που συναντά ένας παίκτης, όχι μόνο πόσο δύσκολο είναι το καθένα: μία νέα ιδέα κάθε φορά διαβάζεται σαν παιχνίδι που σε διδάσκει, ενώ πέντε μαζί διαβάζονται σαν παιχνίδι που σε φορτώνει. Δεύτερον, μην εμπιστεύεσαι ποτέ μια αλλαγή δυσκολίας μέχρι μια προσομοίωση να σου πει πού χάνεται κάθε είδος παίκτη. Και οι δύο μεγαλύτερες εκπλήξεις εδώ, ο αριθμός των ναρκών και οι θάνατοι στον πρώτο τοίχο, ήταν αόρατες παίζοντας και προφανείς σε έναν πίνακα.
Μπορείς να διαβάσεις την εκδοχή του ίδιου σχεδίου για τους παίκτες στον οδηγό για το πώς παίζεται.