RollerCoaster Tycoon: The Most Impressive Game Ever Developed

Поділитися
Вставка
  • Опубліковано 2 лют 2020
  • Chris Sawyer wrote the original RollerCoaster Tycoon in x86 Assembly...and that's insane. Today, we take a technical look at why I believe this makes it one of the most impressive products to ever be released in the video game industry.
    If you'd like to see the insanity of Assembly for yourself, try messing around with this in-browser tool (how I generated the Assembly seen in this video): godbolt.org/
    Twitch Streaming Schedule:
    - Tuesday & Thursday: 7:30 PM EST
    - Saturday & Sunday: 1:00 PM EST
    Twitch: / native_resolution
    Twitter: / jaypb08
  • Ігри

КОМЕНТАРІ • 644

  • @chaseman113
    @chaseman113 2 роки тому +341

    Sorta blew my mind how effortlessly a Pentium 1 could run a game this “busy” with a 1000 guests & 30 rides happening on screen at once.

    • @tacodeazul1713
      @tacodeazul1713 Рік тому +34

      maybe some of that efficiency is lost in today's software
      It doesn't seem like our games are THAT much more complicated or graphically intensive.
      I thought games would look so much better than they do by now
      *plays game from 1995*
      Oh my god gross

    • @Schlammschlacht
      @Schlammschlacht Рік тому +36

      This is it. For a game with this many things going on at once in 1999 on single-threaded hardware that was already 5 years old at the time… perfectly optimized assembly was likely the only option.

    • @Backroad_Junkie
      @Backroad_Junkie Рік тому

      The game would take forever to calculate excitement/intensity/nausea after a while.
      I figured the video was the priority, and other things got pushed into the background when things got really busy...

    • @adamant5550
      @adamant5550 Рік тому +13

      @@tacodeazul1713 Gaming companies are now machines that only care about money. Back in the 80s and 90s you had individual designers like Sawyer and Will Wright (SimCity and The Sims) who genuinely saw designing video games as an artform. Nowadays you have armies of coders but no soul in the games.

    • @tacodeazul1713
      @tacodeazul1713 Рік тому +4

      @@adamant5550 yea, I think that's true for AAA platforms for the most part. But frequently one has a novel idea and ends up putting it to paper and making something great in the smaller scale. I can think of a few smaller teams or their games that are killing it - Battlebit is about to explode, Among Us, Minecraft (before it was sold), Cities Skylines, Arma and Dayz, Cuphead.. so on
      With Unreal Engine and Unity i think people are being saved some of that effort and can get back to being creative and making interesting and new experiences. Just wait.

  • @coolbrotherf127
    @coolbrotherf127 3 роки тому +689

    Building such a complex project in Assembly entirely by himself is just insane. Even the simplest Assembly coded games in the past had entire teams dedicated to the development of them. RCT is probably one of the most impressive uses of it.

    • @sluttyMapleSyrup
      @sluttyMapleSyrup Рік тому +16

      At least he had his previous project, Transport Sim, to use as a foundation (also built by himself afaik)

    • @tasman001
      @tasman001 Рік тому +34

      Seriously. I work in C, and when he said at 1:22 that it was all written in assembly by one person, my jaw literally dropped.

    • @bingobongo1615
      @bingobongo1615 Рік тому +1

      I wonder though what he exactly did here. Is the complete game coded in assembly or did he built/use an environment which is based on assembly?

    • @coolbrotherf127
      @coolbrotherf127 Рік тому +17

      @@bingobongo1615 He wanted RCT to run well on any computer at the time and was already very very skilled at optimizing assembly so he just hand coded all the assembly himself as C and C++ compilers weren't good enough at the time for the optimizations he was intending. These days projects like openRCT2 just use a C++ compiler because it's plenty fast for modern computers.

    • @UndercoverScambaiter
      @UndercoverScambaiter Рік тому

      Total respect for what Chria achieved!

  • @SkeleTonHammer
    @SkeleTonHammer Рік тому +386

    This was back in the day when "Tycoon" games were a big deal, also. Nowadays when you see a Tycoon-titled game on Steam or whatever, you can guess it's probably sort of low effort or shovelware. This game was anything but. I'm 36 and I'd guess I spent a total of 500+ hours on this game back in the day. Every single music track, crowd sound, etc. is burned into my brain.

    • @paulyearley1084
      @paulyearley1084 Рік тому +12

      There was a stretch in my college years (1999-2000 in particular) when if the guys in my dorm weren't playing quake, we were playing RCT because it was an honestly fun, and engaging game. I didn't realize that it was programmed THE HARDEST WAY POSSIBLE short of whole-ass machine code, and that makes it all the more impressive.

    • @Bittamin
      @Bittamin Рік тому +1

      This game is amazing and all of my childhood wonderment spent playing this game with my babysitter when I could barely wipe my ass will always remain after realizing just how much effort one person put into ensuring ALL of us could have a good time. I hope he knows his accomplishments will reign higher than Elon Musk within 100 years

    • @WhatAboutZoidberg
      @WhatAboutZoidberg Рік тому +5

      Especially the fake crowd noises

  • @HiBrau
    @HiBrau 4 роки тому +480

    Hopefully the youtube algorithm picks this up before 10 years goes by

    • @aojeong3902
      @aojeong3902 4 роки тому +9

      Success! this showed up in my suggestions

    • @MisterHatsofMemphis
      @MisterHatsofMemphis 3 роки тому +1

      Just showed up in mine, lowest viewed video to do that

    • @mvamorim
      @mvamorim 3 роки тому +2

      Belive it or not, I looked up for this

    • @Johncornwell103
      @Johncornwell103 3 роки тому +1

      1 year old it's not looking good

    • @sheeperskipps
      @sheeperskipps 3 роки тому

      Same here!

  • @jelmervd2l
    @jelmervd2l 3 роки тому +48

    Lol, the line 1046 at 2:03 that reads printf("fuck this shit").
    So relatable

    • @puppergump4117
      @puppergump4117 3 роки тому +3

      You probably pause the end credits so you can read them

    • @gunarcom
      @gunarcom 2 роки тому +4

      My code comments get more and more desperate and pissed after midnight.

    • @pierreo33
      @pierreo33 2 роки тому +3

      @@puppergump4117 who hurt you

    • @puppergump4117
      @puppergump4117 2 роки тому +3

      @@pierreo33 I forgot, but I'm ok now.

  • @LB_
    @LB_ 4 роки тому +335

    Nice work! I'm a professional C++ programmer and I always enjoy seeing content like this. I had to work in MIPS assembly for a project in college once, it was very verbose and prone to mistakes and inefficiencies. These days I am very happy to write higher level code and let the compiler optimize things better than I ever could. What Chris Sawyer did was nothing short of masterful.

    • @NativeResolution
      @NativeResolution  4 роки тому +50

      Thanks! I'm a Software Engineer myself, and I've been wanting to make a few videos like this for a while now that also taps into the technical side of games for people who may not be familiar with it - not sure how far I'll go with it, but I'm glad you enjoyed this one! There's zero chance I'll ever have to touch anything low-level like assembly at my current job, but learning it in my architecture class really did give me a huge appreciation for games that were programmed this way

    • @evanshlom9767
      @evanshlom9767 2 роки тому +2

      @@NativeResolution what other games were programmed this way??

    • @dr.angerous
      @dr.angerous 2 роки тому

      @@evanshlom9767 shut up

    • @halinaqi2194
      @halinaqi2194 2 роки тому +12

      I am entering 4th year of game dev uni, and in 2and year we used MIPS assembly code for assignments for the computer architecture and algorithms class.
      I didnt mid doing the exercises in assembly because once you get the hang of it, it was really cool to see the program do exactly what you specified and can see the registers update step by step.
      Now I would never want to create a game from scratch using assembly, and honestly, christ Sawyer is impressive to be able to create a game like RCT and have it be really optimized.

    • @CristianMolina
      @CristianMolina 2 роки тому +7

      @@evanshlom9767 tons of games were dev. this way, mostly on older computers & consoles (atari, nes, snes, megadrive, etc) because there was almost the only way to achieve it. Also, I guess even if they had a shell of C code, most procedures were optimized assembly that were reused between projects as probably this author did reusing code from Transport Tycoon and other prev. work.

  • @PlasticCogLiquid
    @PlasticCogLiquid 3 роки тому +74

    I never get tired of watching the coasters go around the tracks in this game. It's mind blowing how well it all works, the z-sorting is nearly perfect. I wish someone would do a video commentary on the programming of the coaster physics, z-sorting and movement

  • @DrSwib
    @DrSwib 2 роки тому +336

    I feel this is a little misleading, Chris Sawyer didn't program Roller Coaster Tycoon entirely from scratch in two years. Much of the engine is repurposed from Chris Sawyer's earlier work: Transport Tycoon which was in development a full decade before the release of RCT.
    Chris also had the hobby of rising rollercoasters before he started his development of RCT as well.
    That said, the amount of work and prowess put into RCT is monumental, but knowing it was built upon previous works takes it from the realm of completely un-human to genius.

    • @SENTRY456123
      @SENTRY456123 Рік тому +68

      So Chris Sawyer was inspired by himself!

    • @turolretar
      @turolretar Рік тому +19

      That’s even more impressive

    • @namename2215
      @namename2215 Рік тому +28

      haha i guess a better way to put it was that RCT was his magnum opus rather than misleading. In academia it would like all his references were himself!

    • @sluttyMapleSyrup
      @sluttyMapleSyrup Рік тому +3

      @@namename2215 I think that's a good way to describe it, especially with the remasters he's done for the original two.

    • @MrGencyExit64
      @MrGencyExit64 Рік тому +16

      Transport Tycoon was a masterpiece, the video should have been about it instead :) So many memories of that game.

  • @Blarnix
    @Blarnix Рік тому +17

    I cannot BELIEVE that he made this entirely in Assembly. That just melts my mind, honestly. And all alone, too. That’s inexplicably difficult.

  • @MrCovi2955
    @MrCovi2955 2 роки тому +414

    As a software developer, a good analogy is that high level programming languages are like building with duplo legos, and low level assembly is like plastic-injection-moudling your own toys.
    One will be full of air pockets because you're building with bricks (the higher level the language, the more air holes, c++ is probably more like regular legos, java is probably more like those massive "bigger than duplo" generic blocks), the other will be perfectly suited to exactly what you need... IF you can do it.

    • @Koich14
      @Koich14 2 роки тому +4

      nice! that's a very interesting analogy :3

    • @jazzabighits4473
      @jazzabighits4473 2 роки тому +1

      They make full structures and buildings out of regular lego, so I don't think you need to mould your own, that's just extra work lol

    • @ArrKayLondon
      @ArrKayLondon 2 роки тому +5

      Then what the hell is python?

    • @FixTechStuff
      @FixTechStuff 2 роки тому +2

      I used to be a gun at 6502 code, I never like basic a high level language, it just seemed overly complex and slow to me. Same with C++, I never got the hang of it. I can't speak for X86 assembly, but others see high level languages as efficient and time saving, I see overcomplicated, clunky and slow.

    • @Wieprzek
      @Wieprzek 2 роки тому +3

      @@ArrKayLondon well there is cpython which would be again regular legos. Otherwise its like building out of apartment blocks

  • @GretgorPooper
    @GretgorPooper Рік тому +7

    My man coded a rudimentary physics simulator in ASSEMBLY (for rollercoasters) and that's absolutely epic by itself.

  • @aleksoctop
    @aleksoctop Рік тому +196

    Chris Sawyer is a coding GOD. It’d be amazing if he did it once, but it staggers me that you forgot to mention this wasn’t his debut in miracle coding, as he’s responsible for Transport Tycoon, an even older game that still, much like RCT, enjoys a hefty worldwide audience to this day.

    • @DisgruntledDoomer
      @DisgruntledDoomer Рік тому +34

      Yeah. That would also help to explain the small development time, of only two years, as mentioned on the video. Because the fact is, a lot of the work for RCT was already done in Transport Tycoon, so he didn't need to start from scratch.

    • @jbird4478
      @jbird4478 Рік тому +8

      @@DisgruntledDoomer That's certainly true. Much of the game mechanics and even the interface is entirely the same. It wouldn't surprise me if 80% of the codebase is shared between both games.

    • @alecbasba
      @alecbasba Рік тому +2

      I play Chris Sawyer's Locomotion to this day and resist getting rid of my PC after transitioning to a Mac pretty much just because of it. It's so beautiful in its simplicity and even if there are things I wish were better, I think a more lifelike approach using modern graphics would probably actually worsen the experience.
      In short, it's just timeless and I hope I can still play it six decades from now.

    • @aleksoctop
      @aleksoctop Рік тому +1

      @@alecbasba Locomotion is beautiful, but I still don’t understand why CS never released the updated TT for Pc, maybe so Locomotion has more of a platform?

    • @jbird4478
      @jbird4478 Рік тому +1

      @@aleksoctop Probably. The "updated" transport tycoon is basically Locomotion for tablets and mobiles. I haven't played it but by the looks of it, it is a hell of lot more like Locomotion than like TT.
      If you like the original TT more though (like I do), there's openTTD. It's an open source version that's pretty much identical to transport tycoon deluxe, and has a ton of extras and is fit for modern screen sizes.

  • @hardtofind5196
    @hardtofind5196 3 роки тому +241

    I am about to finish my x86 assembly course in my CS degree and when I heard he programmed that game like that I had a literal OMG moment

    • @akpokemon
      @akpokemon 2 роки тому +19

      I still have absolutely no idea how I got through my assembly course. (Which was part of my INFORMATION TECHNOLOGY BACHELOR’S DEGREE, MIND YOU). I had to go through the most grueling hell for my degree, relative to what an IT degree _should_ rationally consist of, and all people see is “oh…IT. Lol. Okay. Every average dude below 30 can do ‘IT’ lol.” Sigh

    • @hardtofind5196
      @hardtofind5196 2 роки тому +1

      @@akpokemon honestly, more than a year later, neither do I know how I got through that course XD kinda hardcore ngl

    • @peddersmeister
      @peddersmeister Рік тому +9

      I believe the predecessors Transport Tycoon and Transport Tycoon Deluxe were also assembly
      The guys a proper genius

    • @MrSmith-rk4jq
      @MrSmith-rk4jq Рік тому +2

      @@akpokemon why the hell they teaching you assembly for an IT degree tho lol

    • @jakegarrett8109
      @jakegarrett8109 Рік тому +4

      @@MrSmith-rk4jq Probably needed to stand out from the competition, after all the old guy in the Whitehouse told all those pipeline workers when day 1 he closed their jobs with executive orders and told them all to become programmers.

  • @andreaalgeri3199
    @andreaalgeri3199 2 роки тому +113

    Considering the use of assembly, the variety of the game content (scenery, terrain, rides, coasters), the completeness of the mechanics (from coaster design to park financial management, through staff micro-management) the robustness of the product (no major bugs, all rides and coasters pretty balanced) and the freedom of the gameplay (you could design your coasters in all 3 dimensions, with underground tunnnels, twist, loops, etc), my mind simply refuses to believe it was designed and developed by a single person in two years. I do not care how many proofs one brings me, I will never believe it.
    Chris Sawyer demonstrated an unthinkable amount of skill. If had taken another this journey in any other industry than video games he would be remembered as a genius, but since he spent his abilities in a videogame, almost none knows who he is.

    • @Motorsheep
      @Motorsheep 2 роки тому +17

      Well, I guess it should be pointed out that Roller Coaster Tycoon was built on an existing and extensive framework, which is Transport Tycoon. So at least the terrain engine and the game menu structure existed already, and he could probably repurpose other parts of TT as well. Apart from that, I'm pretty sure he the design process had started long before the "official" development process. TT was published 5 years before RCT, so there's a three year gap, and who knows how long he had actually been toying with the idea and thinking about gameplay elements...
      Still, it's a massive feat...

    • @alaeriia01
      @alaeriia01 Рік тому +18

      It actually takes physics into account too. Guests have weight and a full train will travel faster than an empty one. (Fun fact: the backwards looping coaster train is slightly slower than the forwards one because it doesn't have the streamlined front!)

    • @jbird4478
      @jbird4478 Рік тому +2

      @@alaeriia01 Yes, but all those mechanics were inherented from Transport Tycoon. It is pretty obvious it uses the same game engine but a bit updated. To the code there probably isn't much difference between trains on railway tracks and carts on rollercoasters. In fact, he clearly reused some of the newer track laying mechanics of Rollercoaster Tycoon in Locomotion; this time for trains again.

    • @th2k
      @th2k Рік тому +1

      @@alaeriia01 really? Didnt know that. So theres also some kind of aerodynamic programmed into RCT. Sawyer is a fuckin genius!

    • @alaeriia01
      @alaeriia01 Рік тому

      @@th2k I think it's just a higher coefficient of friction for the Backwards Looping Train than the regular one, as if the train is actually traveling backwards it slows at the same rate that it would traveling forwards.

  • @leftymcshotty4784
    @leftymcshotty4784 3 роки тому +754

    This is only reinforcing the thoughts I had as a 6 year old. That Chris Sawyer is an intellect comparable to Nikola Tesla and Archimedes.

    • @NinjaRunningWild
      @NinjaRunningWild Рік тому +35

      Let's not get carried away. Games are extremely complex to program. But that pales in comparison to ushering in the industrial age because you invented the prevailing electrical current everyone uses, fluorescent lights, electric motor, & _wireless._ That impacts *everyone* whereas this game, great as it is, doesn't. I say this as a guy who programmed games for over 20 years & ran the local chapter of the IGDA.

    • @dharkbizkit
      @dharkbizkit Рік тому +1

      and today, it feels like nothing of that mind is left to be put into games. didnt he gave up game dev in the early 2000s?

    • @ProWajxxx
      @ProWajxxx Рік тому +6

      @@dharkbizkit games today feel so souless, idk if its because im getting older, but playing those older games was so much fun compared to today

    • @gxlorp
      @gxlorp Рік тому

      @@NinjaRunningWild the circle jerking of this guy/game is ridiculous. His coding may be impressive but that's not the same thing as game play being impressive

    • @dharkbizkit
      @dharkbizkit Рік тому +5

      @@ProWajxxx i can totaly relate to that, i feel the same. i dont know you how old you are and when you started gaming (iam almost 37 now, startet on the amiga 500 in the early 90s, pc since 1998) but its not just age, that changes you. the games themself changed, the industry changed. on the other hand: its hard to compete for games, if you play one of the award winning blockbuster titels during your late kid early teen times. you can be impressed easy during that time. its the same with movies for me. i was 15 when lord of the rings came out. and that movie was so epic and big in scale, that everything that came afterward, felt like a smal project that doesnt even play in the same league, but we rarely had movies afer 2000, that did play in the same league. that movie spoiled me

  • @aaakitsune
    @aaakitsune 2 роки тому +26

    RollerCoaster Tycoon feels like a game wich can stand the test of time. Its just pure joy once you adjust to the older graphics and buttons. Maybe its a personal prefference, but i enjoy its grid based building system way more than modern free building modes like Planet Coaster or RCT World. Simplicity is often better than complexity.

    • @enigmalfidelity
      @enigmalfidelity 8 місяців тому +1

      I still play rct2, and if you own a legit copy, you can download an open-source multi-player mod with hundreds of new scenarios and such.
      You can go vs mode, or co-op.
      The co-op 12 player.maps are insanely hard. It's really cool.
      Careful though, as installing the mod wipes your achievements in the vanilla. Gotta redo all the maps over.
      The mod is called "Open RCT"

  • @jzmmm
    @jzmmm Рік тому +5

    Transport tycoon was the masterpiece. It came out in like '94 and it ran perfectly on my 486 at the time (also from memory ran perfect on my friends 386). RCT is build on TT's engine. I remember it looking so unbelievably good compared to other games at the time. Wish Chris Sawyer made more games.

  • @94Quang
    @94Quang 2 роки тому +76

    Creating Mario and old classics was insanity too, the gaming consoles had so few memory (40KB) that they had to do a lot of tricks to press it into those cardriges.

    • @halinaqi2194
      @halinaqi2194 2 роки тому +10

      The sound chips were also limited to how many unique sounds can be played at once, so older nintendo games dont have full noted chords playing to save "bandwidth " for sound effects. This means they used clever composition techniques in music to imply chords to your ears with less notes playing at once. And since sound takes up memory size in a cartridge, i think the sounds come installed on the console instead so all the old NES games had the same chiptune set, same soundfont.

    • @WalleBot
      @WalleBot 2 роки тому +4

      @@halinaqi2194 This is pretty interesting, so that's why in games like Super Mario Bros, producing sounds such as using the Fire Flower or jumping will remove part of the music temporarily.

    • @LordSplynter
      @LordSplynter Рік тому

      @@WalleBot Never realised that, wow

    • @WalleBot
      @WalleBot Рік тому

      @@LordSplynter Yes, it's very well done I think so it's not noticeable until one points it out or you listen for it

    • @MrGhosta5
      @MrGhosta5 Рік тому +1

      Iwata coded pokemon gold and silver himself to get it to fit on the gameboy cartridge.

  • @Eisesser01
    @Eisesser01 3 роки тому +27

    One has to mention that the computing performance and amount of memory on the Gameboy or the NES are far from what we had back then on a PC.
    The processor on the Gameboy clocks at approx. 1MHz and had 8kB of memory. Programmers had to make a lot of decisions when developing a game to fit the requirements of the hardware. On the PC back then, we had megabytes of memory and a much higher clock speed. The x86 instruction set has more "programmer-friendly" instructions and made it easier to program on these processors than on the Gameboy processor :) Nevertheless, programming games in Assembly is a skill that should be respected!

  • @logsupermulti3921
    @logsupermulti3921 Рік тому +9

    For me the pinnacle of assembly programming still is Frontier: Elite 2. Released six years before RCT it was a fully open 3D space combat and trading sim with modeled Newtonian physics, seamless ground to space flight in 1:1 scale solar systems, of which there were about 250,000. And it all fit into a 400KB executable. David Braben is an incredible software dev.

  • @MickanMansRCTStation
    @MickanMansRCTStation 3 роки тому +60

    Awesome video! It never ceases to amaze me how much complexity and detail was put into this game (e.g. guest weights influencing the speed of coasters!). I think it also incredibly impressive how intuitive and well-balanced the game is considering all that detail.

    • @Baerenson
      @Baerenson 2 роки тому +1

      Ye, I noticed the weight and speed difference too and always considering it while building. I calculate it when test ride but it would be a nice feature to test ride the coaster with guest weight.

    • @eldemente87
      @eldemente87 Рік тому +4

      The physics of the coasters were so ahead of its time I never actually understood them.

  • @TranceKitsune91
    @TranceKitsune91 Рік тому +6

    RCT has such a massive place in my childhood and life. The game itself plus all its visuals and soundtrack.. I am extremely thankful to Chris Sawyer, Simon Foster and Allister Bimble. God bless them. Thank you for putting together this video. ❤

  • @Sill1992
    @Sill1992 Рік тому +4

    I've spend a solid amount of my child hood playing this. Back then it was high quality, never slowed down, always smooth. It's almost like you can feel the efficiency of the coding. Never knew this story, thank you!

  • @Ipitydafool2005
    @Ipitydafool2005 2 роки тому +18

    It's not for nothing we RCT veterans name him the Legendary Chris Sawyer himself. His game has inspired us and we see him as a genius.

    • @RagbagMcShag
      @RagbagMcShag Рік тому +2

      My friend and I played countless hours of RCT, we are both programmers now :)

    • @Ipitydafool2005
      @Ipitydafool2005 Рік тому

      @@RagbagMcShag I still play it a lot. Now in my late thirties. I don't think I'll ever stop playing it.

  • @kilgoresapothecary4501
    @kilgoresapothecary4501 Рік тому +7

    This is mind boggling. Coding the NPCs and physics of the roller coaster movements alone! How did he do it?!

  • @areteees
    @areteees 3 роки тому +44

    My understanding of assembly is that it's basically the first step above writing code in 1s and 0s, to underline how insane it is that this game was written in it. Nice video.

    • @DanKaschel
      @DanKaschel 2 роки тому +4

      Not to be pedantic, but there's no such thing as writing code in 1s and 0s.

    • @miguelzavaleta1911
      @miguelzavaleta1911 2 роки тому +3

      @@DanKaschel CS is not really my field, but I like to think I'm fairly familiar with it -- I never know what people mean when they say that. Do they mean writing an executable from scratch in binary? Cause that'd be pretty much impossible.

    • @DanKaschel
      @DanKaschel 2 роки тому +1

      @@miguelzavaleta1911 yeah, it's kind of like saying "he wrote a novel using ink". Binary is just a way of representing data, so in a sense you're always writing code in binary. But it's not the unit of thought used for writing code.

    • @WalleBot
      @WalleBot 2 роки тому

      @@DanKaschel Ink is readable, though. Compiled binaries cannot be instantly translated back into the code, depending on the compiler...

    • @George_Bland
      @George_Bland 2 роки тому +2

      Yeah it's the next step from machine code we call it.

  • @logoncal3001
    @logoncal3001 Рік тому +2

    I give props not only to Sawyer but to all contributors of Openrct2 who expanded the game beyond anyone's imagined capacity

    • @pikachuchujelly7628
      @pikachuchujelly7628 6 місяців тому

      Unfortunately, the OpenRCT2 "refactored" much of the code into object oriented C++, so it doesn't run nearly as well as the original. Placing large prebuilt rides, loading saved games, and panning with underground view enabled are noticeably slower than the original.

  • @GamingRevenant
    @GamingRevenant 2 роки тому +8

    Amazingly set out and explained in a comprehensive way. I believe this also explains why for instance when you press load or just press the .exe to launch the game, it's near-instant due to the optimized code. You can run RCT with next to no issues on even the oldest systems to date, and for insanely large projects we finally have OpenRCT to get around that if required. Chris Sawyer remains a genius that had a passion for gaming and coding all at once!

  • @novakattila
    @novakattila Рік тому +2

    Chris Sawyer had the combination of extreme creativity and technical savyness not really found in many people, and for that he is regarded as a legend for most in the industry.

  • @fabiorodrigo3638
    @fabiorodrigo3638 3 роки тому +2

    I don't know how exactly how I found your video, but I wish yo continue to make these. Thank you for your time making it, really.

  • @MicahRion
    @MicahRion 2 роки тому +2

    This game has such a special place in my heart. Thank you for covering it!

  • @kiracollins257
    @kiracollins257 3 роки тому +4

    Btw this channel has great production. Nice sound and edit. Hopefully yt and people will acknowledge it

  • @ResonanceHub
    @ResonanceHub 3 роки тому +5

    HOW do you only have 291 subs. This is high quality, I hope the UA-cam algorithm picks this up one day

  • @FernandoMoreira
    @FernandoMoreira Рік тому

    Brilliant! Such great quality content deserves so many more subscribers. Good job. (Subscribed and looking forward for more )

  • @Nomaran
    @Nomaran Рік тому +4

    Can we also take time to appreciate how well it runs on modern hardware? A lot of games from that era have issues running but RCT just keeps going.

  • @bradleyjones1515
    @bradleyjones1515 3 роки тому +6

    Very eye-opening video that I really appreciate as an adult because I couldn't have appreciated it as a kid when I played this game. This is a good channel

  • @jtbknuggetsauce
    @jtbknuggetsauce 3 роки тому +1

    Awesome video, surprised how small your channel is! Keep it up!

  • @SNdynasty
    @SNdynasty Рік тому

    Oooooh the music in the end made me nostalgic. Nice video.

  • @rfoghorn5877
    @rfoghorn5877 3 роки тому +1

    Great video! Was really surprised by your subscriber count with the quality of the video

  • @pens6564
    @pens6564 2 роки тому +2

    Bro, this video is amazing! You give the review that this amazing game ever deserve

  • @Memecs20
    @Memecs20 Рік тому

    Stumbled on a YT short about how RCT was developed in assembly, this explains a lot and even makes me appreciate more the Tycoon games and similar.

  • @shemyshaun
    @shemyshaun Рік тому +1

    I played this game throughout childhood, and those hours are one of my most treasured memories from those, long gone, times. Great game, thank your sharing this, about it's creator and methods of creation, that renders it more special even.

  • @RaaZVan99
    @RaaZVan99 3 роки тому +2

    this channel deserves way more recognition

  • @strawberryfrogforever
    @strawberryfrogforever 3 роки тому +3

    Awesome video, can remember sitting in my parents basement as a kid playing Roller Coaster Tycoon on the Dell, simpler times :')

  • @krawl04
    @krawl04 Рік тому

    Great job on the video. Im not a CS major so most of the concepts go over my head, but you did a good job explaining how complex programming can be. Then you compared that to what Chris did with RCT, and now my head hurts. I grew up with RTC and it holds a dear place in my heart. So much more now that I understand just how much expertise and passion went into its creation.

  • @NinaFelwitch
    @NinaFelwitch Рік тому +1

    I can still run the .exe from the original CD on my modern Win10 PC without any issues.
    That is a testament of how well this thing was programmed.
    So many old games refuse to run without third party patches. But Rollercoaster Tycoon runs just fine.

    • @FLYNN_TAGGART
      @FLYNN_TAGGART Рік тому +3

      Compatibility is more about the fact that it doesn't really rely on third party libraries or APIs that modern Windows versions lack. Which, given that he chose to rely on just the basic Win32 API, means it's pretty unlikely to break.
      That being said, OpenRCT2 really is the superior way to play nowadays.

  • @matthewhildebrandt6828
    @matthewhildebrandt6828 2 роки тому +1

    Such a great video explaining a classic game

  • @urnamellamcsnail1093
    @urnamellamcsnail1093 3 роки тому +10

    In my computer science course we only learnt how to do shit like add 2 numbers together in assembly code and going off how much effort that was coding a full fucking game must be incredibly tedious and stupid

    • @davidrenton
      @davidrenton Рік тому +3

      it's not stupid, tedious yes. In the mid 80's everything was scarce be it storage, CPU power, memory, colours. Often you had a limited palette that might be 16 colours, but say only 4 could be used at 1 time. It led to remarkable optimisations, and very clever engineering. The original open world game, Elite had 32k to play with, think not 1mb, not 100k, but a 3rd of that. Many systems, you could either do sound or display, but not at the same time.
      as a Computer Science student, you owe you entire area to these genius's. They where far smarter than you. They knew every bit of that machine, not just at a code level, but at an electrical engineering level. They knew the timing's, synchronisations necessary at a machine level. Without those people we wouldn't have the Internet, UA-cam, Smart phones, they where pioneers.
      It's like saying the Apollo 11 mission was stupid because their entire processing power was a fraction of a modern calculator. I did CompSci in the 90's when Assembler, Fortran etc where still a thing and actively used. I guess you all use unity now.
      You think that was bad, imagine programming using punch cards and working with valves pre transistor, many people i know started out in Computers doing that very thing.
      Remember people like Turing broke the Enigma doing that at an even more basic level, he was basically had wires instead of punch cards. Or Babbage and Ada Lovelace (Programming) who built theoretically functional computers before they could be physically be built. I mean try designing a Car before the advent of the combustion engine, and it would work if built today.

  • @c4t4r4c
    @c4t4r4c Рік тому +1

    only 750 subsribers? this was a very well made video! you earned a like aand a sub! keep going

  • @Rigel_Chiokis
    @Rigel_Chiokis Рік тому +2

    I had this game on my PC back in the day. It was so much fun and absorbed so much of my time. Compared to games like Civilization, the freedom to build any way you wanted to was really amazing.

  • @JamesBrisnehan
    @JamesBrisnehan 3 роки тому +7

    Wow that's crazy to think this one guy did all of that. I love the first two games in the RCT series.

  • @CyTic5
    @CyTic5 2 роки тому +2

    Fantastic video. I used to play RC 2 and never thought anything of how much effort would have been put into the first edition till I saw this.

    • @shrimpjak1873
      @shrimpjak1873 2 роки тому +1

      RCT2 is mostly the same game as RCT1 with some improvements/additions
      Not to downplay how impressive it was, as it was still all in assembly, but RCT2 had all the framework.

  • @kwaminaessuahmensah8920
    @kwaminaessuahmensah8920 Рік тому

    Absolute legend of a man this Chris Sawyer guys is! Took an assembly class in college that the most I had to do was convert a function into assembly and I could barely wrap my head around that. This man wrote an entire game in it! Bloody brilliant and impressive!

  • @jakereale7709
    @jakereale7709 Рік тому

    This video was so well needed. Rollercoaster Tycoon is definitely a prize!

  • @AbyssalDefect
    @AbyssalDefect Рік тому

    Congratz on your first big video

  • @jazzx251
    @jazzx251 Рік тому

    This video is over two years old, and yet I feel I must comment.
    Because this is one of the greatest games ever made - and a couple of years here or there doesn't matter.
    Last week, I completed the "Rotten Heights" scenario - where you have to rescue an almost hopelessly run down park (!) ... I won
    I have a tradition where, when I win a scenario, I choose the next person to enter the park, and follow their "day out" as they enjoy all of my rides and eat my overpriced food ...
    That's my way of desperately wanting to visit the park I made in real life.
    I simply can't believe one man programmed this. But that's what happened.
    An utterly astonishing achievement.

  • @ronch550
    @ronch550 Рік тому

    One man programming a complex game in assembly.
    Legend.

  • @Itsadrianyay
    @Itsadrianyay Рік тому

    this is like a music artist releasing a song. except he manually wrote the audio waveform in 44.1 khz 16bit on graph paper, over the course of months and months with a pencil and then rendered it, instead of just using a DAW. its so insane

  • @smith9808
    @smith9808 2 роки тому +5

    We need a remastered version by the legend genius himself.

    • @turinturambar8622
      @turinturambar8622 2 роки тому

      YES !

    • @tgustafson85
      @tgustafson85 2 роки тому +6

      There is a community-run project called OpenRCT which continues to make improvements to the game. I highly recommend it!

    • @TheOriginalPyroBEAST
      @TheOriginalPyroBEAST Рік тому

      Yes but he should use JavaScript instead lmao

    • @victorsarkisov4480
      @victorsarkisov4480 Рік тому

      @@TheOriginalPyroBEAST So it could run like dogshit? No thanks. Plus, I don’t think someone of that calibre wants to use some shitty web scripting language

  • @StevenCarp
    @StevenCarp 4 роки тому +10

    Great video! You did a great job explaining Sawyer's achievement. I just started learning 6502 assembly and this level of game seems impossible, especially for one guy.

  • @nintendowiirulz
    @nintendowiirulz 3 роки тому +5

    Great video! Chris, what an absolute madman 😵😵😵

  • @1q3er5
    @1q3er5 Рік тому

    damn this guy stopped uploading - i don't know how this got in my feed, but I'm glad i watched it

  • @ugzz
    @ugzz Рік тому

    This video was amazing. The script, editing, everything. Plus, I actually learned things.. had no clue about how this was programmed or that it was pretty much one guy! Man.. I see this channel has been dead for 2 years but with this level of content.. dropping a sub just in case, and hoping for more!

  • @TychoVan
    @TychoVan Рік тому

    I knew he made it in assembly but its fun to learn more abt it! Nice vid :)

  • @BreadMPH
    @BreadMPH Рік тому

    Very fascinating, thank you. I never knew this game that I loved as a child and adolescent had such an amazing story.

  • @xxxgabaxxx
    @xxxgabaxxx Рік тому

    That music brings a ton of memories and feelings

  • @seinfan9
    @seinfan9 Рік тому

    I always liked trapping the guests in a patch of track that needed to use the restroom and charging them for it. "The restrooms are too expensive!"

  • @LightningQ7
    @LightningQ7 Рік тому

    I knew Roller Coaster Tycoon was developed using some sort of "difficult and direct input programming language". But this is the first video I encounter which actually visualizes how much more complex x86 assembly really is. Thank you :)

  • @BlakeIzayoi
    @BlakeIzayoi Рік тому

    Fantastic video! Glad I found it.

  • @brett84c
    @brett84c Рік тому

    I'm glad someone made a video focusing on WHY Roller Coaster Tycoon is a modern marvel. Most people just think it's a well made game (which it is) but don't actually understand the programming wizardry it took to make such a complex game that ran on even the most basic gaming computers and laptops, which played a huge role in the games massive exposure and reach. The game was an absolute phenomenon and is what I consider one of the most important video games of all time, up there with Super Mario Bros or Pong.

  • @SirCaco
    @SirCaco Рік тому +1

    I was absolutely in love with this game as a child. To this day if I hear any of the sounds that were in this game elsewhere, I think of RCT.

  • @alexbroere2669
    @alexbroere2669 Рік тому

    Oh man Chris Sawyer is a hero. I played RCT so much when I was younger. Building rollercoaster with so many loops just to see people puke 🤮. Dragging angry people to an island to cool off. I even played the games years later on my phone. A legend for sure!

  • @olahhk9949
    @olahhk9949 Рік тому

    This showed up on my FYP. Gave you the thousandth sub after it. ;)

  • @billschannel1116
    @billschannel1116 Рік тому +1

    For younger people it should be pointed out that this would not have seemed as complex regarding assembler. When I was a child I got a PCjr, Dos, the basic cartridge and a book on assembler. I became an expert first on Basic, then assembler. Debug was used to create my first non basic program. At no point was this considered complex, I just viewed it as something I could do.
    The game is great, and it was complex and something I would not code today but the creator probably felt as empowered as held back. Definitely not what he would think starting it today!
    And by the way, learning machine code/assembler first was awesome. I programmed in a lot of the big languages up until recently but I was always thankful I started where and when I did.

  • @MarmaladeSally
    @MarmaladeSally Рік тому +1

    This is the first game I ever played on PC. I still remember sitting next to my older cousin and him showing me the basics. Good times.

  • @turningredog
    @turningredog 3 роки тому +15

    Imagine writing a game like GTA being written in assembly and being so optimized you could run it on a watch

    • @shannonkohl68
      @shannonkohl68 Рік тому

      GTA is far too complex of a game to accomplish this. Left unsaid in this video is that higher level languages give you much better tools manage complex behavior of an application. With a large open world that has a combat simulator, driving simulator, flight simulator, boating / submarine simulators, weather simulator, NPCs who operate in reasonably lifelike manner both walking and driving; you never finish the code in assembly and it would be horribly buggy. To say nothing of the fact you would be tied to that CPU architecture and would have the rewrite the whole thing from scratch if you wanted to port the game.

    • @shannonkohl68
      @shannonkohl68 Рік тому

      GTA is far too complex of a game to accomplish this. Left unsaid in this video is that higher level languages give you much better tools manage complex behavior of an application. With a large open world that has a combat simulator, driving simulator, flight simulator, boating / submarine simulators, weather simulator, NPCs who operate in reasonably lifelike manner both walking and driving; you never finish the code in assembly and it would be horribly buggy. To say nothing of the fact you would be tied to that CPU architecture and would have the rewrite the whole thing from scratch if you wanted to port the game.

  • @natemyers1791
    @natemyers1791 3 роки тому +2

    Awesome video! I’m not sure how this has so few views!

  • @Swim2TheMoon
    @Swim2TheMoon Рік тому

    I still play this game. When it came out, a friend and I spent hours and hours on it. We also used the code, "Wanna play some Tycoon?" to mean let's smoke some weed.

  • @Togher01
    @Togher01 Рік тому

    What a mad man to make a game like this in x86 Assembly.

  • @nitiratp
    @nitiratp Рік тому

    A lovely tribute to a talented dev and all-time classic game

  • @Chris-wj6pn
    @Chris-wj6pn Рік тому +1

    Oh WOW, I never realized that Sawyer mostly wrote the code for the game directly in Assembly. That... that is just mad genius crazy.

  • @mroberts2738
    @mroberts2738 2 роки тому +2

    Legit playing this now. One of my top favs.

  • @mwatkins0590
    @mwatkins0590 2 роки тому +33

    Assembly isnt as hard as one would think. Well, it is at first, but there are a few things that make it easier than most people imagine when they think of what it would be like, and once you are used to the language the "tricky" aspects arent so annoying.
    First, you typically have tools that allow you to monitor what values are stored in what registers. This is often similar to using a debug mode in an IDE, and "watching" those. Second, a lot of high level programmers are familiar with a troubleshooting workflow where they put some type of pauses in the code and print out values of variables etc, for when debugging is just not plausible, this workflow works basically the same in assembly.
    furthermore you can utilize some typical programming design patterns by using jump statements to create pseudo-methods. Knowledge of how stacks work is helpful.
    Ultimately the differences feel like the syntax is more inconvenient and the thinking style of your approach will be a little different, but its really not all that bad. There are definite tradeoffs too, like not having to deal with baggage that often comes with higher level languages, and the common libraries and frameworks you will be using. Instead of writing translations from the libraries and frameworks to your intended logic you write translations from the machine, and its often refreshing to not have to put up with another developers intended usage pattern. which brings me to the next point
    Coding alone is often more productive than 2, 3, or 10 people. 2 coders are never twice as good as 1 coder. The amount of communication between them to make their stuff play nice together, and to come to an agreement on a plan really saps away from much of the benefits.
    Thats not to say he Isn't brilliant. He really is. You have to be very skilled, not only as a coder, but as a general designer and driver of the project, in order to create something as deep, intuitive, and enjoyable as RCT, let alone how efficient you have to be to bang it out in just 2 years.

    • @mwatkins0590
      @mwatkins0590 2 роки тому +2

      also RCT code is probably much deeper than mario and most nes games, Ill give you that. But if the first final fantasy game, or say dragon warrior, were programmed in assembly, I think their code base is probably more deep than RCTs. Some things that you think would take a lot of complex code are actually rather simple, and often times the other way around, too.

    • @jc_dogen
      @jc_dogen Рік тому +1

      @@mwatkins0590 honestly, nearly all games up through the snes/genesis generation were written in assembly. so that would include games like final fantasy 6, super metroid, etc. and the snes is far from an easy system to program. the original elite i'd say is another noteworthy game.

    • @konkerouf
      @konkerouf Рік тому

      yeah you're right. I think appel and microsft are stupid to pay thousands of engineers to write their OS and other products, they should just have 1 guy instead

    • @mwatkins0590
      @mwatkins0590 Рік тому +2

      @@konkerouf whether or not a whole team is better than a focused person really depends on the context. Something massive like that can afford the overhead of paying all those devs and having all the extra development time for meetings and setting standards. a small project would not be able to afford as much developer time.

  • @karelpipa
    @karelpipa 2 роки тому +2

    This applies to his Transport Tycoon also :)

  • @carlstenger5893
    @carlstenger5893 2 роки тому +1

    Good review. Solid thesis. well done!

  • @UTJK.
    @UTJK. Рік тому

    I always thought there was some magic behind the physics of those rollercoasters... Now I finally know. He, John Hare and Sid Meier were absolute heros for me as a programmer.

  • @flawlessediting701
    @flawlessediting701 2 роки тому +1

    original rct menu music. a man of taste.

  • @ryanjandu4968
    @ryanjandu4968 Рік тому

    This was interesting and well done

  • @NicholasLeader0
    @NicholasLeader0 2 роки тому

    Subbed! Found this video on Twitter

  • @mechwarrior83
    @mechwarrior83 Рік тому

    Great video, shame to see it was your last one!

  • @Anthracite_coal
    @Anthracite_coal 2 роки тому +1

    0:35 2 YEARS WHAT

  • @sk8rdman
    @sk8rdman Рік тому

    This makes me want to dust off my old cd Rom and see if I can install and play it on my current system.
    So many memories of playing this as a kid.
    One thing I remember doing is giving guests specific names, and checking up on them periodically to see what they were doing.

  • @worldofinterestOfficial
    @worldofinterestOfficial Рік тому

    Awesome video!

  • @black_foresst
    @black_foresst Рік тому

    Assembly was the bane of my existence in Computer Science Year 2. So glad that’s over with 😅

  • @ShowsOn
    @ShowsOn Рік тому

    I think he made his previous game Transport Tycooon in assembly too. It worked really well even on my 486 DX2.

  • @SpaceCaptainDR
    @SpaceCaptainDR Рік тому

    I will always look fondly on the hundreds of hours of roller coaster tycoon 1 and 2 I played as a kid.

  • @Deanthaw
    @Deanthaw Рік тому

    I would LOVE to see more video like this, feel's like there is no "behind-the-scenes" or "behind-the-code" videos for Games. Would love to see videos like this to describe how some games were coded, crafted, etc. Only channel that is comparable is gamemakerstoolkit. Anyway, Native Resolution, great job. Keep more stuff like this coming!

  • @istrumguitars
    @istrumguitars 11 місяців тому

    Amen bro. This is fascinating. I loved the game as a kid, but this makes me have an all-new appreciation for it.

  • @Superweapons
    @Superweapons 2 роки тому +2

    i spend thousands of hours playing this game even on my Phone i play RCT classic i think its my favorite game of all times.

  • @bolttracks
    @bolttracks 4 роки тому +3

    Really great video! Just got back into the game with my wife 👍