Every so often I get asked about what caused me to be interested in GPUs, and consequently how I ended up at AnandTech. The answer to either of those is something of a long story that I rarely go into, but in short it has a lot to do with the history of PC graphics itself, and in particular a very important and very historical piece of software: Second Reality. Consequently with today being the 20th birthday of Second Reality, I wanted to take a moment to wish its developers a happy birthday, and reminisce a bit on one of the most significant pieces of software in the history of PC graphics.
Without rehashing what Wikipedia does better, Second Reality holds a very important place in the annals of the PC graphics industry. The PC was not always the graphics powerhouse it was today, and for many years in the 1980s and up to the early-to-mid 1990s that honor went to the much more graphically capable Commodore Amiga platform. But like the rest of the PC industry in general, the early 90s was a period of rapid improvement and PC graphics was no exception. Second Reality, a demoscene demo, holds the distinction of being one of the pieces of software that changed how the world viewed PCs, and in many ways marks the beginning of the PC being a serious platform for consumer graphics.
So what is Second Reality? In a nutshell, it’s a compilation of code, graphics, art, and music. But it’s probably more meaningful to say that before “can it play Crysis?” was a thing, it was “can it run Second Reality?” Even more so than Crysis in 2007, in 1993 Second Reality greatly pushed the envelope for what could be done with PC graphics. Developed by the Finnish group The Future Crew, Second Reality pulled off effects previously only seen on the Amiga, demonstrated other effects that the Amiga couldn’t replicate, and demonstrated real time 3D years before consumer video cards gained 3D capabilities.
Graphically it was impressive, and a lot of that impressiveness had to do with just how clever its various graphics hacks were. Real time raytracing, voxels, mesh deformation, plasma effects, vector balls, and of course 3D were all used to great effect in Second Reality, and all of which ran in software on a lowly 486. It was quite frankly the most graphically impressive thing you would see on a PC in 1993. And it ultimately set the stage for the PC to become the graphics powerhouse that it became later in the 1990s and beyond.
YouTube doesn’t really do Second Reality justice, but as it used a mix of 60Hz and 70Hz effects and non-square pixels it’s difficult to capture to video (hey, it was 1993)
The developers of Second Reality ultimately went on to form various companies, most of which our long-time readers can recall. Remedy (Max Payne), Futuremark (benchmarks), and BitBoys Oy (graphics hardware, now owned by Qualcomm) can all trace their roots to the individuals responsible for Second Reality. As important as Second Reality was to proving the PC as a graphics powerhouse, it in some ways also laid the groundwork for future graphical advancements, which we continue to see the repercussions of today.
As for myself? Well let’s just say that it’s hard not to be interested in 3D graphics after seeing Second Reality running at the local white box computer store. It sold computers, but to a fledgling nerd it also offered a glimpse of what could be done with real time PC graphics, forming a fascination that has lived on since.
Ultimately we have of course long since surpassed what Second Reality can do. But even at 20 years old it still holds a very special place in the history of PC graphics, offering a watershed moment that has rarely been replicated since.
Update: As part of the birthday festivities, former Future Crew member Jussi Laakkonen (Abyss) has announced that the source code for Second Reality is finally being released today. The code has never previously been released, despite previous interest in it, so this will be the first chance for most old school hackers to see just what kind of clever tricks and hacks went into making Second Reality. The source code is available on GitHub.
27 Comments
View All Comments
makerofthegames - Thursday, August 1, 2013 - link
Watching this, for the first time, twenty years after its time, I'm still impressed.Yeah, most of those effects are trivial - I could do the same, or better, on a modern system with minimal effort. But doing that on a 486?
I write code that has to work with a system that, to this day, runs on a 486 (despite the processor being discontinued in 2007, the box I got last year runs a 486 - knowing the general quality of their product and the attitude of their management, I expect they bought a hundred thousand of them as they were being discontinued, enough to keep them from needing to hire an engineer for at least another few years). While none of *my* code runs on it, from testing I know just how painfully slow even a "modern" 486 is. Doing this sort of stuff, on an early 486? Very impressive. I couldn't do it, that's for sure.
Hmm.. maybe I'll try to get this demo running on that 486 system.
Sertis - Monday, August 5, 2013 - link
I also remember how amazingly compact the executable was. While most of my games came on several floppies, this was tiny. I think it was under 200k. Comparable to a single image on many web pages today, this was some high density coolness.wumpus - Thursday, August 15, 2013 - link
Write in C with fairly standard libraries, and use libraries from that era (Linux .9x should be available). Write a fair chunk of code in assembler. Think in terms of handling kilobytes of data (not gigabytes, if you need that you are sunk).If you were around at the time it should come back to you. You just first have to narrow the scope of the problem to something that is possible with a 486. Doing Java calls to gigabyte (or really any sized) SQL backends just isn't going to happen. Likewise, trying to do OpenGL calls to handle 3D graphics via software isn't going to happen either (look at how DOOM worked for inspiration).
BillyONeal - Thursday, August 1, 2013 - link
Typo -> "The Future Crew, Second Reality pulled off effects previously only scene on the Amiga"."scene" should be "seen"
bobbozzo - Thursday, August 1, 2013 - link
and "Biyboys" should be BitBoysgobaers - Thursday, August 1, 2013 - link
I think my first jaw-dropping moment came at a friend's house watching Wing Commander on a VGA monitor for the first time. Being used to the usual CGA (4 color) displays and my EGA (16 colors!) display, seeing something in 256 colors, photorealistic animation for the first time with high fidelity sound just blew me away. The gameplay was nothing to scoff at, either.I'm trying to recall what type of hardware this would have been. I'm thinking 386 at 40MHz or possibly a 486.
JarredWalton - Friday, August 2, 2013 - link
Wing Commander was what got me to upgrade from a perfectly good and only a few months old 286 12MHz (with a whopping 2MB RAM and 40MB HDD!) to the new hotness known as the 386 -- 33MHz, 4MB RAM, 80MB HDD, and lovely EMS (Expanded Memory) to help with all of the graphics. I still remember being severely pissed at the marketing people, though: the box had high quality artwork with a sticker claiming "actual screen shots!" Not a chance, Origin, considering the game was only running at 320x200 and the box artwork looks like it was rendered at 120dpi minimum.floppyrom - Thursday, August 1, 2013 - link
Did you guys see the C64 version of Second Reality? http://www.youtube.com/watch?v=HiWbKQ_gUKQGTForce - Thursday, August 1, 2013 - link
Yes, I did, and on my C64, too :)opy - Thursday, August 1, 2013 - link
Hardware audio acceleration, 256 shades of red, green and blue... each! There was no such thing as a 3D card (hardly 2D acceleration either but the Trident ET400 comes to mind). You really need to crank a game from 1993 to understand the milestone of this project. This 'demo' left many dreaming of a video game of this graphical calibre.The kids of today don't know how well they have it.