Hacker News new | past | comments | ask | show | jobs | submit login

> Chris Sawyer [...] RollerCoaster Tycoon [...] entire game was written in assembly language.

That is quite humbling to say the least.

Really? Around the time of RollerCoaster Tycoon (and beforehand) games were written in Assembly language. I was writing games in assembly language back in the 80s and early 90s.

Certainly if you wrote games for the Atari ST, Amiga or any of the 8-bit platforms you would've written it in assembler. Compilers just weren't efficient enough at producing the fastest code possible at the time.

It's particularly odd because he was writing for DirectX/x86, and thus had lots of power compared to the contemporary console hardware. Wolf3D(1992) used C; Ultima 7(also 1992) used C++. RCT came out in 1999, when this transition was essentially complete, with the possible exception of a few holdout platforms, e.g, Game Boy Color.

On the other hand, Sawyer did have some rationale to continue going all-ASM, since he had been building up the engine code over the course of the decade, and when he first made it for Transport Tycoon(1994), hand-optimizing the rendering code was probably the only way to achieve a smooth high-res isometric renderer.

You raise a valid point - certainly for the Amiga 500 you knew you only had a certain number of platforms and CPUs and you could even make snap judgements like, "No-one's going to run Stunt Car Racer on a top-end Amiga 3000." - thankfully cookie didn't and Stunt Car Racer was awesome regardless of platform, but Mercenary on the other hand was never built with an 060/66 Blizzard board in mind and was impossible to play.

I think the PC world encouraged the use of higher level languages as waiting for VBL's became more important than squeezing all the juice you could because of the potential variations.

Thanks for your comment, it's inspired a new sense of respect for 486 progrmamers (25/33/50? SX, DX? - we can't worry about that, we have TIE fighters to render!)

Also, CPUs at the time were simple enough that you could just add up instruction timings and know how fast the code would run. But now you can get dramatic performance improvements by making assumptions about how today's microcoded superscalar pipelines happen to invisibly schedule instructions out-of-order, and compilers automate the required bookkeeping.

Roller Coaster Tycoon came out in 1999. Superscalar pipelines were already the norm (the Pentium Pro had been out for nearly 5 years at that point).

The Pentium Pro was not the average CPU for playing Roller Coast Tycoon though. Although in the process of writing this comment I found out that the P5 series was the first Superscalar processor and that Roller Coaster Tycoon needed at least a P90, so it may well have taken advantage of it.

Don't forget that he also made Transport Tycoon (1994).

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