Programmeringssprog – Hvor lang? Software Engineering Stack Exchange, Rollercoaster Tycoon: Det bedst optimerede spil nogensinde? | PCGAMESN

Rollercoaster Tycoon: Det bedst optimerede spil nogensinde

Forsamling bliver kompliceret, når du laver alle de gale optimeringer (vektoriseringsoperationer, bruger specielle instruktionssæt (SSE osv.) Bit twiddling osv.), Som du simpelthen ikke kan gøre fra C. Hvis du laver det, er tiden faktisk i “fele denne bit, saml, måle. violger denne bit, samler, måler. “Loop og ikke i den faktiske kodning. Med en god makrosamler og en dygtig programmør, er det ikke en at skrive samling kæmpe stor Træd ned fra at skrive C -kode.

Hvor lang og hvilken type kompleksitet ville have været involveret i Chris Sawyer, der skrev det meste af rutsjebanen Tycoon i Assembler?

Kunne han være startet med at skrive det i C og derefter ændre dele af det til samler efter behov for ydeevne?

Ha, ha, ha, dette er som et spørgsmål fra nogen, der har læst mine gamle kommentarer.

3 svar 3

Fra at læse sin uslebne bio ser det ud som to år (begyndelsen af ​​1997 til slutningen af ​​1998). I betragtning af at han ser ud til at være et ‘et projekt ad gangen’ person og værktøjssæt og tidsramme er ikke godt til ‘teamudvikling’, ville jeg antage en lige 24 programmerer-måned.

På det tidspunkt havde han været en professionel spilprogrammør, der arbejdede i forsamling siden 1983, så jeg ville ikke sidestille “to Chris år” til “to mig år” med arbejde.

I betragtning af at de fleste professionelle spil tager omkring 25-personers år for et hold at udvikle sig, er to-personers år for et branche-førende spil en fantastisk præstation, der udlåner trosbekendelsen til ordsprogene:

  • En stor programmør er 10 gange mere produktiv end en god programmør
  • Programmereren er vigtigere end sproget for produktivitet

Så i dette tilfælde, hvor meget hurtigere ville rutsjebane tycoon skrives, hvis Chris blev brugt C eller Java eller JavaScript eller . Det ville sandsynligvis ikke have betydet andet end det faktum, at han måske har været lidt langsommere ved hjælp af et sprog på højere niveau, som han ikke havde 14 års erfaring med.

svarede 18. november 2010 kl. 23:02
2.331 2 2 Gold Badges 18 18 Silver Badges 17 17 Bronze Badges
Fantastiske punkter, jeg tænkte slags, det kan være tilfældet.

Hvis du tænker på C som lidt mere end en “højt niveau” -samler, og vi antager, at Chris ikke var gale optimeringer til sin samlingskode i hver Rutine, så kunne jeg forestille mig, hvad angår % tid længere, så er det måske ikke så meget mere for en dygtig forsamlingsprogrammør.

Forsamling bliver kompliceret, når du laver alle de gale optimeringer (vektoriseringsoperationer, bruger specielle instruktionssæt (SSE osv.) Bit twiddling osv.), Som du simpelthen ikke kan gøre fra C. Hvis du laver det, er tiden faktisk i “fele denne bit, saml, måle. violger denne bit, samler, måler. “Loop og ikke i den faktiske kodning. Med en god makrosamler og en dygtig programmør, er det ikke en at skrive samling kæmpe stor Træd ned fra at skrive C -kode.

Stadig ville jeg ikke have været i stand til det! Jeg gyser over at tænke på at prøve at initialisere DirectX direkte i samlingen! (Redigere: Wikipedia fortæller mig, at han skrev nogle dele i C til “interface med Windows -operativsystemet”, så jeg antager, at han ikke initialiserede DirectX i samlingen derefter. Phew!)

Rollercoaster Tycoon: Det bedst optimerede spil nogensinde?

På en tidlig søndag formiddag i april 1999 var spildesigner Chris Sawyer sendt i sit stue -kommandocenter, en samling af 90’erne tech, gennemsøgning af fora online. I slutningen af ​​marts var den indledende rutsjebane Tycoon landet på hylderne i Nordamerika dryp af Sawyers smitsomme kærlighed til forlystelsesparker, og noget syntes at have været alvorligt forkert.

I foraene sagde spillerne, at spillet på en eller. Efter mange års omhyggelig arbejde syntes spillet at have selvdestruceret af mystiske grunde. Men Sawyer havde en lunch: I går aftes havde dagslysbesparelsestiden trukket i kraft.

Måske var det mere end en tilfældighed. Inden for et par timer havde han afsløret forbindelsen. De justerede tidsstempler på gemte spilfiler, der for at beskytte mod manipulation eller korruption, matchede ikke. ”Pinligt var det en åbenlys fejl fra min side,” siger Sawyer. ”Eller var det?”

Systemopkaldet, han brugte, skulle have givet tiden i UTC, uændret af dagslysbesparelser, hvilket ikke skabte noget problem. ”Kun af en eller anden grund,” siger han, ”det gjorde lave om!”Han kodede hurtigt en patch og senere et værktøj til at ordne gemte spilfiler.

Den større ironi var, at rutsjebane tycoon ellers stod som et monument for, hvad en enkelt person kan opnå i programmering. Skrevet næsten udelukkende i samlingskode (som Sawyers tidligere transporttycoon), rutsjebane Tycoon og dens efterfølger presset og gendannet processorernes processorer til at simulere rides, økonomier og op til tusinder af besøgende og deres sindstilstand. Knusning gennem så mange tal i realtid uden at hekse krævede en mager, kompromisløs tilgang og ikke den langsommere, mere brugervenlige C-familie af sprog. Og i ultra-lean forsamling, hvor breve står i for dem og nuller, taler man direkte til processoren.

Det er et ekstremt vanskeligt sprog at lære og har gået ud af stil siden udviklingen af ​​Fortran i 1950’erne. I sine tidlige dage frigav Sawyer en håndfuld Z80-kodede spil i midten af ​​1980’erne og fortsatte med at blive en stalwart til at konvertere Amiga-spil til DOS, herunder den klassiske Elite II.

Smuk og sprøjt, gik han derefter i forretning for sig selv og skabte transporttycoon, mens han holdt fast ved dens rettigheder, en vane, der har givet ham en stabil indkomstskilde. Noget af det gik i rejser Europa og USA for at ride rulleformer på steder som Cedar Point i Ohio. Han har nu kørt mere end 700 kyster. Hans favorit, Taron hos Phantasialand i Tyskland, ligner noget ud af et tycoon -spil.

Sawyer graviterede til x86-forsamlingen naturligt og satte pris på sin rene præsentation og lynhurtige kompilering, og da han gik ud for at lave rutsjebane tycoon, riggede han to pc’er: en hurtig til kodning og en langsommere til test. (Spillets systemkrav opfordrede senere til en Intel Pentium 90MHz med mindst 16 megabyte RAM.) Sad også på toppen. Dette var nok for ham; Selvom de fulde manualer løber ind i tusinder af sider, havde han husket det meste af det, han havde brug for.

”Jeg havde programmeret i x86 så længe, ​​at jeg sjældent havde brug for at slå tingene op,” siger han.

Det tidligste spil lignede transporttycoon, men med rutsjebaner, og dets grafiske kunstner Simon Foster skabte et mere fleksibelt og fotorealistisk system, så kysterne ville se den del ud. Meget af den indledende designproces var freeform og inspireret af et par åbenlyse forgængere: Will Wright, Peter Molyneux, Sid Meier. Men mest af alt måtte Sawyer prioritere ydeevnen. Nye funktioner betød en større byrde på den langsomme, marsvin -pc, og mens nogle af dem kunne blive lanceret fra koden, måtte andre forblive.

Pathfinding var en af ​​disse, og det blev den største hovedpine. ”Det er let at programmere en rutesøgende algoritme, der fungerer perfekt,” siger Sawyer, ”men det er ikke nyttigt, hvis det stopper spillet i sekunder eller minutter på et tidspunkt, hvor det skal tage en beslutning.”

Han flisede væk ved algoritmerne, strandede mange små mænd og kvinder i buskene og ned ad den forkerte dekorative sti. ”Jeg havde besøgt en hel del store forlystelsesparker i USA på det tidspunkt og formået at gå tabt i nogle af dem selv,” siger han. ”Så jeg troede, det var sandsynligvis rigtigt, at gæsterne i rutsjebane tycoon også kæmpede […], hvis parklayoutet var dårligt designet.”

Når spillet havde udviklet. Udgiver Hasbro arrangerede for professionelle bug-jagt-playtestere, og Sawyer gjorde sin egen uendelige sondering. Og på trods af Hiccup i dagslysetiden, blev rutsjebanen Tycoon videre til at være det mest solgte pc-spil fra 1999.

For efterfølgeren føjede Sawyer til den originale kodebase, der kom tættere på sin ultimative vision. ”Jeg elsker stadig det spil og alt ved det,” fortalte han Eurogamer i 2016. Sawyer fortsatte med samlingen, brugte det næsten udelukkende til at kode Chris Sawyers bevægelse i 2004, hans mest ambitiøse spil til dato og også hans sidste store desktop -titel. Han er siden trappet tilbage fra spiludvikling og licenseret rettighederne til de nye rutsjebane -tycoon -spil til Atari – indsats, der aldrig er kommet tæt på succesen med de to første.

Sawyer kommer bare ikke sammen med branchen, da den er lige nu, selvom han værdsætter den nylige genopblussen i ledelsessims. Der er lidt behov for en forsamlingskoder i disse dage (som han er enig), og at arbejde som en ensom ulv er sværere end nogensinde. ”Jeg føler også, at jeg nu har oprettet alle de spil, jeg ville oprette,” siger han, inklusive mobile versioner af hans klassiske spil, ”og at arbejde på en andens spildesign er bare ikke begejstret mig.”

Matt Hrodey Matt Hrodey er en spilforfatter, der har dækket rutsjebane Tycoon 2 til PCGAMESN.