? Software Engineering Stack Exchange, RollerCoaster Tycoon: het best geoptimaliseerde spel aller tijden?

Rollercoaster Tycoon: het best geoptimaliseerde spel aller tijden

. Als je dat spul doet, dan is de tijd eigenlijk in de “viool dit beetje, monteren, meet. . “Loop en niet in de daadwerkelijke codering. Met een goede macro -assembler en een bekwame programmeur, is het schrijven van assemblage geen enorm Stap af van het schrijven van C -code.

Hoe lang en wat voor soort complexiteit zou zijn betrokken bij Chris Sawyer die het grootste deel van de achtbaanmarts in Assembler schreef?

Kon hij zijn begonnen door het in C te schrijven en vervolgens delen ervan te veranderen in assembler indien nodig voor de prestaties?

Ha, ha, ha, dit is als een vraag van iemand die mijn oude opmerkingen heeft gelezen.

3 Antwoorden 3

Van het lezen van zijn ruwe bio, het ziet eruit als twee jaar (begin 1997 tot eind 1998). Aangezien hij een ‘één project tegelijk’ lijkt te zijn en de toolset en het tijdsbestek niet geweldig is voor ‘Team Development’, zou ik een rechte 24 programmeur-maanden aannemen.

Op dat moment was hij een professionele gamesprogrammeur die sinds 1983 in de assemblage werkte, dus ik zou “twee Chris -jaren” niet gelijkstellen aan “twee mejaren” werk.

Gezien het feit dat de meeste professionele spellen ongeveer 25 personen duren voordat een team zich ontwikkelt, is twee-persoonsjaren voor een toonaangevende game een geweldige prestatie, waardoor de uitspraken crediteerden:

  • Een geweldige programmeur is 10x productiever dan een goede programmeur
  • De programmeur is belangrijker dan de taal voor productiviteit

Dus in dit geval hoeveel sneller zou de achtbaan tycoon worden geschreven als Chris C of Java of JavaScript of had gebruikt of . Waarschijnlijk zou het niet uitmaken behalve het feit dat hij misschien iets langzamer was geweest met een taal op een hoger niveau waarmee hij geen 14 jaar ervaring had.

Beantwoord op 18 november 2010 om 23:02
2.331 2 2 gouden badges 18 18 zilveren badges 17 17 bronzen badges
Geweldige punten, ik dacht een beetje dat dat misschien het geval was.

Als u C denkt aan C als weinig meer dan een “hoog niveau” assembler, en wij veronderstellen dat Chris geen gekke optimalisaties zou maken naar zijn assemblagecode in elk Routine, dan zou ik me in termen van % langer voorstellen, dan is het misschien niet zo veel meer voor een ervaren assemblageprogrammeur.

Montage wordt ingewikkeld wanneer u al die gekke optimalisaties uitvoert (vectoriserende bewerkingen, gebruik van speciale instructiesets (SSE, enz.) Bit twiddling, enz.) Die u gewoon niet van C kunt doen. . Gedool dit bit, monteren, meet. “Loop en niet in de daadwerkelijke codering. Met een goede macro -assembler en een bekwame programmeur, is het schrijven van assemblage geen enorm Stap af van het schrijven van C -code.

! ! ((Bewerking: Wikipedia vertelt me ​​dat hij sommige onderdelen in C heeft geschreven om “Interface met het Windows -besturingssysteem”, dus ik denk dat hij DirectX niet in de montage had geïnitialiseerd in de assemblage. opluchting!))

Rollercoaster Tycoon: het best geoptimaliseerde spel aller tijden?

Op een vroege zondagochtend in april 1999 zat game -ontwerper Chris Sawyer neer in zijn Living Room Command Center, een verzameling van de jaren 90, browsforums online. Eind maart was de inaugurele achtbaan tycoon op planken in Noord -Amerika geland dat druipen met Sawyer’s besmettelijke liefde voor themaparken, en er leek iets serieus mis te zijn gegaan.

In de forums zeiden spelers dat het spel op de een of andere manier hun voortgang had verloren en ze teruggestuurd naar Square One in de scenario’s van de game, die opeenvolgend op niveaus gaan. Na jaren van zorgvuldig werk leek het spel om mysterieuze redenen zelf te hebben vernietigd. Maar Sawyer had een voorgevoel: gisteravond was de daglichtbesparing van kracht.

Misschien was het meer dan een toeval. . De aangepaste tijdstempels op de opslaande spelbestanden, daar om te beschermen tegen knoeien of corruptie, kwamen niet overeen. “Beschamend, het was een flagrante bug van mijn kant”, zegt Sawyer. “Of was het?”

De systeemoproep die hij gebruikte, had de tijd in UTC moeten hebben opgeleverd, ongewijzigd door daglichtbesparingen, waardoor er geen probleem is ontstaan. “Alleen om de een of andere reden,” zegt hij, “het deed wijziging!”Hij codeerde snel een patch en later een hulpprogramma om de opslaande spelbestanden op te lossen.

De grotere ironie was dat de achtbaan tycoon anders stond als een monument voor wat een enkele persoon kan bereiken in het programmeren. Bijna volledig geschreven in de assemblagecode (zoals de vorige transporttycoon van Sawyer), kneep de achtbaan tycoon en het vervolg kneep de processors van die tijd opnieuw om ritten, economieën en duizenden bezoekers en hun gemoedstoestanden te simuleren. Zoveel nummers in realtime doorlopen zonder liften eiste een magere, compromisloze aanpak en niet de langzamere, gebruiksvriendelijkere C-familie van talen. En in ultra-lan-assemblage, waar letters voor die en nullen staan, spreekt men rechtstreeks naar de processor.

Het is een uiterst moeilijke taal om te leren en is sinds de ontwikkeling van Fortran uit de mode geraakt in de jaren vijftig. In zijn vroege dagen bracht Sawyer een handvol Z80-gecodeerde wedstrijden uit in het midden van de jaren tachtig en werd hij een standvastige AMIGA-games om te converteren naar DOS, waaronder de Classic Elite II.

Knap en sprankeloos, ging hij vervolgens voor zichzelf in en creëerde transportmagnaat terwijl hij vasthield aan de rechten, een gewoonte die hem een ​​gestage bron van inkomsten heeft geboden. Een deel ervan ging naar reizende Europa en de VS om achtbanen te rijden op plaatsen als Cedar Point in Ohio. Hij is nu meer dan 700 onderzetters gereden. Zijn favoriet, Taron in Phantasialand in Duitsland, ziet eruit als iets uit een tycoonspel.

. (De systeemvereisten van het spel vroegen later om een ​​Intel Pentium 90MHz met ten minste 16 megabytes RAM.. Dit was genoeg voor hem; Hoewel de volledige handleidingen duizenden pagina’s tegenkomen, had hij het grootste deel van wat hij nodig had onthouden.

.

De vroegste game leek op transporttycoon, maar met achtbanen, en de grafische kunstenaar Simon Foster creëerde een flexibeler en fotorealistisch systeem, zodat de onderzetters er de rol uit zouden zien. Veel van het eerste ontwerpproces was freeform en geïnspireerd door een paar voor de hand liggende voorgangers: Will Wright, Peter Molyneux, Sid Meier. Maar bovenal moest Sawyer prioriteit geven aan de prestaties. Nieuwe functies betekenden een grotere last voor de langzame, cavia -pc, en hoewel sommige van hen uit de code konden worden gestoken, moesten anderen blijven.

Pathfinding was een van deze, en het werd de grootste hoofdpijn. .

Hij brak weg naar de algoritmen, liet veel kleine mannen en vrouwen in de struiken en de verkeerde decoratieve weg. . .”

. Uitgever Hasbro regelde voor professionele bug-jagende playtesters, en Sawyer deed zijn eigen eindeloze sondering. En ondanks de daglichtbesparingstijd Hiccup, werd RollerCoaster Tycoon het best verkopende pc-spel van 1999.

Voor het vervolg werd Sawyer toegevoegd aan de oorspronkelijke codebasis, dichter bij zijn ultieme visie. “Ik ben nog steeds dol op dat spel en alles eraan”, vertelde hij Eurogamer in 2016. Sawyer bleef doorgaan met de montage en gebruikte het bijna uitsluitend om de voortbeweging van Chris Sawyer te coderen in 2004, zijn meest ambitieuze spel tot nu toe en ook zijn laatste grote desktoptitel. Sindsdien is hij een stap terug van game -ontwikkeling en heeft hij de rechten voor de nieuwe RollerCoaster Tycoon -games in licentie gegeven aan Atari – inspanningen die nog nooit in de buurt zijn gekomen van het succes van de eerste twee.

Sawyer kan gewoon niet goed opschieten met de industrie zoals het nu is, hoewel hij de recente heropleving in managementsims waardeert. Er is tegenwoordig weinig behoefte aan een assemblagecozer (zoals hij het daarmee eens is), en werken als eenzame wolf is moeilijker dan ooit. “Ik heb ook het gevoel dat ik nu alle games heb gemaakt die ik wilde maken,” zegt hij, inclusief mobiele versies van zijn klassieke games, “en werken aan de game -ontwerpen van iemand anders boeit me gewoon niet.

Matt Hrodey Matt Hrodey is een gamesschrijver die RollerCoaster Tycoon 2 heeft behandeld voor PCGamesN.