Second Reality


Second Reality is an IBM PC compatible demo created by Future Crew. It debuted at the Assembly 1993 demoparty on July 30, 1993, where it was entered into the PC demo competition, and finished in first place with its demonstration of 2D and 3D computer graphics rendering. The demo was released to the public in October 1993. It is considered to be one of the best demos created during the early 1990s on the PC; in 1999 Slashdot voted it one of the "Top 10 Hacks of All Time". Its source code was released in a GitHub repository as public domain software using the Unlicense on the 20th anniversary of the release on 1 August 2013.

Demo description

Many techniques used by other demos, including Future Crew's own earlier work, were refined and reused in Second Reality. The demo had a soundtrack of Techno music composed by Skaven and Purple Motion using ScreamTracker 3. The degree of synchronization of the visuals with the music was highly impressive for its time.

Introduction

First, the introduction plays, demonstrating text rendering on a background. After that is done, several ships appear and fly away from the camera, demonstrating 3D rendering. After some distance the ships disappear, sending out a shockwave. The screen fades to display a rendition of Wendigo, at which point Purple Motion's main musical score for the demo begins. The image then flattens and falls horizontally to become a 3D, polygonal checkerboard.

Bouncing polyhedron

The music has now finished its introductory notes at this point and the first melody starts. Next, a glenz polyhedron appears and bounces on the checkered surface, in perfect timing with the orchestra hits in the score, demonstrating 3D rendering and real-time mesh deformation. After a while, another larger polyhedron appears and the smaller polyhedron begins bouncing inside the larger.

Tunnel

The next scene is a winding, fluid tunnel built up by discrete points that move towards the camera. This creates a feeling of rushing through the tunnel for the viewer.

Oscillating circles

The tunnel fades out into some oscillating circles which soon fade into the next scene.

Moiré patterns

A scene that could be described as a light show. The scenes consist of multiple moiré patterns interacting. Moiré patterns were quite popular in demos of that time.

Creature

Next an image of Ulik rolls in from the right, and fades away. Some leaves and water are displayed, along with text characters floating downstream. The text says "Another way to scroll" and is an example of a scroller, which was present in most demos of the time.

Magnifying and rotating head

After the text has floated by, again the scene changes to display a demonic-like human head with a pentagram engraved on his forehead. A sphere comes down from the top left corner simulating the below surface being refracted through a magnifying sphere. This is where the soundtrack utters the cult phrase "I am not an atomic playboy", quoting. The sphere vanishes down in the lower right corner and the camera begins to spin while zooming in and out to reveal a repeating pattern of heads, demonstrating a technique known as rotozooming. The camera then falls down and bounces back up on the surface twice, after which the scene again fades out.

Plasma Effect

When the image fades in, the camera is placed close to a surface changing texture every time. This is a continuation of their work in Unreal where they first introduced the 'unreal' plasma effect.

Colored spinning cube

After a few surfaces have been displayed, a cube with animated surfaces attached comes up and spins around while translating towards and away from the camera.

Vector Balls

After a while, this scene fades and many small vector balls fall onto the screen and begin bouncing off the ground and morphing into various spiral patterns. Because of a bug, this part will crash if the demo is installed in a directory with the complete path length exceeding 30 characters.

Raytracing">Ray tracing (graphics)">Raytracing

Again there is a fade out and a fade in, this time we are looking at a scene with two spheres, the words "Ten seconds to transmission" are spoken, and a sword starts translating towards the camera. The spheres will display a reflection of the sword as well as a reflection of the aforementioned reflection in the other sphere. The scene was rendered using Future Crew's homemade ray tracing software.

Water

As the scene changes again, this time the image rendered will be of a surface changing shape, similar to that of water. This scene is rendered using a Voxel landscape rendering technique.

Bouncing bitmap

After this, an image will fall in from above, depicting a rider on what appears to be yet another fantasy creature. The image will hit the ground and bounce up while behaving like jelly.
The image filename is named "ICEKNGDM.LBM",
Future Crew call the image "Ice Kingdom"; and it is an artistic rendering created by a member of Future Crew, but based on a painting used in a Rumple Minze alcohol advertisement from the early 1990s.

3D spacecraft fly-through

In the next scene, a craft reminiscent of the TIE/Advanced fighter from Star Wars: A New Hope flies around in a large 3D city, leaving it and heading up right over the text "Future Crew". This was later redone by some of the previous members of Future Crew working for Remedy Entertainment as part of the benchmarking demo Final Reality. Flat shading is used for the buildings and Gouraud shading for the smooth trees and lettering at the end.

Future Crew bitmap

The image fades out and the final scene fades in, an image of two nuts with the text "Future Crew" written on them.

Hidden part

The demo can be started with a single character command line argument "2" through "5" to start from any of the later four parts.
For another part that its introductory text calls "just an experiment" start the demo with a command line argument of "u". The screen will start filling with ever more stars warping towards the screen.

Technical characteristic

In 2013 a reverse engineering analysis of SR with the now available source code revealed a design which is built around two characteristical demoscene paradigms: Teamwork and Obfuscation.
Internally the demo consists of 23 separated parts which allowed independent, parallel development and free selection of programming language and development tools.
The analysis of the source code also revealed that the long-standing and popular speculation that SR uses its own memory manager which accesses the MMU directly is not true; in fact SR uses standard DOS memory management functions.

Running the demo

The demo runs best on an Intel 80486 PC with a Gravis Ultrasound or a Sound Blaster Pro. As the demo had in the original released version a slow down bug, a patch was released later.
While the demo code remains freely available on numerous Internet sites and is now hosted with source code on GitHub, it is difficult or impossible to run Second Reality directly on a modern PC. The demo accesses video and sound hardware directly which is incompatible with current OSs, and many of the timings in the demo do not scale up to modern CPU speeds.
To run this demo on a modern machine running a modern OS like Windows or Linux, one can use DOSBox. DOSBox is capable of emulating the exotic video modes and the Gravis Ultrasound preferred by Second Reality, and can be configured to the 33 MHz recommended on the demo's configuration screen for optimal viewing.

Legacy

Later uses of soundtrack