![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
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]
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.
![]() IntroductionFirst, 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 polyhedronThe 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. |
![]() TunnelThe 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 circlesThe tunnel fades out into some oscillating circles which soon fade into the next scene. |
![]() Moiré patternsA 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. |
CreatureNext 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 headAfter 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 EffectWhen 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 cubeAfter 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 BallsAfter 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. |
RaytracingAgain 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 ] ![]() WaterAs 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 bitmapAfter 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-throughIn 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 bitmapThe image fades out and the final scene fades in, an image of two nuts with the text "Future Crew" written on them. |
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.
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]
The demo runs best on an Intel 80486 PC with a Gravis Ultrasound or a Sound Blaster Pro (or register-compatible clone). As the demo had in the original released version a slow down bug, a patch was released later. [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.
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.
Future Crew was a Finnish demogroup that created PC demos and software, active mostly between 1987 and 1994.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
TIC-80 is a free and open-source fantasy video game console for making, playing, and sharing games on a limited platform that mimics the 8-bit systems of the 1980s. It has built-in code, sprite, map, music, and sound effect editors, as well as a command line interface that allow users to develop and edit games within the console.
The code is something like I had never seen before that perfectly represents two essential aspects of demomaking : Team work. Obfuscation.
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).
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.
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.