Second Reality

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Unreal ][ - The 2nd Reality
Logo
Entwickler Future Crew
Aktuelle Version v1.0 (+Fix)
(20. Februar 1994)
Betriebssystem DOS
Programmier­sprache 50% Assembler, C und Turbo Pascal[1]
Kategorie Demo
Lizenz Public Domain
Deutschsprachig nein
https://github.com/mtuomi/SecondReality

Unreal ][ - The 2nd Reality (später vor allem als Second Reality bekannt), ist ein PC-Demo der Future Crew. Es wurde auf der Assembly ’93 veröffentlicht und gewann den ersten Platz in der Kategorie IBM PC compatible.[2] Es wird als eines der besten PC-Demos der frühen 1990er-Jahre angesehen, beispielsweise wählte das Online-Magazin Slashdot Second Reality retrospektiv 1999 zu einem der „Top 10 Hacks of All Time“.[3] Am 1. August 2013 anlässlich zum zwanzigsten Jahrestag der Veröffentlichung des Demos wurde der Quelltext als Public domain unter einer „unlicense“ Softwarelizenz[4] auf Github veröffentlicht.[5][6]

Bedeutung[Bearbeiten]

Die Bedeutung dieses Demos liegt in den in Echtzeit generierten graphischen und akustischen Effekten. Das nur 2 MByte große Demo beinhaltet Ton und Bild nicht wie in einem Video, sondern generiert beides live durch Berechnungen mit der CPU. Hinzu kam eine beeindruckend stabile Synchronität zwischen Bild und Ton trotz der dynamisch berechneten Echtzeiteffekte, auch auf unterschiedlicher PC-Hardware. Komplexe in Echtzeit generierte multimediale Inhalte waren zuvor nur von Plattformen mit spezialisierten Graphik- und Audiochips, wie dem Amiga-AGA-Chip, bekannt. Der komplexe mediale Inhalt setzt sich aus bis zu 32 in Software gemischten digitalen Audioströmen (der S3M-basierende Soundtrack) und dem Software Rendering von u.a. multiplen ausgeleuchteten, rotierenden und deformiert werdenden 3D-Polyedern zusammen. Dies zeigte 1993 schon auf leistungsschwacher 386-Hardware das Potential der Allzweck-Plattform PC nicht nur als „elektronische Schreibmaschine“. Mit Second Reality als Aushängeschild wurde die Demoszene in den frühen 1990ern zu einem der Mitwegbereiter der multimedialen PC-Plattform.[5]

Beschreibung des Aufbaus[Bearbeiten]

Viele Techniken, die aus anderen Demos, auch aus älteren Arbeiten der Future Crew, bekannt waren, wurden in dieser Demo wiederverwendet und verbessert.

Aufgebaut ist das Demo intern aus 23 separierten Teilen die beim Ablauf nahtlos ineinanderübergreifen.[7] Dadurch war eine parallele Entwicklung durch die FC-Mitglieder als auch eine freie Wahl der Programmiersprachen möglich; es findet sich Assembler, C und auch Pascal im Quelltext des Demos.

Der Soundtrack der Demo besteht aus Electro/Ambient-Musik, die von Peter „Skaven“ Hajba und Jonne „Purple Motion“ Valtonen mit Hilfe des ScreamTracker 3, einem Tracker-Musiksequenzer, erstellt wurde.

Einige Effekte und insbesondere Teile des Soundtracks wurden inspiriert durch das auf dem Amiga einige Monate zuvor veröffentlichte Demo „Desert Dreams“ der Gruppe „Kefrens“, welches auf der „The Gathering“ im April 1993 den ersten Preis erringen konnte.[8] Die in dem Demo gezeigten Effekte sind die Folgenden:

Intro mit Raumschiffen[Bearbeiten]

Das Intro zeigt Text-Rendering vor einem Hintergrund. Raumschiffe fliegen von der Kamera weg und demonstrieren 3D-Rendering. Die Raumschiffe explodieren in einiger Distanz und erzeugen eine Schockwelle. Der „Ten seconds to transmission“-Soundeffekt ist aus dem Film Batman gesamplet.

Hüpfendes und sich deformierendes Polyeder[Bearbeiten]

Der einführende Teil der Musik ist nun vorbei und die erste Melodie startet. Ein Polyeder erscheint und hüpft mit perfektem Timing zu der Musik auf einem Schachbrett. Hierbei wird 3D-Rendering zusammen mit Echtzeit-Netz-Transformation gezeigt. Nach einiger Zeit erscheint ein weiteres Polyeder, und das kleinere hüpft in dem halbtransparenten größeren umher.

Tunnelflug[Bearbeiten]

Diese Szene zeigt einen sich verbiegenden Tunnel, der aus einzelnen Punkten besteht, die sich auf die Kamera zu bewegen. So wird für den Zuschauer das Gefühl erzeugt, er würde durch den Tunnel fliegen.

Oszillierende Kreise[Bearbeiten]

Eine Überblende zu oszillierenden Kreisen wird gezeigt, welche schnell für die nächste Szene Platz schaffen.

Moiré-Muster[Bearbeiten]

Der Moiré-Effekt war zur damaligen Zeit in Demos sehr beliebt und wurde auch hier nicht ausgelassen.

Kreatur[Bearbeiten]

Ein Graphik einer ogerähnlichen Fantasiekreatur (einige sagen ein Ulik aus dem Marvel-Comicuniversum) scrollt von rechts in den sichtbaren Bereich des Bildschirms und wird ausgeblendet. Es folgt ein Text-Scroller mit dem Text „Another way to scroll“.

Rotierender Zoom auf einen menschlichen Kopf[Bearbeiten]

Nachdem der Text ausgeblendet wurde, wechselt die Szene zu einem teuflisch aussehenden menschlichen Gesicht, auf dessen Stirn ein Pentagramm tätowiert ist. Eine transparente Kugel bewegt sich über das Gesicht und wirkt wie ein Vergrößerungsglas. Die Kamera beginnt sich zu drehen und zu zoomen. In dieser Szene wird Vize-Admiral William H. P. Blandy mit seinem Kommentar zum Kernwaffentest am Bikini-Atoll zitiert: I am not an atomic playboy.

Plasma-Effekte[Bearbeiten]

Der Plasmaeffekt ist eine Fortsetzung der Arbeit aus dem Vorgängerdemo Unreal, das bei der Assembly ’92 den ersten Platz unter den PC-Demos belegte.

Rotierender, dynamisch texturierter Würfel[Bearbeiten]

Es wird ein rotierender dreidimensionaler Würfel mit animierten Plasma-Texturen gezeigt.

Vektor-Bälle[Bearbeiten]

Viele kleine Bälle fallen ins Bild, prallen vom Boden ab und bilden ein Partikelsystem. Dieses formt außerdem unterschiedliche spiralförmige Lissajous-Figuren.

Raytracing[Bearbeiten]

Die Raytracing-Szene zeigt Kugeln, auf denen Text und ein Schwert mehrfach reflektiert werden.

Animiertes Wasser[Bearbeiten]

Eine wasserähnliche Oberfläche wird mit Hilfe einer Voxel-Engine berechnet.

Hüpfendes Bild[Bearbeiten]

Ein Bild, das von oben in die Szene fällt und dabei gestaucht und gestreckt wird, zeigt einen Reiter auf einer Phantasiekreatur (möglicherweise ein Wenidigo aus den Marvel Comics).

Flugszene durch eine 3D-Polygonstadt[Bearbeiten]

Die vorletzte Szene bildet einen Flug durch eine große dreidimensionale Stadt. Hier kommen Flat Shading und Gouraud Shading zum Einsatz.

[Bearbeiten]

Die finale Szene wird eingeblendet. Es zeigt zwei Muttern, auf denen der Schriftzug Future Crew aufgebracht ist.

Technische Eigenschaften[Bearbeiten]

Als optimales PC-System zum Abspielen des Demos wird ein DOS-System mit Intel 80486-CPU und einer Gravis Ultrasound genannt, Sound-Blaster-kompatible Soundkarten und 386-CPUs können ebenfalls ausreichend sein.

Auf moderner PC-Hardware jedoch ist es schwierig bis unmöglich, Second Reality zum Abspielen zu bringen. Dies liegt an der direkten Verwendung der Grafik- und Audiohardware über eigene Treiber und letztendlich vielen internen Timings, welche nicht bis zu den heutigen CPU-Geschwindigkeiten skalieren.

Jedoch kann dieses Demo über die DOSBox-Emulation auch mit modernen Betriebssystemen und schneller Hardware zum Laufen gebracht werden, da DOSBox auch die inzwischen exotisch gewordenen, von Second Reality bevorzugten Videomodi und die Gravis Ultrasound emuliert.[9]

Bei der Ausführung von Second Reality aus einem tiefen Verzeichnisunterpfad (wie z.B. C:\demos\futurcrw\2ndreal\2ndreal.exe) führt ein Bug in der Pfadverarbeitung zum Absturz des Programms im Vektorball-Abschnitt.[9]

Eine Analyse des Reverse Engineering Spezialisten Fabian Sanglard des inzwischen verfügbaren Quelltexts enthüllt den eleganten Aufbau welcher zwei Aspekte der Demoszene vereint: Teamwork und Obfuscation.[1] Die lang existierende und populäre Vermutung, dass die Future Crew einen eigenen Speichermanager geschrieben hatte, welcher direkt auf die MMU zugreift, wurde mit Verfügbarkeit des Quelltextes durch Sanglard widerlegt; SR verwendet Standard DOS Speicherverwaltungsfunktionen.[10]

Rezeption[Bearbeiten]

  • Children of Bodom verwendete die Intromusik für den ersten Track von Ubiquitos Absence Of Remission, als sie noch als Inearthed bekannt waren.
  • Das Demo erscheint 2009 beiläufig in einem offiziellen Nokia-Promotionvideo für das Maemo.[11]
  • Der Demo-Soundtrack wurde 2010 lizenziert und verwendet im Apple iOS-Spiel SHMUP.[12]
  • Das Demo existiert mit zusätzlichen Kommentaren der Future Crew auf der MindCandy-DVD. Die Dolby-Surround-Information am Anfang musste jedoch aus lizenzrechtlichen Gründen entfernt werden.

Remakes[Bearbeiten]

Das als bahnbrechend geltende Demo animierte viele dazu, es kreativ nachzuahmen. Das wohl bedeutendste Remake erschien 1997: Das komplette Demo wurde auf dem technisch wesentlich weniger leistungsfähigen Commodore 64 durch die Demogruppe Smash Designs umgesetzt. Sowohl die grafischen Effekte als auch die mit Sprachdigitalisierung gespickte Musik wurden in ansprechender Qualität umgesetzt, obwohl auch ein C64 nicht über leistungsstarke Graphik- und Audiochips, eine mit gerade mal 0,98 MHz getaktete CPU und nur 64 KB RAM-Speicher verfügt. Dass diese für PC-hardware ausgelegte beeindruckende Synchronität zwischen Bild und Ton trotz der dynamisch berechneten Echtzeiteffekte auf einem C64 möglich war, ist eine umso beeindruckendere Leistung. Innerhalb der C64-Demoszene wird diese Umsetzung allerdings mit gemischten Gefühlen betrachtet, weil viele der Effekte bereits in anderen C64-Demos in ähnlicher Form erstellt wurden und in noch höherer Qualität möglich wären.

Ein weiteres erwähnenswertes Remake wurde unter dem Namen Real Reality erstellt. Real Reality ist eine Nachahmung des Demos ohne Computer. Alle Effekte werden in einem Videofilm durch selbstgebastelte Gegenstände oder Personen nachgestellt. Die Gruppe Never gewann damit 1999 den ersten Platz in der Wild Compo (systemoffener Wettbewerb) der Mekka & Symposium.[13]

Einzelnachweise[Bearbeiten]

  1. a b Fabian Sanglard: Second Reality Code Review: Part 1 (Introduction) (englisch) fabiensanglard.net. 16. August 2013. Abgerufen am 23. August 2013: „The code is something like I had never seen before that perfectly represents two essential aspects of demomaking : Team work. Obfuscation.
  2. Assembly 93 results. pouet.net. 2. Januar 2011. Abgerufen am 2. Januar 2011.
  3. Slashdot's "Top 10 Hacks of All Time" (englisch) slashdot.org. 13. Dezember 1999. Abgerufen am 25. Dezember 2010: „Second Reality by Future Crew - Awesome, Mindblowing, Unbelievable, Impossible. Some of the words used to describe what this piece of code from demoscene gods Future Crew did on 1993-era PC hardware. Even by today's standards, what this program can do without relying on any kind of 3D graphics acceleration is impressive. As if the graphics weren't impressive enough, it can even playback in Dolby Surround Sound.
  4. github.com/mtuomi/SecondReality/blob/master/UNLICENSE
  5. a b Ryan Smith: Happy 20th Birthday Second Reality (en) Anandtech.com. 1. August 2013. Abgerufen am 21. August 2013.
  6. Abbyss Ankündigung auf Twitter (englisch)
  7. Fabian Sanglard: Second Reality Code Review: Part 5 (Parts) (englisch) 16. August 2013. Abgerufen am 31. August 2013: „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).
  8. Kefrens: Desert Dreams (Amiga). 10. April 1993, abgerufen am 26. November 2014.
  9. a b tre_qu: DosBox, Compatibility: Second Reality - Future Crew (1993). dosbox.com. 28. März 2007. Abgerufen am 2. Januar 2011: „Runs perfectly, on my setup. Demo crashing halfway (during the "particle spring" part) is a bug in the demo, which relates to the path being to long (also happens to real DOS machines). Run it from C: or a 1 level deep subdirectory to fix.
  10. Fabian Sanglard: Second Reality Code Review: Part 2 (Engine) (englisch) 16. August 2013. Abgerufen am 31. August 2013: „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.
  11. Maemo5 (video) In: Dashboard, 0:19, links oben Second Reality. Nokia. 2009. Abgerufen am 13. März 2011.
  12. Fabien Sanglard: SHMUP (englisch) 19. Oktober 2010. Abgerufen am 13. März 2011: „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.
  13. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatReal Reality by Never. Pouet.net, abgerufen am 14. März 2010.

Weblinks[Bearbeiten]