Simple Optimization Trick
-
This post did not contain any content.
This looks like a screenshot in the background of the C++ OpenRCT version because the resolution is too high and not supported by the original assembly release.
-
This post did not contain any content.
Rollercoaster Tycoon was the last of an era, not a sudden burst of genius.
Before Doom (1993), almost all games were assembly. Doom was a shock to the industry. You could now write a high performance, multiplatform, sophisticated game in a compiled language (C). When I say multiplatform, I don't just mean how it was ported to everything later. It was developed on NextStations first. DOS was the first port. So it proved all of the above immediately on release.
We take for granted that C is performant now, but that wasn't obvious until optimizing compilers got good and someone tried.
Rollercoaster Tycoon (1999) is the last notable title that used ASM. It's impressive in many ways, but it wasn't as much of a standout as it seems now. Six years earlier to its release, that was just how games were done.
It's notable that the only port of Rollercoaster Tycoon was the original Xbox, which was also x86. Nobody wants to rewrite it for anything else.
-
This post did not contain any content.
This but unironically
-
Rollercoaster Tycoon was the last of an era, not a sudden burst of genius.
Before Doom (1993), almost all games were assembly. Doom was a shock to the industry. You could now write a high performance, multiplatform, sophisticated game in a compiled language (C). When I say multiplatform, I don't just mean how it was ported to everything later. It was developed on NextStations first. DOS was the first port. So it proved all of the above immediately on release.
We take for granted that C is performant now, but that wasn't obvious until optimizing compilers got good and someone tried.
Rollercoaster Tycoon (1999) is the last notable title that used ASM. It's impressive in many ways, but it wasn't as much of a standout as it seems now. Six years earlier to its release, that was just how games were done.
It's notable that the only port of Rollercoaster Tycoon was the original Xbox, which was also x86. Nobody wants to rewrite it for anything else.
You couldn't pay me to write a game in C today. Our expectations of what games have to be are sky high today. You cant get away with the productivity lost writing in c, maybe c++ since its supported by a number of engines. But, im personally not aware of a single engine that uses C. I tried my hand at writing a game without an engine, and it was a hot mess. Writing low level code to make a button with text, no thanks...been there done that, in my game, you could bump into trees and get stuck...not very fun in my opinion, and thats after a few months of writing code.
-
Rollercoaster Tycoon was the last of an era, not a sudden burst of genius.
Before Doom (1993), almost all games were assembly. Doom was a shock to the industry. You could now write a high performance, multiplatform, sophisticated game in a compiled language (C). When I say multiplatform, I don't just mean how it was ported to everything later. It was developed on NextStations first. DOS was the first port. So it proved all of the above immediately on release.
We take for granted that C is performant now, but that wasn't obvious until optimizing compilers got good and someone tried.
Rollercoaster Tycoon (1999) is the last notable title that used ASM. It's impressive in many ways, but it wasn't as much of a standout as it seems now. Six years earlier to its release, that was just how games were done.
It's notable that the only port of Rollercoaster Tycoon was the original Xbox, which was also x86. Nobody wants to rewrite it for anything else.
Just to throw on more factoids:
Wasn't Gabe Newell either the first, or among the first, to port Doom to Win 95?
-
Rollercoaster Tycoon was the last of an era, not a sudden burst of genius.
Before Doom (1993), almost all games were assembly. Doom was a shock to the industry. You could now write a high performance, multiplatform, sophisticated game in a compiled language (C). When I say multiplatform, I don't just mean how it was ported to everything later. It was developed on NextStations first. DOS was the first port. So it proved all of the above immediately on release.
We take for granted that C is performant now, but that wasn't obvious until optimizing compilers got good and someone tried.
Rollercoaster Tycoon (1999) is the last notable title that used ASM. It's impressive in many ways, but it wasn't as much of a standout as it seems now. Six years earlier to its release, that was just how games were done.
It's notable that the only port of Rollercoaster Tycoon was the original Xbox, which was also x86. Nobody wants to rewrite it for anything else.
Before Doom (1993), almost all games were assembly.
Carmack wrote Wolfenstein 3d in C. Star Control and Dune 2 were C.
-
And most startlingly: no git
Edit: y'all're right, version control is for wimps. What's life without some adrenaline?
wrote on last edited by [email protected]Who needs git when you have a B: drive and a Save As command for tycoon43.asm
Version control? You mean this?
-
Here's a neat video about the creator and the game - https://www.youtube.com/watch?v=0JouTsMQsEA
I will never not upvote an Ahoy video. The guy is a legend in video game documentaries. Check out his Monkey Island video as a follow-up
-
This post did not contain any content.
I've never written a single line of code in assembly, and I'm now curious
-
This post did not contain any content.
"Try writing it it in assembly"
-
Just to throw on more factoids:
Wasn't Gabe Newell either the first, or among the first, to port Doom to Win 95?
He was an analyst at Microsoft who was tasked with finding out how many computers ran Windows to determine market share. Part of the question involved asking what other software was installed and the only software used more than Windows was Doom. This made GabeN realize the market potential of games and he left Microsoft shortly afterward.
-
This post did not contain any content.
TTD and RCT are still amazing.
-
He was an analyst at Microsoft who was tasked with finding out how many computers ran Windows to determine market share. Part of the question involved asking what other software was installed and the only software used more than Windows was Doom. This made GabeN realize the market potential of games and he left Microsoft shortly afterward.
See, I've heard that story, that he basically ran ... well, arguably, a worm that did network analysis on what was installed on every computer in the MSFT internal network, realized more people had DOOM installed... than Windows...
... and I have also heard that he actually ported DOOM to... either MS DOS, or Win95... ?
I genuienly do not know which is true, if they're all true, if they're all false... I can't remember the source for each of these, but I know I've heard or read all these semi-close variants from somewhere, over the years.
-
I will never not upvote an Ahoy video. The guy is a legend in video game documentaries. Check out his Monkey Island video as a follow-up
Another really good one that I've watched at least 4 times is his Polybius video. He's an incredible documentarian and an equally great researcher.
I'm sure some of the Polybius one was dramatized a little (apart from what was clearly labeled as actors reading the transcripts), but it makes for an unforgettable watch. And the music!!
-
This post did not contain any content.
Epic Pinball was another game that I recall was written in assembly. When your old 286 struggled to run games at a decent framerate, Epic Pinball would run in a smooth 75fps or whatever you set your CRT monitor to.
-
Epic Pinball was another game that I recall was written in assembly. When your old 286 struggled to run games at a decent framerate, Epic Pinball would run in a smooth 75fps or whatever you set your CRT monitor to.
Epic Pinball, if I recall correctly, also used some ModeX trickery, meaning it had most of the pinball table in VRAM, and then modified the VGA framebuffer pointer for scrolling, then only moving as much data as it was needed (ball, flippers, etc)
-
And most startlingly: no git
Edit: y'all're right, version control is for wimps. What's life without some adrenaline?
wrote on last edited by [email protected]./src ./src_1998_11_05_added_people_swimming ./src_1998_11_06_added_death_mechanics ./src_1998_11_06_0_removed_swimming_lol
-
And most startlingly: no git
Edit: y'all're right, version control is for wimps. What's life without some adrenaline?
Did the developer use any version control though? SCCS has been around since the early 70s, RCS and CVS since the 80s. The tools definitely existed.
Also, it was a single dev, which makes SCM significantly simpler!
-
You couldn't pay me to write a game in C today. Our expectations of what games have to be are sky high today. You cant get away with the productivity lost writing in c, maybe c++ since its supported by a number of engines. But, im personally not aware of a single engine that uses C. I tried my hand at writing a game without an engine, and it was a hot mess. Writing low level code to make a button with text, no thanks...been there done that, in my game, you could bump into trees and get stuck...not very fun in my opinion, and thats after a few months of writing code.
Animal Well was written in C without an engine and it was a decent hit (for an indie). Although that's definitely an exception, perhaps very similar to the RollerCoaster Tycoon example
-
Animal Well was written in C without an engine and it was a decent hit (for an indie). Although that's definitely an exception, perhaps very similar to the RollerCoaster Tycoon example
Animal Well
Animal Well was the shit.