For a full director's commentary on this video, including my feelings about later Roller Coaster Tycoon titles, join my Patreon at www.patreon.com/JacobGeller!
Dude, this is awesome. I hope you look into more retro games. If you are going to, then definitely check this out www.doomworld.com/25years/the-roots-of-doom-mapping/index/
Some Pilots withstand more than 10G for some time with the right breathing and muscle contractions. So I doubt the usefulness of that coaster unless it is longer, or harder.
One can not stress enough how impressive writing a game in assembly is. Where in your average programming language you'd say "save 3+5" somewhere in memory so I can use the result later", in assembly you say "allocate 3 in memory drawer x, 5 in memory drawer y, then allocate the result of adding drawer x and y to drawer z"
I think you're comment actually under sells just how difficult this would be. Doing 3+5 is easy in assembly compared to the other things he would have had to do like writing graphics and audio libraries. I'm still not sure I believe this was actually 100% written in assembly, especially not by a single person.
Programmers today complain when they have to even think bout pointer references, tell the system to allocate memory and then properly free it in C/C++, they think is an outdated way of programming that needs to go away, hell, they complain if they have to consider data types when declaring variables instead of using a catch-all var like in JS or nothing at all in the case of Python. I cannot fathom programming anything with intended for the end user entirely in Assembly.
It's an important point that Chris Sawyer didn't just program RCT in assembly for the sake of it, he did it because of all the park guests having need and personality driven AI would have annihilated computers at the time if you'd try to write that in a normal programming language. Every park in Rollercoaster Tycoon is essentially a The Sims house, but with 100+ sims in it.
That part seems one of the easiest, RNG creates guests from a pool of potential guests, each with a timer on certain attributes and a range for ride stats. How he managed to create the physics engine is the question.
@@rmac3217 Easiest to code in a logical sense doesn't mean easy work for the PC. Think about when theres eventually hundreds to thousands of guests. Quickly becomes a lot of calculation the computer is trying to do.
@@Xfacta12482 But that's the whole thing about RCT and why it was the most epic cereal box game release... The computer doesn't have to think because Chris Sawyer programmed it in the most basic language possible, so it runs smooth on Windows95 with no RAM with all sorts of sh happening in the map.
@@rmac3217 The physics engine in comparison would be trivial. The cool thing about physics on coasters is that you know exactly where the train is going next, all you need to figure out is how fast it's supposed to be there.
the whiplash i felt going into this video thinking "oh boy, wonder what cool things i'm gonna learn about roller coaster tycoon today!" and then immediately being hit with "CW: DISCUSSION OF CONSENSUAL EUTHANASIA"........... honestly i should expect nothing less from a jacob geller video at this point LMAO. i LOVE how you talk about the game's code in relation to the structure of roller coasters, it's such a cool comparison i never would have thought of on my own. your videos continue to never fail to delight me.
For a less serious discussion, check out this deconstruction of Rollercoaster Tychoon 3, very well made, focusing on game feel and feedback m.ruclips.net/video/KdzLiH3F6hE/видео.html
I admire how you planned the script to gradually climb, quickly drop, then move around like a rollercoaster until finally returning to the start. Truly brilliant.
As I kid, I came up with the genius business plan of putting all the people that had negative thoughts about my park in an enclosure so they could never leave. That way there could only be positive reviews of my park. I couldn't understand why people stopped coming...
As an architecture/planning student, I can understand what you’re getting at in regards to the feeling of ‘density’ with wooden roller coasters; although today minimalism is kind of the hip new thing, in design there’s definitely something to be said for having a feeling of fullness and/or rich detail, like the rough yet sturdy look of a truss bridge in comparison to the fairly uniform beam bridges on the interstate. If done right, hitting the ‘organized chaos’ sweetspot, you can create what feels like a symphony for the eyes.
Addendum: There’s also an appeal in seeing something being ‘optimized’ with all its moving parts visible. I’d liken it to the feeling you get when seeing the inside of a clock tower with all its whirring cogs and well-wound springs; it satisfies your OCD need for perfection while also being exciting, dynamic, active. I imagine the appeal is there in any other simulator or RTS.
Since my childhood, I've driven past Six Flags Magic Mountain many many times. Each time, I'd look over and see the familiar white hills and valleys of Colossus. That coaster truly deserved its name: it just LOOMED over the entire valley, as if mirroring the Sierra Nevada mountains. More recently, I drove past that park again, having not been there in probably over a decade, and did a double take. Those familiar white peaks were gone. There was this weird, skeletal. . . framework. . . where it used to be. It was like finding out the Alps were mined out for coal or something. As if some part of the land was. . . taken away. . . . so anyway, that's how I found out the wooden coaster Colossus was remade into a hybrid wood-steel coaster called Twisted Colossus in 2014.
They are a product of their time too. such an excessive and luxurious amount of natural resources, used for something like a wooden roller coaster… is such a good metaphor for the abundance those generations felt in the massive growth era they experienced. Plus the time taken to craft such a giant thing in the age before computers. I wonder where the engineering drafts for the Coney Island Cyclone or The Beast at Kings Island are.
@@BlueRidgeBlackRedneck I'll bet you that at least a partial copy of those are hiding somewhere in the Library of Congress' collections. Maybe the NYC archives if not there.
Day: 237 I’ve finally gotten use to sleeping in this hell. Wish I could say that for the others though. Apparently Susan vomited from the sudden decent in her sleep. Thank god, i’m not on there cart. I taught myself to not think and just feel the environment of this limbo. After that I decided to do some writing. After I finally escape this limbo and see my daughter one more time, i’m going to share my story. Might as well make a script for my documentary. I’m seeing why Jeff calls me the optimistic one. Welp, this is Steven signing off.
10:20 the whole "RCT was programmed in assembly it's super optimized" thing is kinda overblown. OpenRCT2 devs will tell you there isn't much special about the code, and if anything, the fact that it was written in x86 assembly probably held the series back. It'd actually be impossible to run the original games on a calculator, but thanks to the OpenRCT2 team rewriting the game in C, that's now a thing someone could actually try if they wanted to. Well-written C code is just as good as well-written assembly and is far more valuable for porting purposes. Chris Sawyer himself had to hire a team to rewrite the entire game for the RCT Classic mobile release. Doom is probably the better example of a well-written game that can run on a toaster - people have literally written books on that subject.
I think in the past, having the whole thing written in assembly would have provided a decent amount of optimisation and if you really want, there are some things that can be more efficiently written in assembly. However, I’d wager most of the time, modern compilers will make any decent sized C program faster than a manual ASM equivalent due to the crazy optimisations compilers can do now.
i can’t stop laughing at the leap from “It is as if death is divorced from our cultural life, just as death rituals are in our secular and postmodern Western society. But if it is already legal, why not make it more meaningful... as a ritual adapted to the contemporary world.” to “So I made a roller coaster.”
12:01 actually, RCT would probably never run on a graphing calculator, precisely because it's written in assembly. Assembly languages are so low-level, so non-abstracted, that they have to be tailored to the exact type of CPU that runs the program, and converting an assembly program to a different CPU type means either rewriting it from the ground up in a different language, or including a clunky and inefficient compatibility layer. And graphing calculators don't use the same type of CPU as an IBM-compatible computer. RCT is very well optimized, to x86 systems - at the expense of being nigh-impossible to run on anything else. (Though with decades of time in between, even the compatibility layer might not be impossible on modern non-x86 systems, though a graphing calculator is still very much pushing it.) I will also note that with modern CPU's, it's often beyond human capacity to hand-optimize an assembly program anywhere near as well as a compiler could, meaning that one would be better off programming in something like C or Rust.
Also, just the information density: graphical calculator displays are too low-res to display everything effectively. But on the flipside...we do have Doom running on graphical calculators.
Mr Bones Wild Ride is a fun thought experiment with a memetic title. But the longest RCT2 coaster ever made now is called the Century Coaster, and is named such because it takes over 100 real world years to complete. And almost 900,000 in game years. And the fun thing is, there's always further potential for more creative solutions to make longer rides! EDIT: Smashing the record of the Century Coaster, the longest RCT2 coaster is now the Universe Coaster. Thanks to iTzNikkitty in the replies for bringing it up.
@@literallyglados Yeah, I know. Like I said, I still love Mr Bones Wild Ride. I think Mr Bones is a fun story featuring understandable game mechanics. Mr Bones is like the immediate and understandable satisfaction of watching Super Mario 64 doing a backwards long jump. The Century Coaster like is hearing a Super Mario 64 expert talk about parallel universes, impressive but inscrutable. idk if that analogy even make sense But You Know
Really? Careening into the afterlife at mach-1 from G-forces literally suffocating your brain while riding an unstoppable train with no brakes is undignified?
All I can imagine is being terminally ill and standing there at the entrance with my closest family and friends tearfully wishing me farewell before I get on the death coaster. They hold and comfort each other as they watch my lifeless body flopping around the last few loop-de-loops. Yeah, that's definitely a way to go.
I already knew about the Euthanasia Coaster, and have been on the internet more than long enough to learn of Mr Bones Wild Ride. But I sure as hell didn't know that Rollercoaster Tycoon's core code architecture was designed with the same design ideals as a rollercoaster itself! That was pretty mindblowing for me, and yet again is a reason I love all your videos. :D
I mean, it's not like Chris Sawyer set out to make a rollercoaster game that's programmed with the same brashness as rollercoasters in real life. That's just a comparison Jacob made. Sawyer simply chose to do it in assembly language for performance reasons, not artistic ones
@@pebblessyou yeah, and honestly it's a lousy comparison based on a lot of hand waving and not knowing the invisible engineering that goes into roller coasters (understandable, because it's behind the scenes)
@@pebblessyou It's arguable it may not strictly speaking be for performance reasons as such either. He was probably just used to working that way. Pretty much everything he made was pure assembly. Certainly his other famous game is. (Transport Tycoon.)
Because this argument is pure bullshit made up to say something substantial in the video essay. Chris is an established assembly programmer who had a huge amount of code already done for TTD. By that time it was the norm to develop in c/cpp and hand optimize the hot loops. Coding fully in assembly had more to do with being a relic in a new era than a conscious philosophical choice.
Yeah, that part of the vid is pure conjecture but imo Jacob fails to paint it that way and it comes out as fact. It's understandable because he's a journalist and not a programmer, but maybe instead of guiding himself off of that article about RTC optimization he could've asked a programmer. Not his best work honestly :/
I’m so glad I’m not the only one who had an unhealthy obsession with RCT and still has no idea how to make a coaster, also our go-to design is exactly the same haha
dont know how many times i built coasters that needed the largest drops, the most screws and turns, as high intensity as possible when the excitement was always a failure, and to let it be painfully long if none of the other options were possible but then eventually i had more will to learn the game, rct3 specifically, and wanted to make something realistic, ahah.. it becomes like one big math problem to solve. first of all had to understand how to make a coaster that does not make turns that break necks or drops that turn the riders into pancakes, or constant zero or negative g force that would make heads explode. there was a lot of learning and getting familiar with different coaster types, it took me surprisingly long time to understand what i was actually doing. but you almost feel like some scientist when figuring things out. after a lot of experimentation, i made just a few different coasters that seemed like they could exist in real life as popular attractions, with a bunch of useless coasters made in between. that was satisfying to create something with almost peak excitement and different mixtures of intensity depending on who you catered to, though the medium ones were most popular. but having that large and cool looking coaster farthest away from the entry with great intensity and even greater excitement, and it attracted the more crazy guests over and over again, that was something else. the nausea meter i learned not to care about, the guests dont seem to care, and first aid buildings fixed the actual problem coming from that. i think it also increased the guests nausea tolerance to other rides, which i thought of as a big bonus
Halfway through the video and I'm like "Damn this is actually really poetic and shines a light on coasters that I've never seen before." That analogy that a coaster is a horror movie with the scary parts in plain view, yet still scares you? Beautiful
The best coaster I ever had was extremely simple in design, it had no twists or loops or anything, but it went high off the ground and spanned around the entire park. I almost went bankrupt constructing it, but when it was done it stayed completely packed for decades until I had to sell it off because it was breaking down like every day.
When I heard RCT2 was coded in ASSEMBLY my mouth droped. Having made modest programs in highschool coded in Java, C# and other high level programming languages myself, coding in Assembly was a nightmare to me. Its known as a low level programming language because its the next step to code directly in binary, its extremely hard and it can break quite easily, you need to hsve a great amount of knowledge not only in code but the integrated circuits (the chips) themselves into wich you are coding. Its like making a tailored suit from scratch directly from cotton threads.
By the lord did that shock me as well, to have some madlad even consider "yes I will write a game in asambly" was impressive. And that he even did it at least two more time showed me that he is a masochist and a genius or mad. But what can I say, genius and madness are two sides of the same coin.
I love what you do. Your work gravitates around physicality, and places, buildings, locations as individual bodies, it's fascinating. Your videos about the haunted house as self-made vessels of resentment, and the call of the caves we can't resist, and now the skeletal honesty of a roller coaster's design... Idk man I feel things. It's all so.. physical? Fleshy? Like these feelings are not so much rooted in the mind, but in the body - the fear of roller coasters is not rational, as you said we can already see it all, it's the body that fears what's to come. And we can't help but answer the calls of dark, deep places almost like it's stronger than us, more powerful than our rationality, like it's the body answering rather than the brain. I love how your work admits we as a group can't help but give an identity to these objects too, how by just being built they become others and separate from us and thus deserving of intention and recognition and sometimes an odd kind of conscience. It resonates so hard. Love that. Keep it up man.
Rollercoasters are the dragons of theme parks. Wherever they rest, they dominate that location and fixate everyone. Equally dangerous feeling while showing unimaginable wisdom in their bodies
This reminds me of the story "The Cold Equations," a story whose central point is simply "sometimes the laws of physics result in bad things happening to people who don't deserve it." Rollercoasters and rocket ships, both fields where you can crunch the numbers and say with certainty, "given *these* facts about the situation, *this* is what will unavoidably happen to the fragile humans in that situation."
One of the things that really fascinated me was the crowd noise inside of the game it really does capture that strange oscillating tonality of crowds in person
I had no idea Mr. Bone's wild Ride meme came from Roller-coaster Tycoon 2. I have learned at least some context for a part of the internet. Interesting. Well assembled video as usual.
When you went into the “catastrophically big” sequence I didn’t know what I was feeling. Your videos always make me emotional and provoke a lot of thought, but I didn’t realize that the Fallout 4 soundtrack was on in the background stirring up all those wonderful memories. It’s one of my favorite games of all time.
I used to imagine all my parks as real parks and I would walk around through them in my mind. It helped me to understand how a footpath might be in a wrong spot or how another trash can would help. This game allowed me to do that in ways no other game ever did. That’s why it had always been my absolute favorite game of all time.
When he showed Thunderhead from Dollywood at 5:15 it made me oddly nostalgic for that job, which is something I never thought I'd feel. It was a relief when I quit working there, but I still miss the good parts.
"it probably would be able to run on your graphing calculator" ...if that calculator has an Intel x86 processor, at least :P The reason almost nobody writes anything in assembly directly these days is that it only will work for one processor architecture, because other brands of CPUs will talk in a completely different computer language. One of the big selling points when C was introduced was that you didn't have to rewrite your entire program from scratch for every architecture you'd support, you could just compile the same code again with different settings and it'd work just fine.
That's not really a limitation though, since nearly all modern computers run on an x86-64 instruction set. All modern AMD and Intel CPUs, including macs, can run x86 assembly code just fine. The reason nobody writes anything in assembly any more is because it's incredibly annoying, and modern compilers have gotten very good.
No, assembly code is different than machine code. Machine code is what only works for certain processors. The game would be able to work on a graphing calculator, it just needs to be compiled it to machine code for the graphing calculator instead of machine code for your computer. However, I'm definitely not an expert, this is just how I think it works after a decent amount of research.
@@tifforo1 Yes, cell phones and tablets run ARM. I was referring to laptops and desktops with my statement above, but I apologize if that wasn't clear.
@@qualia765 Assembly is instruction set specific. You can't compile x86 assembly to work on ARM, or POWER, or SPARC, or IA64 for example, so in that way it's really quite similar to machine code. Most other programming languages are more flexible though.
I’ve ridden on a wooden roller coaster called the Goliath, there’s a part where you go upside down, and the ride itself is way different than the steel roller coaster. I even got a shirt that says,”I’m not a zombie, Goliath is that good.” I visited the park during a halloween event.
I let out an unexpected loud laugh the second you said this game was made in assembly, I'm still haunted by my extremely basic assembly classes in college lol, can't imagine making a whole game like that
This is a really cool video, but I want to address a view things, technically: All processors run machine language, and most video games are compiled from high-level languages like C into machine language ahead of time - the processor is not translating into machine language at runtime. Some languages, like Javascript, are translated more or less in real time (with some optimizations). Nowadays, a C programs with a sufficiently good compiler will outperform an assembly program. The compiler is better at optimization than a human. At the time, assembly was likely more necessary to create a program that ran so well even on horrible computers (like mine as a kid!). Again, a super amazing video, but it's worth mentioning that for most video games "undoing the abstraction" is done ahead of time.
"The compiler is better at optimization than a human" is a myth. Modern compilers are great at performing some kinds of very tedious optimizations, but they also routinely get fairly obvious decisions wrong because at the end of the day optimization is hard and requires intelligence to do well. A lot of low-level optimization work involves finding where the compiler did something sub-optimal, tweaking the code to give the compiler hints about how it should generate machine code differently, and verifying that it generates roughly the machine code you expect. A human can still do better, but the difference between writing the assembly directly vs. tweaking the C code to get roughly the assembly you want is small enough that it hardly every matters.
Years ago I told one of my friends about this coaster design. She has a long term degenerative condition that will eventually seriously reduce her quality of life. She thought the Coaster was a much cooler than the other alternatives for the terminally ill....
Its so important to be able to envision death in dignity, and im also quite enamored with the design of this rollercoaster. Wish your friend as much joy as she can get.
"I want to get off mr Bones Wild ride" Me: It's just lines of code, they don't have real feelings. Meanwhile, some super advanced creature looking at humans: They're just a collection of cells, they have no real feelings.
the way you described assembly is a little incorrect. most programming languages are run through a compiler and turned into assembly, writing assembly by hand doesn't necessarily make the code run any faster. compilers can usually out optimize a human
you're cutting out an extra step. it's like switching from emulating a game to running it on native hardware. that's astronomically good for efficiency.
The optimizers of 20 years ago couldn't necessarily beat a skilled human most of the time, so it was a more-reasonable decision at the time. But yeah, nowadays there's almost no reason to ever write assembly directly. Although, languages like Java or C# do still entail extra work by the computer at runtime to execute bytecode or to JIT the CLIR, and though modern GC has more or less trivial impacts on overall performance in most instances, it does increase the memory requirements and can make timings inconsistent which can result in stuttering for a game. And scripting in games is usually interpreted, which does involve a lot of work at runtime. But the answer to that definitely doesn't need to be assembly, there's a whole range of intermediates.
I’d say it probably made the program run much faster at the time, but now it’ll probably be faster if it was written in good C. Although this does make me think, could you write an LLVM frontend or something for Assembly and put the RCT2 code through its optimiser? I wonder if it would be much faster with the modern compiler optimisations.
@@killerbee.13 idk, i have no benchmarks that prove this but i think gcc was probably good enough to out optimize a human even at its inception. memory management is just not a problem human brains are very good at solving
Yeah, I never could scream either, what is up with that, are we weirdos? Like, I really really tried, many times, but every time nothing would come out. I dunno, have _you_ figured it out, because I'm still tryin' here.
I remember feeling like a genius when I figured out a cheap, quick and very popular coaster design that would always make my parks bucket loads of money. Was able to replicate in RollerCoaster Tycoon 2 and 3 as well to cheese my way out of most challenges. lol
I never expected another person to have such a similar experience when it comes to the picture they got after their first rollercoaster. Yours is so similar. Obviously the ride is different. Mine was Journey to Atlantis at Sea World, but still. Mine had me, wide eyed and screaming, with my mom next to me, eyes covered with sunglasses and also screaming. Then there's my dad, sitting behind us, again, also wearing sunglasses, but he has this grin that lets you know that he thinks our reaction is funny. It is probably the only picture of younger me I like because I don't think about the physical person I'm looking at, but the memory. So, thank you for an incredible video as always, and also reminding me of that.
I was addicted to this game when it was released 20 years ago. I actually got pretty good at building coasters, though it took me a few years of playing to get there. I still remember my best park. It was on that unlimited money desert map. Great video.
Ironically, RCT would probably *not* run on a calculator because their Assembly instruction sets might be completely different, and porting it would be a gigantic pain in the ass.
Just like you said, it wouldn't. Unless, there was some way to convert all those assembly mnemonics into something higher level and recompile. Oh wait, OpenRCT2 does exactly that! And the video in almost all the scenes shows OpenRCT2 footage, not the vanilla.
@@mjan9347 so a different version of the game which is not the same game at all but a recreation would work on different systems because it was designed to? Wow, you really are blowing my mind there.../s Besides, I've never played RCT in my life... I just watch this guy's videos and studied x86 assembly in college for one semester. Never knew the history of OpenRCT or whatever.
@@BierBart12 given sufficient devotion to compile it for the platform - yes. OpenRCT2 is fairly portably, although it requires C++17 support from the compiler.
“There is a roller coaster designed specifically to kill you.” Me: I think I’ve watched Greystillplays build it. Multiple times. Sees the design, hears its stats. Me: oh yeah. Definitely seen this in Greystillplays Planet Coaster series.
The thing is ... you wouldn't die in the coaster. Lack of oxygen to the rain only begins to do real damage after about 3 minutes. You may experience some damage due to the g forces, but at most everyone will wake up at the end of the ride with a bad headache. Fighter pilots especially could potentially even stay awake for nearly the entire ride, though they would be experiencing quite intense G-lock.
Everything that comes out of this channel is so fascinating. I've never played Roller Coaster Tycoon, hell, I've never felt very enthusiastic about theme parks in general, but this video was able to catch my attention in so little time. I love it
I don't think I've ever been afraid of roller coasters. I get alarmed sometimes when their restraints aren't quite as good as I'd like, but I know that they're statistically one of the safest thrills I could possibly have. I never scream on roller coasters, I just laugh, because it's thrilling and exciting to be flung around like that. To experience physics in such a visceral way without much, if any, risk to your person.
Lovely video as always! But I feel a short correction is needed for the Assembly part. Whilst there is overhead for the computer to interpret the abstractions we build, that overhead is not present during a game's execution (assuming you're using a compiled language such as C++). For interpreted langauges such as Java or C# there *is* an overhead, but even that can be optimised away with a process called "JIT" (just in time compilation). So writing a programm in Assembly does not pose any additional benefits regarding the interpretation of the written code compared to something like C++. It gives you more control and more room for specificity, which *can* lead to optimisations otherwise not possible, but that is not because of the amount of interpretation avoided. I would also like to mention that many games were programmed in Assembly or Assembly like languages. The fascinating part about RTC is that it did that with a far more complex featureset in an era where using Assembly to programm games was already no longer a part of the practice. This doesn't change your overall point at all, I just felt it needed a bit of clearing p. A short "fun fact": Assembly is also not the final step, it is interpreted down at the hardware level into "microcode" which is then in turn interpreted by the CPU to the actual instructions necessary for evaluation.
I don't think Mr. Bones' Wild Ride was designed to kill people. No, the builder knew full well that he was designing the cruelest possible torture device for immortals.
I never knew I could be so moved by a mini documentary about coasters. It brought back reflections of childhood. I played Rollercoaster tycoon as a young teen and I thoroughly enjoyed it. I spent hours refining parks and creating rides (some were indeed killers). I applaud your documentary. It was strangley touching.
"My go to move when building a coaster was always to go as high as possible, do a giant drop, a few spins and then desperately try to connect it back to the start." Preach 🙏
I loved RCT as a kid/teenager. It was my introduction to more complex games I would soon fall in love with. As a former IS student, that little information regarding Assembly was jaw-dropping. I feel like that one Vegeta meme from Dragon Ball Super: "He's speaking the language of the gods!" Also, thank you for the Dragon Quest VIII music. My ears appreciate it.
You forgot to mention how the game feels “alive” similar to GTA games. The peeps think on their own, walking where they want, making decisions on their own.
Never have I heard of roller coasters written about in such a poetic and mysterious way. It's 8:30 p.m. and I haven't even made dinner yet. I couldn't pull myself away from this!
What a way to find out that my first coaster experience was the exact same one as yours! Took my parents all day to convince me to ride Thunderhead lol. Great video :)
I just realized that the stylized Y in the Curiosity Stream logo kinda looks like the 'Yerach ben yomo' cantillation mark for Tanakh reading. I just learned what they are recently and so it was on my mind. Really fun video and i liked the aesthetics of your parks! Thanks for another one and stay safe!
You got to remember that almost all console game up until the early 90s were written in assembly languages for their particular system. Atari, NES, SNES, Sega... Chris Sawyer had been working in the industry since 1983. Just because something is written in Assembly does not mean it is optimized, and computers do not translate higher languages and thus become not as optimized. Almost all higher languages have to compile before a program can be launched. A well optimized higher language code can compile into something just as efficient as if were programmed in assembly.
watching this a few days after watching "the false evolution of execution methods" is such a weird change of pace, its like the part 2 that was released 2 years previous
This was so good. My only point of feedback is the Assembly section. (As a software engineer in industry for 5 years and someone who studies computer science) I’m not gonna write a giant essay here about the depth of the errors on the assumptions made there, but if you’re interested(or any one else reading) let me know via reply here. I’m open to a discussion via whatever method you prefer (Twitter dms, email, etc)
Positively baffled that this architect guy's funny thought expirment for a death coaster can't just be described as a thought experiment, or a blueprint that nobody would ever actually make or be expected to make. It has to be described as pretentiously as possible as a metaphysical tour de force, simultaneously existing and nonexisting in the eldritch mind's eye of the shadow realm! At least Mr Bone's Wild Ride says what it means and means what it says. It's a ride. It's Mr Bone's. It never ends.
For a full director's commentary on this video, including my feelings about later Roller Coaster Tycoon titles, join my Patreon at www.patreon.com/JacobGeller!
Dude, this is awesome. I hope you look into more retro games. If you are going to, then definitely check this out
www.doomworld.com/25years/the-roots-of-doom-mapping/index/
Chris Sawyer lives in my village and helped in my old primary school he's a really nice guy!
U kinda look like nathan fielder w a beard
Some Pilots withstand more than 10G for some time with the right breathing and muscle contractions. So I doubt the usefulness of that coaster unless it is longer, or harder.
Hey Jacob, where is the quote about the yellow birds from? I really like it and just wanna quote whoever it was, especially if it was you! :D
Obsessed with the dissonance I felt with “oh cool, Rollercoaster Tycoon!” And then “Warning! Consensual euthanasia discussed!”
Isn't all euthanasia consensual? Otherwise it's just murder
This is why I'm not a fan of content warnings.
@NoriMori1992 I'm the opposite. What if a loved one was euthanized? A pet, even?
Bubble wrap and caution tape the world. @@mikaeus468
@@NoriMori1992you’d rather just… go into the video and get it out of nowhere?
"i want to get off mr. bones wild ride" is how im feeling about the general state of human existence at this point in history
Accurate. 😂😭
This comment is aging both really well and Hideously as Mr. Bones' 2020 unfolds!
LMAO facts
xd
xD
Mr bones wild ride is exactly the kind of dumb nonsense that makes life worth living.
watch the DNSL video it does it a great justice
Absurdity of humanity is truly a thing of wonder.
I remember watching someone build a train track from a planet to the moon in Space Engineers. It had the same chaotic energy.
wrongwrongwrongwrongwrongwrongwrongwrongwrongwrongwrongwrongwrongwrongwrongwrongwrongwrong you must solve the riddle.
rttrdtrttutsddtrdtddztdtrdturtttt5
One can not stress enough how impressive writing a game in assembly is. Where in your average programming language you'd say "save 3+5" somewhere in memory so I can use the result later", in assembly you say "allocate 3 in memory drawer x, 5 in memory drawer y, then allocate the result of adding drawer x and y to drawer z"
Don't even get me started on division. Imagine writing physics calculations in assembly
can confirm, writing even otherwise straightforward projects in assembly becomes mind bendingly difficult
I think you're comment actually under sells just how difficult this would be. Doing 3+5 is easy in assembly compared to the other things he would have had to do like writing graphics and audio libraries. I'm still not sure I believe this was actually 100% written in assembly, especially not by a single person.
@@rum-ham you're correct. 1% was written in C
Programmers today complain when they have to even think bout pointer references, tell the system to allocate memory and then properly free it in C/C++, they think is an outdated way of programming that needs to go away, hell, they complain if they have to consider data types when declaring variables instead of using a catch-all var like in JS or nothing at all in the case of Python. I cannot fathom programming anything with intended for the end user entirely in Assembly.
It's an important point that Chris Sawyer didn't just program RCT in assembly for the sake of it, he did it because of all the park guests having need and personality driven AI would have annihilated computers at the time if you'd try to write that in a normal programming language. Every park in Rollercoaster Tycoon is essentially a The Sims house, but with 100+ sims in it.
That part seems one of the easiest, RNG creates guests from a pool of potential guests, each with a timer on certain attributes and a range for ride stats. How he managed to create the physics engine is the question.
@@rmac3217 Easiest to code in a logical sense doesn't mean easy work for the PC. Think about when theres eventually hundreds to thousands of guests. Quickly becomes a lot of calculation the computer is trying to do.
@@Xfacta12482 But that's the whole thing about RCT and why it was the most epic cereal box game release... The computer doesn't have to think because Chris Sawyer programmed it in the most basic language possible, so it runs smooth on Windows95 with no RAM with all sorts of sh happening in the map.
@@rmac3217 The physics engine in comparison would be trivial. The cool thing about physics on coasters is that you know exactly where the train is going next, all you need to figure out is how fast it's supposed to be there.
@@rmac3217 i think you should consider thinking before you speak
>customer is upset
>make an island in the middle of a lake
>banish them there
there are no unhappy customers in my park.
There is no war in Ba Sing Se
Easy there Long Fenng
The Earth King has invited you to lake laogai.
The island has one ride, and its exit is underground with no pathway, making the peeps drop into oblivion
You mean banish them to the underwater floorbed
the whiplash i felt going into this video thinking "oh boy, wonder what cool things i'm gonna learn about roller coaster tycoon today!" and then immediately being hit with "CW: DISCUSSION OF CONSENSUAL EUTHANASIA"........... honestly i should expect nothing less from a jacob geller video at this point LMAO. i LOVE how you talk about the game's code in relation to the structure of roller coasters, it's such a cool comparison i never would have thought of on my own. your videos continue to never fail to delight me.
His content is just consistently excellent.
What a T W I S T
You could say it was....... a roller coaster
For a less serious discussion, check out this deconstruction of Rollercoaster Tychoon 3, very well made, focusing on game feel and feedback
m.ruclips.net/video/KdzLiH3F6hE/видео.html
Same here.
I like how the thumbnail also makes it look like it says "Strange Beauty".
ME TOO
Totally unintentional haha
It's hard to unsee it now!
That's what I thought it said at first.
Just now realizing that it -doesn’t- say “strange beauty”
@@JacobGeller no way it was.... i literally just now come to realize it doesn't read strange beauty
"RollerCoaster Tycoon is written in Assembly"
I felt physical pain hearing that
same
I freezed for a second there
Writing a game in assembly is so much more terrifying than the idea of a killer roller coaster
I teared up hearing that
I was listening to this in the background while programing and I actually got a chill down my spine.
I tried programming in assembly once. I'd rather go on Mr. Bone's wild ride than do that again.
I admire how you planned the script to gradually climb, quickly drop, then move around like a rollercoaster until finally returning to the start. Truly brilliant.
oh shut up
@@sponge6197 nah u
@@oliparkhouse shut up
@@raistlinlove1307 u tho
@@oliparkhouse Literally just kiss me, you freak!
As I kid, I came up with the genius business plan of putting all the people that had negative thoughts about my park in an enclosure so they could never leave. That way there could only be positive reviews of my park. I couldn't understand why people stopped coming...
I did the same but it was on Jurassic park operation genesis. The guests did not leave.
Well, I had a tiny pool of water...
The most fascist theme park ever.
@@ThZuao and the rest is history.
Sims Moment
There's something neat about knowing one of my favorite RUclipsrs has also been to Dollywood. Yes, the south is very strange.
As someone who used to work there, I know how you feel lol.
It's strange because its not degenerate
@Jay Bee I've lived all across the country and the Asheville area is my favorite. Don't want to ever leave it
I have been to dollywood AND splash country
Tennessee sucks and I want to live somewhere else, but Dollywood was fun so it’s worth it.
As an architecture/planning student, I can understand what you’re getting at in regards to the feeling of ‘density’ with wooden roller coasters; although today minimalism is kind of the hip new thing, in design there’s definitely something to be said for having a feeling of fullness and/or rich detail, like the rough yet sturdy look of a truss bridge in comparison to the fairly uniform beam bridges on the interstate. If done right, hitting the ‘organized chaos’ sweetspot, you can create what feels like a symphony for the eyes.
Addendum: There’s also an appeal in seeing something being ‘optimized’ with all its moving parts visible. I’d liken it to the feeling you get when seeing the inside of a clock tower with all its whirring cogs and well-wound springs; it satisfies your OCD need for perfection while also being exciting, dynamic, active. I imagine the appeal is there in any other simulator or RTS.
Since my childhood, I've driven past Six Flags Magic Mountain many many times. Each time, I'd look over and see the familiar white hills and valleys of Colossus. That coaster truly deserved its name: it just LOOMED over the entire valley, as if mirroring the Sierra Nevada mountains.
More recently, I drove past that park again, having not been there in probably over a decade, and did a double take. Those familiar white peaks were gone. There was this weird, skeletal. . . framework. . . where it used to be. It was like finding out the Alps were mined out for coal or something. As if some part of the land was. . . taken away.
. . . so anyway, that's how I found out the wooden coaster Colossus was remade into a hybrid wood-steel coaster called Twisted Colossus in 2014.
They are a product of their time too. such an excessive and luxurious amount of natural resources, used for something like a wooden roller coaster… is such a good metaphor for the abundance those generations felt in the massive growth era they experienced.
Plus the time taken to craft such a giant thing in the age before computers. I wonder where the engineering drafts for the Coney Island Cyclone or The Beast at Kings Island are.
@@BlueRidgeBlackRedneck I'll bet you that at least a partial copy of those are hiding somewhere in the Library of Congress' collections. Maybe the NYC archives if not there.
"Some of the most visible engineering some of us will ever see." What a poetic description of roller coasters. Bravo.
“Roller Coaster Tycoon”
“Consensual Euthanasia”
oh boy this is gonna be a wild ride.
A Mr. Bones wild ride, perhaps?
@@kappaross6124 What a shame that I am four months late to make this comment. But hey, you must still be on the ride, am I right? :)
@@kappaross6124 I WANT TO GET OFF MR BONES WILD RIDE
Sure, a theme park would open a coaster to guests that has never been tested. Action Park would like to know your location.
This video is sponsored by Mr. Bones.
I want to get off Mr. Bones' Wild Ride.
I want to get off MR. BONES' WILD RIDE.
Day: 237
I’ve finally gotten use to sleeping in this hell. Wish I could say that for the others though. Apparently Susan vomited from the sudden decent in her sleep. Thank god, i’m not on there cart. I taught myself to not think and just feel the environment of this limbo. After that I decided to do some writing. After I finally escape this limbo and see my daughter one more time, i’m going to share my story. Might as well make a script for my documentary. I’m seeing why Jeff calls me the optimistic one. Welp, this is Steven signing off.
You Can't.
@@spacedasher4738 Write. A book. Now. :D
Supersum Creations Thank you, it’s been my dream to write a book. This will motivate me forwards.
10:20 the whole "RCT was programmed in assembly it's super optimized" thing is kinda overblown. OpenRCT2 devs will tell you there isn't much special about the code, and if anything, the fact that it was written in x86 assembly probably held the series back. It'd actually be impossible to run the original games on a calculator, but thanks to the OpenRCT2 team rewriting the game in C, that's now a thing someone could actually try if they wanted to. Well-written C code is just as good as well-written assembly and is far more valuable for porting purposes. Chris Sawyer himself had to hire a team to rewrite the entire game for the RCT Classic mobile release. Doom is probably the better example of a well-written game that can run on a toaster - people have literally written books on that subject.
yes
I think in the past, having the whole thing written in assembly would have provided a decent amount of optimisation and if you really want, there are some things that can be more efficiently written in assembly. However, I’d wager most of the time, modern compilers will make any decent sized C program faster than a manual ASM equivalent due to the crazy optimisations compilers can do now.
As a member of OpenRCT2 team: yes, not much else to say. Please upvote this comment to the top.
Also Mr bones is not the longest roller coaster in RCT ruclips.net/video/QotjNlDr0WU/видео.html
Still, as a software developer I look up to Chris Sawyer for RCT. It is quite the programming marvel to produce something like RCT using assembly.
i can’t stop laughing at the leap from
“It is as if death is divorced from our cultural life, just as death rituals are in our secular and postmodern Western society. But if it is already legal, why not make it more meaningful... as a ritual adapted to the contemporary world.”
to
“So I made a roller coaster.”
when you put it like that, it makes it even funnier
a true artists if I ever heard one.
This just really shows the insanity and lack of any knowledge the “player” had! Fucking pathetic
for real, lmao
YEAH OH MY LORD
12:01 actually, RCT would probably never run on a graphing calculator, precisely because it's written in assembly. Assembly languages are so low-level, so non-abstracted, that they have to be tailored to the exact type of CPU that runs the program, and converting an assembly program to a different CPU type means either rewriting it from the ground up in a different language, or including a clunky and inefficient compatibility layer. And graphing calculators don't use the same type of CPU as an IBM-compatible computer.
RCT is very well optimized, to x86 systems - at the expense of being nigh-impossible to run on anything else. (Though with decades of time in between, even the compatibility layer might not be impossible on modern non-x86 systems, though a graphing calculator is still very much pushing it.)
I will also note that with modern CPU's, it's often beyond human capacity to hand-optimize an assembly program anywhere near as well as a compiler could, meaning that one would be better off programming in something like C or Rust.
dont expect an emotional artist type to understand anything you just wrote
@@fowlerfreak7420 L take
@@chrisstoltz3648 I'm an engineer. Stfu.
Here's a guy who knows
Also, just the information density: graphical calculator displays are too low-res to display everything effectively.
But on the flipside...we do have Doom running on graphical calculators.
Urbonas: We should think about death, here's a ride that kills you
Mr Bones: Haha here's a ride that kills you for 3000 years
Urbonas: Wait no
Urbonas
Urbonɐs
∩rbonɐs
∩∩rbonɐs
Mrbones
I want to get on Mr Urbonas dying ride
THE RIDE NEVER ENDS
The Sarlacc of rides.
I couldn't help but laugh every time you showed that boat bursting into flames after SOARING off the ride
boom
Oh my gosh me toooo!!!!🤣🤣🤣🤣
I think the repetition makes it funnier as you face the inevitability of seeing it again
The old actual water slides with a launch ramp or drop in at the end were awesome though, no flames funnily enough.
Mr Bones Wild Ride is a fun thought experiment with a memetic title. But the longest RCT2 coaster ever made now is called the Century Coaster, and is named such because it takes over 100 real world years to complete. And almost 900,000 in game years.
And the fun thing is, there's always further potential for more creative solutions to make longer rides!
EDIT: Smashing the record of the Century Coaster, the longest RCT2 coaster is now the Universe Coaster. Thanks to iTzNikkitty in the replies for bringing it up.
Whoaaaa whaaat?!
@piss piss piss piss piss piss piss piss piss piss
nice name btw
okay but I WANT TO GET OFF CENTURY COASTER doesnt quite have the same ring as I WANT TO GET OFF MR BONES WILD RIDE
@@literallyglados Yeah, I know. Like I said, I still love Mr Bones Wild Ride. I think Mr Bones is a fun story featuring understandable game mechanics.
Mr Bones is like the immediate and understandable satisfaction of watching Super Mario 64 doing a backwards long jump. The Century Coaster like is hearing a Super Mario 64 expert talk about parallel universes, impressive but inscrutable.
idk if that analogy even make sense But You Know
@@WannabeMarysue oh yeah I get it
"Rollercoaster Tycoon 2 is fully programmed in assembly" I have never feared a man so much!
From what I've seen it's actually about 97% in assembly, but that's pedantry and I am also terrified
the worst part is it would've ran better if he programmed it in C
Getting killed by a roller coaster feels like the most hilariously undignified way of dying, I kinda want it
Really? Careening into the afterlife at mach-1 from G-forces literally suffocating your brain while riding an unstoppable train with no brakes is undignified?
Make Room Make Room (AKA Soy-lent Green) Book/Movie gives you a custom virtual fantasy before they take your life (and make food out of you)
Probably the raddest possible way to die
All I can imagine is being terminally ill and standing there at the entrance with my closest family and friends tearfully wishing me farewell before I get on the death coaster. They hold and comfort each other as they watch my lifeless body flopping around the last few loop-de-loops.
Yeah, that's definitely a way to go.
"Oh cool, RCT video"
"There is a rollercoaster designed to kill you"
"oh.."
and it doesnt feature boosters that launch you off the track, i mean wtf?
Sounds like my type of rollercoaster :)
Launching you is too messy, my coaster has to keep your organs in tact for harvesting after the ride.
Damn my comment got some love, thanks yall
That sounds like a perfectly normal RCT video to me.
I already knew about the Euthanasia Coaster, and have been on the internet more than long enough to learn of Mr Bones Wild Ride. But I sure as hell didn't know that Rollercoaster Tycoon's core code architecture was designed with the same design ideals as a rollercoaster itself! That was pretty mindblowing for me, and yet again is a reason I love all your videos. :D
I mean, it's not like Chris Sawyer set out to make a rollercoaster game that's programmed with the same brashness as rollercoasters in real life. That's just a comparison Jacob made. Sawyer simply chose to do it in assembly language for performance reasons, not artistic ones
@@pebblessyou yeah, and honestly it's a lousy comparison based on a lot of hand waving and not knowing the invisible engineering that goes into roller coasters (understandable, because it's behind the scenes)
@@pebblessyou It's arguable it may not strictly speaking be for performance reasons as such either.
He was probably just used to working that way.
Pretty much everything he made was pure assembly.
Certainly his other famous game is. (Transport Tycoon.)
Because this argument is pure bullshit made up to say something substantial in the video essay. Chris is an established assembly programmer who had a huge amount of code already done for TTD. By that time it was the norm to develop in c/cpp and hand optimize the hot loops. Coding fully in assembly had more to do with being a relic in a new era than a conscious philosophical choice.
Yeah, that part of the vid is pure conjecture but imo Jacob fails to paint it that way and it comes out as fact. It's understandable because he's a journalist and not a programmer, but maybe instead of guiding himself off of that article about RTC optimization he could've asked a programmer. Not his best work honestly :/
I’m so glad I’m not the only one who had an unhealthy obsession with RCT and still has no idea how to make a coaster, also our go-to design is exactly the same haha
15 took me 15 years to get good at building roller coaster in the game.
dont know how many times i built coasters that needed the largest drops, the most screws and turns, as high intensity as possible when the excitement was always a failure, and to let it be painfully long if none of the other options were possible
but then eventually i had more will to learn the game, rct3 specifically, and wanted to make something realistic, ahah.. it becomes like one big math problem to solve. first of all had to understand how to make a coaster that does not make turns that break necks or drops that turn the riders into pancakes, or constant zero or negative g force that would make heads explode. there was a lot of learning and getting familiar with different coaster types, it took me surprisingly long time to understand what i was actually doing. but you almost feel like some scientist when figuring things out. after a lot of experimentation, i made just a few different coasters that seemed like they could exist in real life as popular attractions, with a bunch of useless coasters made in between. that was satisfying to create something with almost peak excitement and different mixtures of intensity depending on who you catered to, though the medium ones were most popular. but having that large and cool looking coaster farthest away from the entry with great intensity and even greater excitement, and it attracted the more crazy guests over and over again, that was something else. the nausea meter i learned not to care about, the guests dont seem to care, and first aid buildings fixed the actual problem coming from that. i think it also increased the guests nausea tolerance to other rides, which i thought of as a big bonus
Halfway through the video and I'm like "Damn this is actually really poetic and shines a light on coasters that I've never seen before."
That analogy that a coaster is a horror movie with the scary parts in plain view, yet still scares you? Beautiful
The best coaster I ever had was extremely simple in design, it had no twists or loops or anything, but it went high off the ground and spanned around the entire park. I almost went bankrupt constructing it, but when it was done it stayed completely packed for decades until I had to sell it off because it was breaking down like every day.
When I heard RCT2 was coded in ASSEMBLY my mouth droped. Having made modest programs in highschool coded in Java, C# and other high level programming languages myself, coding in Assembly was a nightmare to me. Its known as a low level programming language because its the next step to code directly in binary, its extremely hard and it can break quite easily, you need to hsve a great amount of knowledge not only in code but the integrated circuits (the chips) themselves into wich you are coding.
Its like making a tailored suit from scratch directly from cotton threads.
6 months into using assembly: "Okay I got it to say 'Hello world!'"
He had already coded at least two games in assembly before - Transport Tycoon 1 and 2 - so I guess he sort of knew what he was getting into.
@@ultrahenk But the audacity to start Transport Tycoon 1 in assembly is still baffling.
By the lord did that shock me as well, to have some madlad even consider "yes I will write a game in asambly" was impressive. And that he even did it at least two more time showed me that he is a masochist and a genius or mad. But what can I say, genius and madness are two sides of the same coin.
@@ultrahenk you mean Transport Tycoon and Transport Tycoon Deluxe right (usually known as TTO and TTD)
I love what you do. Your work gravitates around physicality, and places, buildings, locations as individual bodies, it's fascinating. Your videos about the haunted house as self-made vessels of resentment, and the call of the caves we can't resist, and now the skeletal honesty of a roller coaster's design... Idk man I feel things. It's all so.. physical? Fleshy? Like these feelings are not so much rooted in the mind, but in the body - the fear of roller coasters is not rational, as you said we can already see it all, it's the body that fears what's to come. And we can't help but answer the calls of dark, deep places almost like it's stronger than us, more powerful than our rationality, like it's the body answering rather than the brain. I love how your work admits we as a group can't help but give an identity to these objects too, how by just being built they become others and separate from us and thus deserving of intention and recognition and sometimes an odd kind of conscience. It resonates so hard. Love that. Keep it up man.
Rollercoasters are the dragons of theme parks. Wherever they rest, they dominate that location and fixate everyone. Equally dangerous feeling while showing unimaginable wisdom in their bodies
Not sure about the "wisdom" bit; are you high, bro?
Dude, you‘re way too much into dragons!
This reminds me of the story "The Cold Equations," a story whose central point is simply "sometimes the laws of physics result in bad things happening to people who don't deserve it." Rollercoasters and rocket ships, both fields where you can crunch the numbers and say with certainty, "given *these* facts about the situation, *this* is what will unavoidably happen to the fragile humans in that situation."
Mr. Bones' wild ride almost killed me when I choked on water laughing at 3:37. Truly a multifaceted death machine
I’ve never clicked so fast. RCT is a classic series.
You can play it on mobile for about $7. RCT Classic
@@glowerworm you can get the original rtc on steam for like 3€ or so
7 or 3 still kind of a paywall dont ye think
I spent so many hours in my childhood on this game
There is still a decent community on r/rct and Twitch.tv, partly due to the new and improved OpenRCT2.
Whew this is niiiiiiiice. The comparison between spare steel construction and spare code is so compelling.
"I've been queuing for Mr. Bones Wild Ride for ages."
Mr. Bones Wild Ride has broken down
this man really wrote a thought provoking thesis about... literal roller coasters. someone give this man an award
One of the things that really fascinated me was the crowd noise inside of the game it really does capture that strange oscillating tonality of crowds in person
I had no idea Mr. Bone's wild Ride meme came from Roller-coaster Tycoon 2. I have learned at least some context for a part of the internet. Interesting. Well assembled video as usual.
I want to get off Mr.Bones wild ride
I heard of the meme before, but not the context of a roller coaster from Rct 2 that kills people from slowness.
@@ashnambers BUT THE RIDE *NEVER ENDS*
Ok, I've slept on it, dreamed about talking it over with my mom, and reached a conclusion:
I want to die on euthanasia coaster.
Truly a modern philosopher. I'd listen to him talk about oranges for an hour.
modern philosophers exist tho, and they are definitely worth hearing
May I recommend exurb1a, he is somehow even better.
and he's somehome make oranges the most horrifying and simultaneously melancholic thing in the world
@@omn30 yes, i like your shirt. enjoy the orange!
@@hyreonk There are barely any.
The leap from the euthanasia coaster to Mr. Bones Wild Ride is possibly my favorite transition ever
When you went into the “catastrophically big” sequence I didn’t know what I was feeling. Your videos always make me emotional and provoke a lot of thought, but I didn’t realize that the Fallout 4 soundtrack was on in the background stirring up all those wonderful memories. It’s one of my favorite games of all time.
I used to imagine all my parks as real parks and I would walk around through them in my mind. It helped me to understand how a footpath might be in a wrong spot or how another trash can would help. This game allowed me to do that in ways no other game ever did. That’s why it had always been my absolute favorite game of all time.
When he showed Thunderhead from Dollywood at 5:15 it made me oddly nostalgic for that job, which is something I never thought I'd feel. It was a relief when I quit working there, but I still miss the good parts.
I swear I never thought I would enjoy Dollywood, it’s such a bizarre concept but they managed to execute it perfectly.
Such is the nature of rose tinted glasses
"it probably would be able to run on your graphing calculator"
...if that calculator has an Intel x86 processor, at least :P The reason almost nobody writes anything in assembly directly these days is that it only will work for one processor architecture, because other brands of CPUs will talk in a completely different computer language. One of the big selling points when C was introduced was that you didn't have to rewrite your entire program from scratch for every architecture you'd support, you could just compile the same code again with different settings and it'd work just fine.
That's not really a limitation though, since nearly all modern computers run on an x86-64 instruction set. All modern AMD and Intel CPUs, including macs, can run x86 assembly code just fine. The reason nobody writes anything in assembly any more is because it's incredibly annoying, and modern compilers have gotten very good.
@@clapanse Don't most smaller devices run ARM processors that use a different instruction set?
No, assembly code is different than machine code. Machine code is what only works for certain processors. The game would be able to work on a graphing calculator, it just needs to be compiled it to machine code for the graphing calculator instead of machine code for your computer.
However, I'm definitely not an expert, this is just how I think it works after a decent amount of research.
@@tifforo1 Yes, cell phones and tablets run ARM. I was referring to laptops and desktops with my statement above, but I apologize if that wasn't clear.
@@qualia765 Assembly is instruction set specific. You can't compile x86 assembly to work on ARM, or POWER, or SPARC, or IA64 for example, so in that way it's really quite similar to machine code. Most other programming languages are more flexible though.
I’ve ridden on a wooden roller coaster called the Goliath, there’s a part where you go upside down, and the ride itself is way different than the steel roller coaster. I even got a shirt that says,”I’m not a zombie, Goliath is that good.” I visited the park during a halloween event.
Cedar Point?
There's a wooden coaster in mtl, the monster, wooden coasters just look way more intimidating somehow...
Oh my gosh I remember it.
I rode one with the same name in Atlanta
Six Flags Great America? Used to work there. That ride is way too short imo
I let out an unexpected loud laugh the second you said this game was made in assembly, I'm still haunted by my extremely basic assembly classes in college lol, can't imagine making a whole game like that
This is a really cool video, but I want to address a view things, technically:
All processors run machine language, and most video games are compiled from high-level languages like C into machine language ahead of time - the processor is not translating into machine language at runtime. Some languages, like Javascript, are translated more or less in real time (with some optimizations).
Nowadays, a C programs with a sufficiently good compiler will outperform an assembly program. The compiler is better at optimization than a human.
At the time, assembly was likely more necessary to create a program that ran so well even on horrible computers (like mine as a kid!).
Again, a super amazing video, but it's worth mentioning that for most video games "undoing the abstraction" is done ahead of time.
"The compiler is better at optimization than a human" is a myth. Modern compilers are great at performing some kinds of very tedious optimizations, but they also routinely get fairly obvious decisions wrong because at the end of the day optimization is hard and requires intelligence to do well. A lot of low-level optimization work involves finding where the compiler did something sub-optimal, tweaking the code to give the compiler hints about how it should generate machine code differently, and verifying that it generates roughly the machine code you expect. A human can still do better, but the difference between writing the assembly directly vs. tweaking the C code to get roughly the assembly you want is small enough that it hardly every matters.
Years ago I told one of my friends about this coaster design. She has a long term degenerative condition that will eventually seriously reduce her quality of life. She thought the Coaster was a much cooler than the other alternatives for the terminally ill....
She okay as of late?
Its so important to be able to envision death in dignity, and im also quite enamored with the design of this rollercoaster. Wish your friend as much joy as she can get.
@@meandkitty8387 often dignity means "going out of one's own terms". And if that's by rollercoaster, the so be it :P
O_o
I really appreciate the Fallout music in the background. It was one of those “is that...yup” moments. Flipped the nostalgia switch instantly. :)
You hit the nail on the head as to why RCT was so compelling. It's a challenge. Oh, you like rollercoasters? Name every track piece.
"I want to get off mr Bones Wild ride"
Me: It's just lines of code, they don't have real feelings.
Meanwhile, some super advanced creature looking at humans: They're just a collection of cells, they have no real feelings.
the way you described assembly is a little incorrect. most programming languages are run through a compiler and turned into assembly, writing assembly by hand doesn't necessarily make the code run any faster. compilers can usually out optimize a human
you're cutting out an extra step. it's like switching from emulating a game to running it on native hardware. that's astronomically good for efficiency.
@@jjjx32 what? no it's not. compilers target specific architectures, there is no overhead unless you're writing your game in a language with a runtime
The optimizers of 20 years ago couldn't necessarily beat a skilled human most of the time, so it was a more-reasonable decision at the time. But yeah, nowadays there's almost no reason to ever write assembly directly.
Although, languages like Java or C# do still entail extra work by the computer at runtime to execute bytecode or to JIT the CLIR, and though modern GC has more or less trivial impacts on overall performance in most instances, it does increase the memory requirements and can make timings inconsistent which can result in stuttering for a game. And scripting in games is usually interpreted, which does involve a lot of work at runtime. But the answer to that definitely doesn't need to be assembly, there's a whole range of intermediates.
I’d say it probably made the program run much faster at the time, but now it’ll probably be faster if it was written in good C. Although this does make me think, could you write an LLVM frontend or something for Assembly and put the RCT2 code through its optimiser? I wonder if it would be much faster with the modern compiler optimisations.
@@killerbee.13 idk, i have no benchmarks that prove this but i think gcc was probably good enough to out optimize a human even at its inception. memory management is just not a problem human brains are very good at solving
My first roller coaster ride was my friends expecting me to scream while I just sat there silently while they thought I died
Yeah, I never could scream either, what is up with that, are we weirdos? Like, I really really tried, many times, but every time nothing would come out. I dunno, have _you_ figured it out, because I'm still tryin' here.
i remember always freezing up as i felt the G's of a rollercoaster as a kid instead of screaming. idk, it's an interesting phenomenon
me, on a coaster: content, a tad of euphoria
others: screaming for some reason idk
I screamed on a roller coaster once and my brother yelled at me afterwards because I "ruined his POV video"
Wow I just noticed the word "reality" in the thumbnail kinda looks like "beauty"
That’s deep dude
Yeah that's so cool! That's what I thought it was!
I remember feeling like a genius when I figured out a cheap, quick and very popular coaster design that would always make my parks bucket loads of money. Was able to replicate in RollerCoaster Tycoon 2 and 3 as well to cheese my way out of most challenges. lol
I never expected another person to have such a similar experience when it comes to the picture they got after their first rollercoaster.
Yours is so similar.
Obviously the ride is different. Mine was Journey to Atlantis at Sea World, but still.
Mine had me, wide eyed and screaming, with my mom next to me, eyes covered with sunglasses and also screaming.
Then there's my dad, sitting behind us, again, also wearing sunglasses, but he has this grin that lets you know that he thinks our reaction is funny.
It is probably the only picture of younger me I like because I don't think about the physical person I'm looking at, but the memory.
So, thank you for an incredible video as always, and also reminding me of that.
I was addicted to this game when it was released 20 years ago. I actually got pretty good at building coasters, though it took me a few years of playing to get there. I still remember my best park. It was on that unlimited money desert map. Great video.
Ironically, RCT would probably *not* run on a calculator because their Assembly instruction sets might be completely different, and porting it would be a gigantic pain in the ass.
Just like you said, it wouldn't. Unless, there was some way to convert all those assembly mnemonics into something higher level and recompile. Oh wait, OpenRCT2 does exactly that! And the video in almost all the scenes shows OpenRCT2 footage, not the vanilla.
@@mjan9347 So.. could a calculator run OpenRCT?
@@mjan9347 so a different version of the game which is not the same game at all but a recreation would work on different systems because it was designed to? Wow, you really are blowing my mind there.../s
Besides, I've never played RCT in my life... I just watch this guy's videos and studied x86 assembly in college for one semester. Never knew the history of OpenRCT or whatever.
@@BierBart12 given sufficient devotion to compile it for the platform - yes. OpenRCT2 is fairly portably, although it requires C++17 support from the compiler.
“There is a roller coaster designed specifically to kill you.”
Me: I think I’ve watched Greystillplays build it. Multiple times.
Sees the design, hears its stats.
Me: oh yeah. Definitely seen this in Greystillplays Planet Coaster series.
Oh my gosh your right!
13g blender moment
I grew up playing Roller Coaster Tycoon 3 and I love it to this day! This video brought a big grin to my face and a tear to eye.
The thing is
... you wouldn't die in the coaster. Lack of oxygen to the rain only begins to do real damage after about 3 minutes. You may experience some damage due to the g forces, but at most everyone will wake up at the end of the ride with a bad headache. Fighter pilots especially could potentially even stay awake for nearly the entire ride, though they would be experiencing quite intense G-lock.
RCT was my childhood!! There were so many copycat “theme park” games released at the time, but RCT will always be my favorite.
its online for 10, i just got it and i can't get the goal for diamond heights! as a kid i loved drowning people...
Everything that comes out of this channel is so fascinating. I've never played Roller Coaster Tycoon, hell, I've never felt very enthusiastic about theme parks in general, but this video was able to catch my attention in so little time. I love it
everybody's talking about Assembly and I'm here like whoa the fallout and what remains of edith finch music in the background was really well used
Ah yes, being blended at 10 gees. Truly a dignified death.
I don't think I've ever been afraid of roller coasters. I get alarmed sometimes when their restraints aren't quite as good as I'd like, but I know that they're statistically one of the safest thrills I could possibly have. I never scream on roller coasters, I just laugh, because it's thrilling and exciting to be flung around like that. To experience physics in such a visceral way without much, if any, risk to your person.
I once read that Chris Sawyer made RCT so that he could go to themeparks and file the costs as a tax writeoff. I found that quite amusing.
Fun video!
"-cause Roller Coaster Tycoon, is written in assembly."
Oh, those poor developers...
You mean developer
Just think: the first playable emulators for the SNES and its contemporaries were also written in assembler.
I never thought I'd hear you talk about Mr Bones Wild Ride
Lovely video as always! But I feel a short correction is needed for the Assembly part. Whilst there is overhead for the computer to interpret the abstractions we build, that overhead is not present during a game's execution (assuming you're using a compiled language such as C++). For interpreted langauges such as Java or C# there *is* an overhead, but even that can be optimised away with a process called "JIT" (just in time compilation). So writing a programm in Assembly does not pose any additional benefits regarding the interpretation of the written code compared to something like C++. It gives you more control and more room for specificity, which *can* lead to optimisations otherwise not possible, but that is not because of the amount of interpretation avoided. I would also like to mention that many games were programmed in Assembly or Assembly like languages. The fascinating part about RTC is that it did that with a far more complex featureset in an era where using Assembly to programm games was already no longer a part of the practice.
This doesn't change your overall point at all, I just felt it needed a bit of clearing p.
A short "fun fact": Assembly is also not the final step, it is interpreted down at the hardware level into "microcode" which is then in turn interpreted by the CPU to the actual instructions necessary for evaluation.
Thank you for this. As a computer engineer I cringed and was going to write this myself.
First time in a while i’ve thought “this comment needs more likes”
I don't think Mr. Bones' Wild Ride was designed to kill people. No, the builder knew full well that he was designing the cruelest possible torture device for immortals.
I think I could listen to you read the phone book and still be enthralled.
RUclips: Video uploaded 16 seconds ago
Entire comment section: Commented 13 hours ago
patreon, babyy
The thumbnail (when small) can read both "strange reality" and "strange beauty".
😮
I never knew I could be so moved by a mini documentary about coasters. It brought back reflections of childhood. I played Rollercoaster tycoon as a young teen and I thoroughly enjoyed it. I spent hours refining parks and creating rides (some were indeed killers). I applaud your documentary. It was strangley touching.
"My go to move when building a coaster was always to go as high as possible, do a giant drop, a few spins and then desperately try to connect it back to the start."
Preach 🙏
Can't construct Roller Coaster 1 here...
Too high for supports!
God I love this game, and I love listening to this man talk about literally anything
I can't say how excited I get whenever I see a new Jacob Geller video has been released.
Tbh his death coaster is less deadly then any of the coasters I ever made in RCT2
That picture of you and your dad on the coaster is beautiful.
I loved RCT as a kid/teenager. It was my introduction to more complex games I would soon fall in love with.
As a former IS student, that little information regarding Assembly was jaw-dropping. I feel like that one Vegeta meme from Dragon Ball Super: "He's speaking the language of the gods!"
Also, thank you for the Dragon Quest VIII music. My ears appreciate it.
not gonna lie, I'll never get tired of hearing your childhood anecdotes
You forgot to mention how the game feels “alive” similar to GTA games. The peeps think on their own, walking where they want, making decisions on their own.
And in 1999 even the few games where you had response options and the NPCs/story changed based on your actions in the game was groundbreaking.
Never have I heard of roller coasters written about in such a poetic and mysterious way. It's 8:30 p.m. and I haven't even made dinner yet. I couldn't pull myself away from this!
What a way to find out that my first coaster experience was the exact same one as yours! Took my parents all day to convince me to ride Thunderhead lol. Great video :)
It's a great coaster!
Rode it for the first time last year, multiple times on the same trip.
So engaging it felt like a 45 minute deep dive, also i remember feeling so smart when i "figured out" just doing ups-and-downs™️
I just realized that the stylized Y in the Curiosity Stream logo kinda looks like the 'Yerach ben yomo' cantillation mark for Tanakh reading. I just learned what they are recently and so it was on my mind. Really fun video and i liked the aesthetics of your parks! Thanks for another one and stay safe!
You got to remember that almost all console game up until the early 90s were written in assembly languages for their particular system. Atari, NES, SNES, Sega... Chris Sawyer had been working in the industry since 1983. Just because something is written in Assembly does not mean it is optimized, and computers do not translate higher languages and thus become not as optimized. Almost all higher languages have to compile before a program can be launched. A well optimized higher language code can compile into something just as efficient as if were programmed in assembly.
watching this a few days after watching "the false evolution of execution methods" is such a weird change of pace, its like the part 2 that was released 2 years previous
The passion you put in these videos on topics no one talks about is amazing
I was *not* expecting any of this.
This was so good. My only point of feedback is the Assembly section. (As a software engineer in industry for 5 years and someone who studies computer science) I’m not gonna write a giant essay here about the depth of the errors on the assumptions made there, but if you’re interested(or any one else reading) let me know via reply here. I’m open to a discussion via whatever method you prefer (Twitter dms, email, etc)
As a developer that bothered me too.
Jacob: you can't just squeeze a coaster in a small corner of the park...
Marcel Vos: That's where you're wrong kiddo!
Positively baffled that this architect guy's funny thought expirment for a death coaster can't just be described as a thought experiment, or a blueprint that nobody would ever actually make or be expected to make. It has to be described as pretentiously as possible as a metaphysical tour de force, simultaneously existing and nonexisting in the eldritch mind's eye of the shadow realm!
At least Mr Bone's Wild Ride says what it means and means what it says. It's a ride. It's Mr Bone's. It never ends.
Why do I giggle uncontrollably every time you say "Mr. Bones' Wild Ride"?