Second Reality

Last updated
A screencast of Second Reality (60fps)

Second Reality (originally titled Unreal ] [ - The 2nd Reality) is an IBM PC compatible demo created by the Finnish demogroup Future Crew. It debuted at the Assembly 1993 demoparty on July 30, 1993, [1] where it was entered into the PC demo competition, and finished in first place with its demonstration of 2D and 3D computer graphics rendering. [2] 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". [3] Its source code was released in a GitHub repository as public domain software using the Unlicense [4] on the 20th anniversary of the release on 1 August 2013. [5]

Contents

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 Second-Reality-Introduction.png
Introduction

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 (reminiscent of the Praxis explosion effect seen in the film Star Trek VI: The Undiscovered Country ). 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 Second-Reality-Bouncing-sphere.png
Bouncing polyhedron

Bouncing polyhedron

The music has now finished its introductory notes at this point and the first melody starts. Next, a glenz (additively blended) 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 Second-Reality-Tunnel.png
Tunnel

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 Second-Reality-Oscillating-circles.png
Oscillating circles

Oscillating circles

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

Moire patterns Second-Reality-Moire-patterns.png
Moiré patterns

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 (clearly inspired by the mascot Violent Mind of the band Kreator) 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 Vice Admiral William H.P. Blandy's remarks before the Bikini nuclear test. 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 Second-Reality-Plasma-Effect.png
Plasma Effect

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 Second-Reality-Colored-spinning-cube.png
Colored spinning cube

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 Second-Reality-Vector-Balls.png
Vector Balls

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

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 (sampled from the 1989 movie Batman ), [6] 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. [ citation needed ]

Water Second-Reality-Water.png
Water

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 raycasting 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 "ICEKNGDM.LBM" ("Ice Kingdom Interleaved Bitmap"), Future Crew call the image "Ice Kingdom"; [7] and it is an artistic rendering created by a member of Future Crew, but based [8] [9] on a painting used in a Rumple Minze alcohol advertisement from the early 1990s. [10]

3D spacecraft fly-through Second-Reality-3D-spacecraft-fly-through.png
3D spacecraft fly-through

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 Logo on nuts FC-SR-nuts.gif
Future Crew Logo on nuts

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. [11]

Internally the demo consists of 23 separated parts which allowed independent, parallel development and free selection of programming language (assembly, C and Turbo Pascal) and development tools. [12]

The analysis of the source code also disproved that the long-standing and popular speculation that SR uses its own memory manager that accesses the MMU directly; in fact SR uses standard DOS memory management functions. [13]

Running the demo

The demo runs best on an Intel 80486 PC with a Gravis Ultrasound or a Sound Blaster Pro (or register-compatible clone). In the original version which was released, the demo had a bug which caused a slow down. A patch was later released to rectify this problem. [14]

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 (using its own built-in device drivers) which is incompatible with current OSs, and many of the timings in the demo do not scale up to modern CPU speeds. Therefore, the only way to run the demo on a modern PC with little glitches is by running on DOSBox. [15] 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

Remixes

Related Research Articles

<span class="mw-page-title-main">Demoscene</span> Computer art subculture

The demoscene is an international computer art subculture focused on producing demos: self-contained, sometimes extremely small, computer programs that produce audiovisual presentations. The purpose of a demo is to show off programming, visual art, and musical skills. Demos and other demoscene productions are shared, voted on and released online at festivals known as demoparties.

<span class="mw-page-title-main">Future Crew</span> Former Finnish demogroup

Future Crew was a Finnish demogroup that created PC demos and software, active mostly between 1987 and 1994.

<span class="mw-page-title-main">Assembly (demoparty)</span> Finnish demoscene and gaming event

The Assembly demoparty is an annual demoscene and gaming event in Finland. It is the biggest and the longest standing demoscene party. The Summer event takes place every year at Messukeskus in Helsinki, between late July and early August, and lasts three to four days. The 2020 edition was held online.

Farbrausch, or Farb-rausch, is a German group of demomakers who became well known in the demoscene in December 2000 with a 64k intro called "fr-08: .the .product". The demo achieved its small size through the use of procedural textures, a custom MIDI-based software synthesizer V2, and a modified version of UPX executable compressor, ".the .product" is an 11-minute 3-D show featuring complex scenes of computer generated imagery.

<span class="mw-page-title-main">FastTracker 2</span> Audio tracker for DOS

FastTracker 2 is a music tracker created by Fredrik "Mr. H" Huss and Magnus "Vogue" Högdahl, two members of the demogroup Triton who set about releasing their own tracker after breaking into the scene in 1992 and winning several demo competitions. The source code of FastTracker 2 is written in Pascal using Borland Pascal 7 and TASM. The program works natively under MS-DOS.

In computing, CLS is a command used by the command-line interpreters COMMAND.COM and cmd.exe on DOS, Digital Research FlexOS, IBM OS/2, Microsoft Windows and ReactOS operating systems to clear the screen or console window of commands and any output generated by them. It does not clear the user's history of commands, however. The command is also available in the DEC RT-11 operating system, in the open-source MS-DOS emulator DOSBox and in the EFI shell. In other environments, such as Linux and Unix, the same functionality is provided by the clear command.

<i>Ironseed</i> 1994 video game

Ironseed is a 1994 MS-DOS video game, developed and published by Channel 7. It is a space trading and combat game with real-time strategy elements.

<span class="mw-page-title-main">DOSBox</span> Free DOS emulator

DOSBox is a free and open-source emulator which runs software for MS-DOS compatible disk operating systems—primarily video games. It was first released in 2002, when DOS technology was becoming obsolete. Its adoption for running DOS games is widespread, with it being used in commercial re-releases of those games as well.

<span class="mw-page-title-main">Entex Adventure Vision</span> Second-generation video game console

Adventure Vision is a cartridge-based video game console released by Entex Industries in either August or October 1982. The launch price of the system was $79.95. The monitor, game controls, and computer hardware are all contained within a single portable unit. The LED monitor can only display red pixels. Four games were released, all of which are arcade ports. Approximately 10,000 were produced.

<i>Strike Commander</i> 1993 video game

Strike Commander is a combat flight simulation video game designed by Chris Roberts and released by Origin Systems for the PC DOS in 1993. Its 3D graphics-engine used both gouraud shading and texture-mapping on both aircraft-models and terrain, an impressive feat at the time. Significant plot elements were presented through in-game cut-scene animations, a hallmark storytelling vehicle from Chris Robert's previous Wing Commander games. Strike Commander has been called "Privateer on Earth", due to the mercenary role-playing in the game.

<i>Quake II</i> engine Video game engine

The Quake II engine is a game engine developed by id Software for use in their 1997 first-person shooter Quake II. It is the successor to the Quake engine. Since its release, the Quake II engine has been licensed for use in several other games.

<i>Hugi</i> Demoscene disk magazine

Hugi is one of the longest lasting, frequently released demoscene and underground disk magazines (diskmag) for IBM-PC.

Triton (TRN) was a demogroup active in the PC demoscene from 1992 to about 1996.

<span class="mw-page-title-main">Protracker</span> Amiga music tracker

Protracker is a music tracker for the Amiga platform. A free software tool that required no additional equipment, it became popular in the early 1990s with both amateurs and professionals, allowing for sample-based music in the MOD file format.

ren (command) Computer command

In computing, ren is a command in various command-line interpreters (shells) such as COMMAND.COM, cmd.exe, 4DOS, 4NT and Windows PowerShell. It is used to rename computer files and in some implementations also directories. It is analogous to the Unix mv command. However, unlike mv, ren cannot be used to move files, as a new directory for the destination file may not be used. Alternatively, move may be used if available. On versions of MS-DOS that do not support the move command, the user would simply copy the file to a new destination, and then delete the original file. A notable exception to this rule is DOSBox, in which ren may be used to move a file, since move is not supported.

<span class="mw-page-title-main">TYPE (DOS command)</span>

In computing, type is a command in various command-line interpreters (shells) such as COMMAND.COM, cmd.exe, 4DOS/4NT and Windows PowerShell used to display the contents of specified files on the computer terminal. The analogous Unix command is cat.

help (command) Command in various command line shells

In computing, help is a command in various command line shells such as COMMAND.COM, cmd.exe, Bash, qshell, 4DOS/4NT, Windows PowerShell, Singularity shell, Python, MATLAB and GNU Octave. It provides online information about available commands and the shell environment.

Emscripten is an LLVM/Clang-based compiler that compiles C and C++ source code to WebAssembly, primarily for execution in web browsers.

References

  1. "Assembly 1993".
  2. "Assembly 93 results". pouet.net. 2011-01-02. Retrieved 2011-01-02.
  3. "Slashdot's "Top 10 Hacks of All Time"". slashdot.org. 1999-12-13. Retrieved 2010-12-25.
  4. Tuomi, Mika (3 August 2017). "SecondReality: Source code and data of Second Reality by Future Crew in 1993" via GitHub.
  5. Smith, Ryan (2013-08-01). "Happy 20th Birthday Second Reality". Anandtech . Retrieved 2013-08-21.
  6. "Ten seconds to transmission. Five, four three, two, one". Archived from the original on 2015-09-28.
  7. "ICEKNGDM.LBM". GitHub . 21 October 2021.
  8. "FCINFO12.txt" (included with Purple Motion's JOURNEY2).
  9. "DEMO NEWS #24". Demonews. 1993-10-05. Retrieved 2015-12-17.
  10. "Rumple Minze: White Magic from the Black Forest" (advertisement painting).
  11. Sanglard, Fabien (2013-08-16). "Second Reality Code Review: Part 1 (Introduction)". fabiensanglard.net. Retrieved 2013-08-23. The code is something like I had never seen before that perfectly represents two essential aspects of demomaking : Team work. Obfuscation.
  12. Sanglard, Fabien (2013-08-16). "Second Reality Code Review: Part 5 (Parts)" . Retrieved 2013-08-31. Each Second Reality visual effects is a full DOS executable. They are called PART and there are 23 of them in total. This design decision allowed fast prototyping, simultaneous development (since FC probably did not have source control tools) and free languages choice (ASM, C and even Pascal can be found in the source).
  13. Sanglard, Fabien (2013-08-16). "Second Reality Code Review: Part 2 (Engine)" . Retrieved 2013-08-31. There were many legends about Second Reality using an elaborated memory manager via the MMU but there is no trace of this in the engine. Memory management is actually delegated to DOS : The engine starts by deallocating all the RAM and then distribute it on demand. The only fancy trick is the ability to allocated RAM from the end of the heap: This is done using the return value of DOS malloc when too much RAM is requested.
  14. 2ndpatch.zip on scene.org
  15. tre_qu (2007-03-28). "DosBox, Compatibility: Second Reality – Future Crew (1993)". dosbox.com. Retrieved 2011-01-02.
  16. "Discogs". Discogs .
  17. Sanglard, Fabien (2011-10-19). "SHMUP" . Retrieved 2010-03-13. It [the Music] comes from one of the greatest hack of all time: "Second Reality" by Future Crew. Yes a deal was signed so I could use the music.