Lingue di programmazione – Per quanto tempo e che tipo di complessità sarebbe stato coinvolto nella scrittura di Chris Sawyer per la maggior parte del magnate delle montagne russe nell’assembler? Exchange Stack di ingegneria del software, magnate delle montagne russe: il gioco più ottimizzato di tutti i tempi? | Pcgamesn
. Se stai facendo quella roba, allora il tempo è effettivamente in “Giocate questo bit, assembla, misura. Piegare questo bit, assemblare, misura. “Loop e non nella codifica effettiva. Enorme .
Quanto tempo e che tipo di complessità sarebbe stato coinvolto nella scrittura di Chris Sawyer per la maggior parte del magnate delle montagne russe in assemblar?
Avrebbe potuto iniziare scrivendolo in C, e poi cambiarne parti in assemblatore secondo necessità per le prestazioni?
Ah, ah, ah, questa è una domanda di qualcuno che ha letto i miei vecchi commenti.
3 risposte 3
Dalla lettura della sua biografia approssimativa, sembra due anni (dall’inizio del 1997 alla fine del 1998). .
.
- Un ottimo programmatore è 10 volte più produttivo di un buon programmatore
- Il programmatore è più importante del linguaggio per la produttività
Quindi in questo caso quanto più veloce sarebbe stato scritto il magnate delle montagne russe se Chris usasse C o Java o JavaScript o . .
ottimi punti, ho pensato che potrebbe essere il caso.
Se pensi a C come poco più di un assemblatore “di alto livello” e presentiamo che Chris non fosse folle ottimizzazioni al suo codice di assemblaggio in routine, allora immagino in termini di % di tempo più a lungo, allora potrebbe non essere molto più per un programmatore di assemblaggio qualificato.
L’assemblea si complica quando si esegue tutte quelle folli ottimizzazioni (operazioni di vettoriale, utilizzando set di istruzioni speciali (SSE, ecc.) Bit pettina. Se stai facendo quella roba, allora il tempo è effettivamente in “Giocate questo bit, assembla, misura. Piegare questo bit, assemblare, misura. “Loop e non nella codifica effettiva. Enorme .
! Rabbrividisco di pensare di provare a inizializzare DirectX direttamente in assemblaggio! (Modificare: Wikipedia mi dice che ha scritto alcune parti in C per “interfaccia con il sistema operativo di Windows”, quindi immagino che stesse inizializzando DirectX in Assembly, quindi. !
Tycoon delle montagne russe: il gioco più ottimizzato di tutti i tempi?
Una domenica mattina presto nell’aprile 1999, il designer di giochi Chris Sawyer è stato arroccato nel suo soggiorno Centro di comando, una collezione di forum di navigazione degli anni ’90, navigando online. .
Nei forum, i giocatori stavano dicendo che il gioco aveva in qualche modo perso i loro progressi e li ha rimandati in Square One negli scenari del gioco, che avanzano sequenzialmente come livelli. Dopo anni di attento lavoro, il gioco sembrava essere autodistrutto per motivi misteriosi. Ma Sawyer ha avuto un sospetto: la scorsa notte, il tempo di risparmio del giorno aveva avuto effetto.
Forse era più che una coincidenza. . . . “O è stato?”
. “Solo per qualche motivo”, dice, “esso fatto modifica!.
La più grande ironia era che le montagne russe si trovavano altrimenti un monumento a ciò che una singola persona può realizzare nella programmazione. Scritto quasi interamente nel codice di assemblaggio (come il precedente magnate di trasporto di Sawyer), il magnate delle montagne russe e il suo sequel hanno spremuto e riprogrammato i processori del tempo per simulare giostre, economie e fino a migliaia di visitatori e i loro stati mentali. Sfruttare così tanti numeri in tempo reale senza l’autostop ha richiesto un approccio snello e intransigente e non la famiglia di lingue C più lenta e più user-friendly. E nell’assemblaggio ultra-leo, dove le lettere si trovano per quelli e zero, si parla direttamente al processore.
È un linguaggio estremamente difficile da imparare ed è uscito di moda dallo sviluppo di Fortran negli anni ’50. Ai suoi primi giorni, Sawyer ha rilasciato una manciata di giochi codificati con Z80 a metà degli anni ’80 e ha continuato a diventare un sostegno alla conversione di Amiga Games in DOS, tra cui la classica Elite II.
. Alcuni di questi sono andati in Europa in viaggio e negli Stati Uniti per cavalcare le montagne russe in luoghi come Cedar Point in Ohio. Ora ha cavalcato più di 700 sottobicchieri. Il suo preferito, Taron a Phantasialand in Germania, sembra qualcosa di fuori da un gioco da maglietta.
Sawyer gravitava naturalmente nell’assemblaggio X86, apprezzando la sua presentazione pulita e la compilazione di fulmini, e quando ha iniziato a rendere il magnate delle montagne russe, ha truccato due PC: uno veloce per la codifica e uno più lento per testare. (I requisiti di sistema del gioco in seguito hanno richiesto un Intel Pentium 90MHz con almeno 16 megabyte di RAM.) Sedeva anche in cima al suo post di comando c’erano una stampante a matrice di punti (crede), una macchina per fax, una guida tascabile per il codice di montaggio X86 e un riferimento desktop di 500ish page. .
“Avevo programmato in X86 per così tanto tempo che raramente avevo bisogno di cercare le cose”, dice.
. Gran parte del processo di progettazione iniziale è stato a forma libera e ispirata da alcuni ovvi predecessori: Will Wright, Peter Molyneux, Sid Meier. . Nuove caratteristiche significavano un onere più grande per il PC lento, e mentre alcuni di essi potevano essere lanciati dal codice, altri dovevano restare.
Pathfinding era uno di questi, ed è diventato il più grande mal di testa. “È facile programmare un algoritmo di ricerca del percorso che funziona perfettamente”, dice Sawyer, “ma non è utile se si blocca il gioco per secondi o minuti in un momento in cui deve prendere una decisione.”
Si separava gli algoritmi, arendo molti piccoli uomini e donne tra i cespugli e lungo il percorso decorativo sbagliato. “A quel punto avevo visitato alcuni grandi parchi a tema negli Stati Uniti e sono riuscito a perdersi in alcuni di loro”, dice. “Quindi ho pensato che probabilmente fosse giusto che anche gli ospiti nel magnate delle montagne russe hanno lottato […] se il layout del parco era mal progettato.”
Una volta che il gioco si era evoluto dalla lista dei desideri di Rantshackle in un tempio SVGA ai parchi a tema, Sawyer lo ha diffuso ad amici, vicini e figli dei vicini, che hanno risposto in modo molto positivo. L’editore Hasbro ha organizzato Playtesters professionista di caccia ai bug e Sawyer ha fatto il suo sondaggio infinito. .
Per il sequel, Sawyer ha aggiunto alla base di codice originale, avvicinandosi alla sua visione finale. “Adoro ancora quel gioco e tutto al riguardo”, ha detto a Eurogamer nel 2016. . Da allora è tornato indietro dallo sviluppo del gioco e ha concesso in licenza i diritti per i nuovi giochi per le montagne russe ad Atari – sforzi che non si sono mai avvicinati al successo dei primi due.
Sawyer non va d’accordo con l’industria com’è in questo momento, anche se apprezza la recente rinascita nei simpatici sim. . .
.