Γλώσσες προγραμματισμού – Πόσο καιρό και τι είδους πολυπλοκότητα θα συμμετείχε στον Chris Sawyer γράφοντας το μεγαλύτερο μέρος του μεγιστάνα του Rollercoaster στο Assembler? Λογισμικό μηχανικής στοίβας ανταλλαγής, Rollercoaster Tycoon: Το καλύτερο-βελτιστοποιημένο παιχνίδι όλων των εποχών? | PCGAMESN
Η συναρμολόγηση γίνεται περίπλοκη όταν κάνετε όλες αυτές τις τρελές βελτιστοποιήσεις (διανυσματικές λειτουργίες, χρησιμοποιώντας ειδικά σύνολα οδηγιών (SSE κ.λπ.) bit twiddling κ.λπ.) που απλά δεν μπορείτε να κάνετε από το C. Εάν κάνετε αυτά τα πράγματα, τότε ο χρόνος είναι στην πραγματικότητα στο “βιολί αυτό το κομμάτι, συναρμολογήστε, μετρήστε. βιολί αυτό το κομμάτι, συναρμολογήστε, μετρήστε. “βρόχος και όχι στην πραγματική κωδικοποίηση. τεράστιος .
?
Θα μπορούσε να έχει ξεκινήσει γράφοντας το στο C, και στη συνέχεια να αλλάξει τμήματα του στο Assembler όπως απαιτείται για την απόδοση?
Χα, χα, χα, αυτό είναι σαν μια ερώτηση από κάποιον που διαβάζει τα παλιά μου σχόλια.
. Δεδομένου ότι φαίνεται να είναι ένα άτομο «ένα έργο σε μια φορά» και το σύνολο εργαλείων και το χρονοδιάγραμμα δεν είναι εξαιρετικό για την «ανάπτυξη της ομάδας», θα υποθέσω έναν ευθεία 24 προγραμματιστή μηνών.
Σε εκείνο το σημείο ήταν επαγγελματίας προγραμματιστής παιχνιδιών που εργαζόταν στη Συνέλευση από το 1983, οπότε δεν θα εξισώσω “δύο χρόνια Chris” σε “δύο χρόνια” δουλειά.
Δεδομένου ότι τα περισσότερα επαγγελματικά παιχνίδια διαρκούν περίπου 25 άτομα για να αναπτυχθούν μια ομάδα, δύο χρόνια για ένα κορυφαίο παιχνίδι της βιομηχανίας είναι ένα εκπληκτικό επίτευγμα, δανείζοντας πηχίδα στα λόγια:
- Ένας μεγάλος προγραμματιστής είναι 10 φορές πιο παραγωγικός από έναν καλό προγραμματιστή
Έτσι, σε αυτή την περίπτωση, πόσο ταχύτερα θα ήταν ο μεγιστάνας του Rollercoaster, είχε ο Chris να χρησιμοποιήσει C ή Java ή Javascript ή . Πιθανώς δεν θα είχε σημασία εκτός από το γεγονός ότι ίσως ήταν λίγο πιο αργός χρησιμοποιώντας μια γλώσσα υψηλότερου επιπέδου που δεν είχε 14 χρόνια εμπειρίας με.
Απαντήθηκε στις 18 Νοεμβρίου 2010 στις 23:02
2,331 2 2 χρυσά κονκάρδες 18 18 ασημένια κονκάρδες 17 17 χάλκινα κονκάρδες
υπέροχα σημεία, σκέφτηκα ότι μπορεί να συμβαίνει αυτό.
κάθε .
Η συναρμολόγηση γίνεται περίπλοκη όταν κάνετε όλες αυτές τις τρελές βελτιστοποιήσεις (διανυσματικές λειτουργίες, χρησιμοποιώντας ειδικά σύνολα οδηγιών (SSE κ.λπ.) bit twiddling κ.λπ.) που απλά δεν μπορείτε να κάνετε από το C. . βιολί αυτό το κομμάτι, συναρμολογήστε, μετρήστε. “βρόχος και όχι στην πραγματική κωδικοποίηση. Με έναν καλό μακροεντολικό και έναν εξειδικευμένο προγραμματιστή, τότε η σύνταξη γραφής δεν είναι Βγείτε από τη συγγραφή κώδικα C.
Ακόμα, δεν θα ήμουν σε θέση να το κάνω! Τρέχω να σκεφτώ να προσπαθώ να αρχικοποιήσω απευθείας το DirectX στη συναρμολόγηση! Επεξεργασία: . !
?
Σε ένα νωρίς το πρωί της Κυριακής τον Απρίλιο του 1999, ο σχεδιαστής παιχνιδιών Chris Sawyer ήταν σκαρφαλωμένος στο κέντρο διοίκησης του καθιστικού του, μια συλλογή από τεχνολογία της δεκαετίας του ’90, Forums Forums Online. Στα τέλη Μαρτίου, ο εναρκτήριος μεγιστάνας Rollercoaster είχε προσγειωθεί σε ράφια στη Βόρεια Αμερική που στάζει με τη μεταδοτική αγάπη του Sawyer για θεματικά πάρκα και κάτι φαίνεται να έχει πάει σοβαρά λάθος.
. Μετά από χρόνια προσεκτικής δουλειάς, το παιχνίδι φάνηκε να έχει αυτοκατασκευαστεί για μυστηριώδεις λόγους. Αλλά ο Sawyer είχε μια χαρά: χθες το βράδυ, ο χρόνος εξοικονόμησης ημέρας είχε τεθεί σε ισχύ.
. . Οι προσαρμοσμένες χρονικές σφραγίδες στα αρχεία αποθήκευσης παιχνιδιών, εκεί για να προστατεύσουν την παραβίαση ή τη διαφθορά, δεν ταιριάζουν. . «Ή ήταν?«
Η κλήση του συστήματος που χρησιμοποίησε θα έπρεπε να έχει αποδώσει το χρόνο στο UTC, αμετάβλητο με την εξοικονόμηση ημέρας, δημιουργώντας κανένα πρόβλημα. “Μόνο για κάποιο λόγο,” λέει, “αυτό αλλαγή!.
. Γράφτηκε σχεδόν εξ ολοκλήρου στον κώδικα συναρμολόγησης (όπως ο προηγούμενος μεγιστάνας μεταφοράς του Sawyer), ο Tycoon του Rollercoaster και η συνέχεια του συμπιέστηκαν και επαναπροσδιορίστηκαν τους επεξεργαστές του χρόνου για να προσομοιώσουν βόλτες, οικονομίες και χιλιάδες επισκέπτες και τα κράτη τους. Η αναμονή σε τόσους πολλούς αριθμούς σε πραγματικό χρόνο χωρίς να χτυπήσει απαιτούσε μια άπαχη, ασυμβίβαστη προσέγγιση και όχι την πιο αργή, πιο φιλική προς το χρήστη οικογένεια γλωσσών. .
Είναι μια εξαιρετικά δύσκολη γλώσσα για μάθηση και έχει ξεφύγει από το στυλ από την ανάπτυξη του Fortran στη δεκαετία του 1950. Στις πρώτες του μέρες, ο Sawyer κυκλοφόρησε μια χούφτα παιχνίδια με κωδικοποιημένα Z80 στα μέσα της δεκαετίας του ’80 και συνέχισε να γίνεται ένας αστείος για τη μετατροπή των παιχνιδιών Amiga σε DOS, συμπεριλαμβανομένου του Classic Elite II.
. Μερικά από αυτά πήγαν στο ταξίδι στην Ευρώπη και τις ΗΠΑ για να οδηγήσουν κυλίνδρους σε μέρη όπως το Cedar Point στο Οχάιο. . .
Ο Sawyer βαρύνει φυσικά το συγκρότημα X86, εκτιμώντας την καθαρή παρουσίασή του και την αστραπή-γρήγορη κατάρτιση και όταν ξεκίνησε να κάνει τον Tycoon Rollercoaster, έβαλε δύο υπολογιστές: ένα γρήγορο για κωδικοποίηση και πιο αργή για δοκιμές. (Οι απαιτήσεις του συστήματος του παιχνιδιού ζήτησαν αργότερα ένα Intel Pentium 90MHz με τουλάχιστον 16 megabytes μνήμης RAM.) Επίσης, κάθισε στην κορυφή του Post Command ήταν ένας εκτυπωτής Dot Matrix (πιστεύει), μια μηχανή φαξ, ένας οδηγός τσέπης για τον κωδικό συναρμολόγησης x86 και μια αναφορά επιφάνειας εργασίας 500ish-page. .
“Είχα προγραμματιστεί στο x86 για τόσο πολύ καιρό σπάνια έπρεπε να κοιτάξω τα πράγματα”, λέει.
Το παλαιότερο παιχνίδι έμοιαζε με μεγιστάνα μεταφοράς αλλά με κυλίνδρους και ο γραφικός καλλιτέχνης του Simon Foster δημιούργησε ένα πιο ευέλικτο και φωτορεαλιστικό σύστημα, ώστε τα σουβέρ να φαινόταν το μέρος. . . .
. “Είναι εύκολο να προγραμματίσετε έναν αλγόριθμο αναζήτησης διαδρομής που λειτουργεί τέλεια”, λέει ο Sawyer, “αλλά δεν έχει καμία χρησιμότητα αν σταματήσει το παιχνίδι για δευτερόλεπτα ή λεπτά σε μια εποχή που πρέπει να λάβει μια απόφαση.«
Έσπασε τους αλγόριθμους, κρίνοντας πολλούς μικρούς άνδρες και γυναίκες στους θάμνους και κάτω από το λάθος διακοσμητικό μονοπάτι. “Είχα επισκεφθεί αρκετά μεγάλα θεματικά πάρκα στις ΗΠΑ μέχρι τότε και κατάφερε να χαθεί σε μερικούς από αυτούς ο ίδιος”, λέει ο ίδιος “, λέει. “Έτσι σκέφτηκα ότι ήταν πιθανότατα σωστό ότι οι επισκέπτες στο Rollercoaster Tycoon αγωνίστηκαν επίσης […] αν η διάταξη του πάρκου ήταν κακώς σχεδιασμένη.
Μόλις το παιχνίδι είχε εξελιχθεί από τη λίστα επιθυμιών του Ramshack. Ο εκδότης Hasbro διοργάνωσε επαγγελματίες playtesters και ο Sawyer έκανε τη δική του ατελείωτη εξέταση. Και παρά το Hiccup του χρόνου εξοικονόμησης ημέρας, ο Rollercoaster Tycoon συνέχισε να είναι το κορυφαίο παιχνίδι PC του 1999.
Για τη συνέχεια, ο Sawyer πρόσθεσε στην αρχική βάση κώδικα, πλησιάζοντας στο τελικό του όραμα. “Αγαπώ ακόμα αυτό το παιχνίδι και τα πάντα γι ‘αυτό”, δήλωσε στο Eurogamer το 2016. Ο Sawyer συνέχισε να πηγαίνει με τη Συνέλευση, χρησιμοποιώντας το σχεδόν αποκλειστικά για να κωδικοποιήσει τη μετακίνηση του Chris Sawyer το 2004, το πιο φιλόδοξο παιχνίδι του μέχρι σήμερα, καθώς και τον τελευταίο μεγάλο τίτλο του Desktop του. .
. . .
.