Second Reality
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 des zwanzigsten Jahrestages der Veröffentlichung des Demos wurde der Quelltext als Public domain unter einer „unlicense“ Softwarelizenz[4] auf GitHub veröffentlicht.[5][6]
Unreal ][ – The 2nd Reality | |
---|---|
Basisdaten | |
Entwickler | Future Crew |
Erscheinungsjahr | Oktober 1993 |
Aktuelle Version | v1.0 (+Fix) (20. Februar 1994) |
Betriebssystem | DOS |
Programmiersprache | 50 % Assembler, C und Turbo Pascal[1] |
Kategorie | Demo |
Lizenz | Public Domain |
deutschsprachig | nein |
https://github.com/mtuomi/SecondReality |
Bedeutung
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
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 über gehen.[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
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
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
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
Eine Überblende zu oszillierenden Kreisen wird gezeigt, welche schnell für die nächste Szene Platz schaffen.
- Moiré-Muster
Der Moiré-Effekt war zur damaligen Zeit in Demos sehr beliebt und wurde auch hier nicht ausgelassen.
- Kreatur
Die 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
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
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
Es wird ein rotierender dreidimensionaler Würfel mit animierten Plasma-Texturen gezeigt.
- Vektor-Bälle
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
Die Raytracing-Szene zeigt Kugeln, auf denen Text und ein Schwert mehrfach reflektiert werden.
- Animiertes Wasser
Eine wasserähnliche Oberfläche wird mit Hilfe einer Voxel-Engine berechnet.
- Hüpfendes Bild
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
Die vorletzte Szene bildet einen Flug durch eine große dreidimensionale Stadt. Hier kommen Flat Shading und Gouraud Shading zum Einsatz.
- Future Crew Logo
Die finale Szene wird eingeblendet. Es zeigt zwei Muttern, auf denen der Schriftzug Future Crew aufgebracht ist.
- Intro mit Raumschiffen
- Hüpfendes und sich deformierendes Polyeder
- Tunnelflug
- Oszillierende Kreise
- Moiré-Muster
- "Another way to scroll" Scrolleffekt
- Plasma-Effekte
- Rotierender, dynamisch texturierter Würfel
- Vektor-Bälle
- Animiertes Wasser
- Flugszene durch eine 3D-Polygonstadt
- Future Crew Logo auf Muttern
- Outro
Technische Eigenschaften
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 Fabien 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
- 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
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
- Fabien 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.“
- Assembly 93 results. pouet.net. 3. Mai 2020. Abgerufen am 3. Mai 2020.
- 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.“
- github.com/mtuomi/SecondReality/blob/master/UNLICENSE
- Ryan Smith: Happy 20th Birthday Second Reality (en) Anandtech.com. 1. August 2013. Abgerufen am 21. August 2013.
- Abbyss. Ankündigung auf Twitter (englisch).
- Fabien 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).“
- Kefrens: Desert Dreams (Amiga). 10. April 1993, abgerufen am 26. November 2014.
- 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.“
- Fabien 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.“
- Maemo5 (video) In: Dashboard, 0:19, links oben Second Reality. Nokia. 2009. Archiviert vom Original am 12. Juli 2010. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. Abgerufen am 13. März 2011.
- 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.“
- Real Reality by Never. Pouet.net, abgerufen am 14. März 2010.
Weblinks
- Second Reality v1.0 Download von Scene.org (Second Reality Patch)
- Videomitschnitt von Second Reality auf YouTube
- Making of Video von Second Reality
- Videomitschnitt von Second Reality auf dem C64
- Videomitschnitt von Real Reality
- Soundtrack im Scream-Tracker-3-Format (693 KB)
- Vollständiger Quelltext auf github.com (englisch)