Hacker News new | past | comments | ask | show | jobs | submit login
RollerCoaster Tycoon at 25: 'It's mind-blowing how it inspired me' (theguardian.com)
151 points by philk10 on March 24, 2024 | hide | past | favorite | 92 comments



I loved playing this game so much as a kid. Its inspired me to create my own game using the same aesthetic [1]. Im basically answering the question "what if RCT was a city builder?"

Thanks Chris!

[1]https://store.steampowered.com/app/2287430/Metropolis_1998/


I've had this wishlisted since you put it on steam! Any hints on when it will be available?


Aiming for EA by the end of the year :)


I very well know it might be impossible, but you're in the exact market that is often profitable on Mac. Please consider releasing on our beloved platform if it's at all possible.


I plan on porting at some point during early access. The graphics engine already supports Mac, and the game is C++, so shouldn't be too difficult


If you do port to Mac, do not forget to port your demo as well. Very often demos are Windows-only and that can definitely impair my purchasing choice.


And Linux/SteamOS? If it's Windows it could "just work" with Proton, but a native Linux build would be amazing


I’ve seen this before. Have to admit I’m mostly attracted by the 1998 in the title. Childhood good times were had :)


Looking great! Any chance of having g really tight economics management?

Lots of potential to be an amazing city simulation game


I plan on diving deep into economics at some point, but not immediately.


Looks amazing!


Reminds me of Jagged Alliance 2. They don't make games so good anymore.


Looking forward to this!


Wow I love the look of this. Wish listed!


Love the aesthetic! Good luck!


I really miss these building games that used an isometric grid. RC Tycoon, Zoo Tycoon, Sim City, TTD, …

Yes, it's less realistic, but it is so pleasant to work with. Everything you build aligns perfectly and if you want, you can neatly fill the entire map.

In comparison, (even with many mods) my Cities Skylines or Planet Coaster creations never look quite right. Building the roads and paths is always awkward and frustrating.


I've seen a lot of fancy full realistic 3d simulation games this past decade, but they can't hold a candle to a well thought out 2d simulation with solid controls.


Take a look Parkitect. It's very much a modern RCT, complete with grid layout. As a fan of RCT1/2, I found it very enjoyable.


I have mixed feelings about that one. The building is much better than RCT (1-3, the ones that I've played) both coasters and buildings, however I don't like the art style at all and the terrain is mostly flat and much less interesting. Also the additional goods movement and service building hiding aspects that they added somewhat detract from the fun in my opinion. In the first RCT only the entrance (and possibly exit, I don't remember) had to be above ground, so with a bit of coaxing you could build rides that are underground except for a hole above the entrance, which was neat. Also, unlike RCT3, Parkitect doesn't let you move the camera to a path view (grid layout and isometric view are not really related), which is something I like to do.

One thing RCT does better than other sim games I've played is having a ton of customization options (Parkitect does this too). I like Timberborn also and wish it would have more customization possibilities like the RCT games. There are some limitations in the RCT games, like setting up a free monorail system doesn't cause anyone to use it to get to the next ride they are heading to, but in terms of decorations there is quite a bit you can do with it.


I don’t think the original RCT would let you build underground at all? Seem to recall that starting (or becoming practical?) from RCT2 onwards.


Original RCT most definitely had underground building, both for paths and attractions. I think 1 or 2 parks in the 'campaign' was even centered about being mostly underground.


You could definitely build underground in the original game.

I only ever had the original one when growing up and did stuff underground a fair bit. One of the early campaign parks came with a bunch of rides and stuff underground off the bat.

I think there were some practical changes to make it a bit easier in RCT2, but it was never hard.


Nice, this seems very much like what I was talking about. I will keep an eye on it, thanks.


Check out 'Against the Storm' my friend!


I played about 80h of that game and you bringing it up in this context is quiet strange. I mean is not even a city builder...? The whole stick is that it's rogue-like and each game lasts at most 30-40 minutes, which is antithetical to the game loop of building a city


Sorry I should have elaborated, but I was on my phone and I wanted to make sure parent poster didn't miss out since I like that game that much.

He likes building games that use an isometric view and simple grid so I figured Against the Storm is a nice modern option although I can see why one would dislike it because of the roguelike elements.

> I mean is not even a city builder...?

What defines a city builder? Steam describes it as one. Game description: A dark fantasy city builder where you must rebuild civilization in the face of apocalyptic rains...


Steam tags are often questionable.

I'd consider a city builder to actually... Build a city.

Against the storm is more of a strategy game, with caveat that your strategy needs to center around the pure chance RNG for what building you're allowed to unlock.


Yeah, the game loop seams quite different, but the game looks interesting regardless. I'm putting it on my wishlist. Thanks for the recommendation.


It’s one of the big reasons why Satisfactory was never quite as, well…satisfying as Factorio for me.


You can hold down a key (Ctrl I think) to force snapping to the "world grid" now. That makes everything you place line up even halfway across the map.


Or just place foundations and build on top of that


The world grid snapping is only for foundations. But it allows you to have separate factories far away that eventually meet nicely together once expanded to meet.


The later games that were 3D were dreadful in comparison. I don't know why, some people really enjoy them but if you've played these old classics you can never really understand how they made 3D so bad.


According to Wikipedia, the code of the game is written 99% in assembly, too bad the article doesn't mention that. Maybe they decided that is not a valuable information for their readership but I guess, here, lots of people will be as impressed by that.


I believe Chris Sawyer was also responsible for the PC port of Frontier Elite II (from the Amiga original by David Braben), and he put an advert in some of the spaceports, along the lines of “Coming soon: Chris Sawyer’s Transport Game”.

One assumes he was an expert in 68k and x86 assembly.

What a legend!


That fact comes up in every single rollercoaster tycoon discussion, so maybe they just assumed most knew about it. It also doesn't seem relevant to the point of the article.


I doubt The Guardian's general readership would know what assembly is. That's all.


This always completely blows my mind. I just can’t fathom how he was able to do that. Brilliant game.


He used a relatively high level macroassembler. It's not HLA, but it could do things like dereference struct fields and reference various (global?) variables. See here, for example: https://lifeandtimes.games/episodes/files/28


> I just can’t fathom how he was able to do that.

Honestly, it's not that hard. Not for a decent assembler.

The "hard parts" of assembly are things like trying to do multi-precision stuff on smaller precision machines (like 16- 32- bit math on an 8-bit processor). Just coming up with the tiny algorithms we all take for granted. Of course, today, you don't have to invent those.

Folks think that written in assembly is all bit twiddling and high, dense data structures. But that's not necessarily true.

On a modern x86, it's not that much different from normal C in terms of data sizes and data structures. 16- and 32-bit registers. Add/Sub/Mult/Divide instructions. Block move instructions. Modern assemblers handle structured data. Stupid assemblers handle offsets readily. Assemblers handle local and private symbols, exporting routines, code modularity. You don't have to worry about addresses and what not, linkers do all of that. Symbolic debuggers like anything else. Not like they have to burn a PROM and shove it into a board every dev cycle.

But, most important, once you've got started, once you have the common elements of programming (parameter passing, looping, math, structures, pointer dereferencing), I mean, that's it, right? Rinse and repeat. That's what higher level languages give you "for free". Not every line is hand crafted, hand optimized, etc. Much of it can be stomped out with macros for anything that takes more than a few instructions. Tada -- you now have a higher level language (for small values of "higher").

If anything it's just more tedious. Less code density (assuming little macro use) per screen, etc. But even then, once you have your momentum, once you have your routine patterns, they just fall out of the code as you read it.

I remember my assembly class in college (I was not a good college student). I stopped going to class because the teacher kept asking me system questions. She gave me an incomplete, and I had to do all the projects again next term (that was, honestly, quite nice of her -- she could have just failed me).

So, I did those projects. Those simple Assembly class projects. Trivial little programs "Convert decimal to binary" type stuff.

What I did was I wrote a large macro library, inspired by Forth. I basically ported a rough Forth vocabulary to assembler macros. That "convert decimal to binary" project?

    ; Convert 10 to Binary and print it
    PUSH 10; PUSH 2; PUSH BASE; STORE; PUSH BUFFER; NUMBER; PUSH BUFFER; PRINT
So I turned in my projects, each one was like that -- 10, 20 "instructions". I said "Here's my projects", handing 10, small, 2-3 page printouts, "but you'll need this to understand them" and I gave her a 3/4" thick printout of the macro library.

Yea, I was kind of a jerk. Just where my head was at.

Figured I'd get an F or and A. She gave me an A. (I mean, if nothing else, I did demonstrate a solid understanding of assembly language programming!)

But the underlying point is that it's just patterns, patterns we get used to using and writing. It can be inscrutable to the uninitiated, but the curve, particularly on modern processors, is not that steep. Like I said, you're not just shifting and adding to multiply anymore like the old days. And staring at a disassembly of raw code is not the same thing as writing assembly language with modern assemblers.


>What I did was I wrote a large macro library, inspired by Forth.

In an elementary-school BASIC class, I completed an assignment using `READ`/`DATA` when it was not necessary to do so. For a later assignment involving writing a quiz game, I resubmitted the same code with the `DATA` lines appropriately modified!


Obligatory reminder that wikipedia is NOT (trying to be) a source. This particular fact comes from Chris Sawyer's own website, that has some more interesting details as well: https://www.chrissawyergames.com/faq3.htm

You can easily find sources from Wikipedia by following the numbers in brackets (here "[3]").


They didn't gain anything by doing this.


Having worked with people who wrote games like the original Driver - large chunks of code used to be re-written by hand in assembly for performance late in development, or the game just didn't run fast enough. 90s compilers just weren't that good. I think in 2024 if you think you can do better than the compiler you're mostly fooling yourself, but 25 years ago that wasn't the case.


Even then though C has always had trivial to use and very tightly integrated inline ASM that you could use at any time and had been a thing since inception all those years ago for this very reason.


oh yeah I mean the source code for Driver has tonnes of inline assembly inside C files, so there was definitely value in using it. Writing the entire game in assembly is just taking it a step further, and like someone else said - if that's what you're most comfortable with, I don't think that's as insane as it sounds.


The game ran on my Pentium 166 with 32 MB of RAM. That was enough for me.


A 166 MHz Pentium is massive overkill for RCT. Consider that just a 100 MHz Pentium could render Quake locked at 60 fps, and a 166 MHz Pentium will have been a later and much improved version which also had MMX. The 233 MHz Pentium with MMX ran the original Unreal with coloured lighting and everything.

BTW I also remember the cache sizes of all these chips and wrote mostly in asm on them. Most people who were good at asm coding didn't stop because it took too long (you can always focus on just the hot loops), we stopped because we started getting our asses handed to us by C/C++ compilers.

Finally, just because asm coding provided sufficient performance, doesn't mean it was necessary, and it's of course possible to write arbitrarily slow asm code too (like a bubble sort in asm vs quicksort in C).


Chris Sawyer knew how to crank out assembly code. He'd been doing it for several games, so maybe it really was the best way for him to develop this rather than futz about with C++ or whatever.


From reading the OpenRCT2 code base it was C-style with PUSHA features. You basically need to create a bunch of wrappers over function calls, to construct a sort of domain specific language/macro collection for your specific application.

I can respect the dude but in many ways RCT was a continuation of his previous games.

As people who study software development we have to sometimes call it like it is.

Using ASM was not the right choice as it didn't provide any obvious advantages compared to languages like C.

The genius of OpenRCT2 wasn't in the language choice but rather in the immersive world available in your cereal box.


There is no right language choice for a game, same how there's no right choice to live a life. There are advantages and disadvantages, and in retrospect, we can see how things turn out.

There are language choices in projects where the choice seems to hurt the project, that's for sure. Wrt/ RCT, I don't see a single downside though. The cases I'm thinking about are Minecraft, for example, with its horribly performing Java code. Cities Skylines with their engine choice and usage, resulting in 30-40 fps even on high end hardware. Project Zomboid with LUA - many performance problems, and artificial limitations to keep performance to a reasonable limit.

Also consider that often, a project either gets off the ground with the sub-optimal choices, or it doesn't, at all. And as we see from the results, a sub-optimal, but fun game is better than an optimal, but non-existing game. At least if you consider fun and success desirable.


> Using ASM was not the right choice

It was the right choice for the developer because he had years of experience developing other games, he probably had a structure and a good enough library by the time he started working on RCT.


Where's your series of simulation games?


I'm pretty sure that 1999 was the peak year of PC gaming. Just consider the number of legendary games published that year, including but not limited to:

    * Age of Empires 2
    * Alpha Centauri
    * Baldur's Gate
    * Counter-Strike (the original mod!)
    * Freespace 2
    * Heroes of Might and Magic 3
    * Homeworld
    * Jagged Alliance 2
    * Outcast
    * Planescape: Torment
    * Roller Coaster Tycoon
    * SimCity 3000
    * System Shock 2
    * SWAT 3
    * The Longest Journey
    * Unreal Tournament
I've (re-)played several of those (BG, HoMM3, JA2, RCT, Ps:T, SS2) in the past couple of years and at some point realized that they were all released in 1999.

If you include the 1998 Christmas market, you can add at least:

    * Falcon 4.0
    * Fallout 2 (definitely should've been delayed until 1999!)
    * Grim Fandango
    * Half-Life
    * Myth 2
    * Thief: The Dark Project


Tony Hawk's Pro Skater and Microsoft Flight Simulator 2000 came out in 1999 too, both big milestones for their genres. THPS had major cultural impact and brought a whole generation of kids to skateboarding, whereas MSFS2000 was more of a technical achievement, for the first time featuring the entire globe along with virtually all charted airports, around 20 000 in total thanks to Microsoft's deep pockets. You could boot it up, sit into Concorde at Heathrow, and circumnavigate the earth.


Note that most of those games are 2D. This was an era when a major developer could take a fairly small team with a moderate budget and make a big, innovative game in a couple years.

It's just impossible in an environment where nearly every major game is expected to be 3D, action-focused, and playable on console.


One of the biggest problems with AAA games is that they are trying to be Hollywood movies rather than games. Indie games are where its at unfortunately (or fortunately) there's so many of them being published now due to the readily available unity/gamemaker/ue5 that it's hard to find the good ones in the sea of bad ones.


> It's just impossible in an environment where nearly every major game is expected to be 3D, action-focused, and playable on console.

There are quite a few counter examples of this, even glossing over mobile, but what makes you think this?


There is a segment who want those 2D games.


1999 was also an amazing year for movies. Part of me wants to blame nostalgia, but I genuinely think there was more variety and originality back then.

Reddit discussion on 1999 in film: https://old.reddit.com/r/movies/comments/y7kaft/1999_had_a_l...


I think 2004 and 2007 were industry defining. 2004 had CS:S, Half Life 2, GTA:SA, Halo 2, UT04, World of Warcraft (!) 2007 had Wii Sports (well, that was 2006...) Halo 3, COD4, Mario Galaxy, Assassins Creed, Portal, Bioshock, Uncharted.


While those are all great, I do not think they quite measure up to 1999.


I suspect you might have been the same age in 1999 as I was in 2004. To me, the games from 2004/2007 have shaped and defined the games being released now. CoD rewrote the shooter genre and is still one of the biggest games in the world. GTA:SA is a marvel of a game on so many levels. WoW is.... WoW. And Half Life 2 gave us steam.


11?

For what it’s worth, I do think they were genre defining. I was trying to think of arguments against that statement, and just can’t come up with anything. I suspect it’s just the 5 year difference that allowed equally amazing but different games to get the same label again :)

It’s interesting that I probably have to go back several years to get a list with a similar number of titles these days.


2004 also brought Doom 3. It was significant for competing with Half-Life 2 for "best graphics" at the time. Even today, Doom 3 is still a visually stunning game.


2004 also had V:tM Bloodlines, as flawed as it was on release.


I don't agree, because subjectively, there never has been a year I haven't been utterly entertained and amazed by a completely new game. Compare that to the movies.


* StarCraft! (1998)


Yeah, but I only included ~Q4 of 1998, as I consider those games "morally" 1999 titles given the pressure to publish in time for Christmas. In any case, both 1998 and 2000 were very good years for PC gamers as well.


Brood War :)


SCV good to go, sir!


Quake 3 Arena !!!


Huh, no wonder I remember that era so fondly, thanks for pointing that out.


What the hell? My entire childhood in a single year?


Where did I get the time to play it all?


Holy fuck! You Just blew my mind. There are 5 of my top of all time games here.

Its same with '99 movies.

Maybe 99 was the peak of our civilization?


* Command and Conquer Tiberian Sun * UT99 * Medal of Honor * Tony Hawk * GTA 2


Rally Championship 2000 was released in 1999.


This game just looks so good today. I know lots of folks already knew that games don't have to look AAA to be excellent, and the success of Minecraft really drove that idea home to the masses, but this game really stands out to me. It almost looks better and better to me as the years march on.


It’s look is the perfect blend of cozy cartoon and aerial view realism. Especially when building a park in a forest, it was so peaceful to just follow around people as they wandered through your park.


Have to recommend RollerCoaster Tycoon Classic—it is my go-to game for flights. It is essentially RCT and RCT2 with their expansions rolled into a single game for $6. The controls work surprisingly well.

App Store https://apps.apple.com/us/app/rollercoaster-tycoon-classic/i...

Also on Steam https://store.steampowered.com/app/683900/RollerCoaster_Tyco...


Or OpenRCT2 for many quality of life improvements.



In case anyone is curious to see how far people have pushed the game, check out NEDesigns[1]. Some truly incredible RCT (mostly 2) parks. I'm a huge theme park enthusiast and I love seeing the realism that people have managed to get out of this limited game.

[1] https://www.nedesigns.com/


I loved this game. One of the first games I really started to play on own during a period of mostly watching my brother play games. In the same rhythm of games teaching you actual skills for real life, I’ve always felt that way about RuneScape and the economy, heh.


One of my favorite PC games of all time.

There's an enduring player base and online community for it, as well as a really solid open source reimplementation:

https://openrct2.org/


I loved this game and then this style of game (all the Tycoons, SimCity, AoE, etc.).

I did not know it, but it was my first experience with economics. I mistakenly thought that this is what policy planners _actually_ did in the real world. Imagine the disappointment when I found out that was not true.

Nonetheless, it ultimately inspired me to go into data science in market/competitive intelligence. First at hedge funds and now as my own startup.

I have never been able to shake the notion that build a real-time view of the real economy was the most interesting thing to work on.


Its derivative Locomotion was also written in assembly. Though many people apparently like the arcane looking OpenTTD more, I love Locomotion which has slightly better graphics, and now also an reimplementation in the form of OpenLoco.


Loved this game as a kid. I played the traditional way, but I also had a lot of fun sending the coaster down a steep drop and up short ramp to nowhere so it would go airborne across the park.


My dad was never into computers, but this was one game he played a lot of. Plenty of my childhood memories are of him playing RCT, he would micro optimize the ticket prices until he was swimming in profits.


My son and his best friend in elementary school really liked this game.


One of my favorite games as a kid!




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: