280 - Interview mit GRX / PandaCube: Ein Coder-Leben zwischen The Division und der Demoszene. (.de)

Bobic, Thu 28 May 2015

Der Münchner Gregor Ehrenstein arbeitet als Senior-Tech-Programmer bei Massive Entertainment in Schweden an einem der wichtigsten Spieletitel der nahen Zukunft: The Division. In seiner Freizeit programmiert er mit seiner Gruppe PandaCube erfolgreich beeindruckende Szenedemos. Wir haben uns mit ihm über seine Faszination für die Produktionen dieser Computerkunstszene unterhalten, wollten wissen wie seine Werke entstehen und was einen antreibt, nach einem langen Arbeitstag noch weiter zu programmieren.


Zauberei mit Licht: Ein sichtlich stolzer Gregor "GRX" Ehrenstein präsentiert Panda³, einen schicken LED-Würfel mit plüschigem Bewohner.


Hallo Gregor! Mittlerweile liegt die Revision 2015 ein paar Wochen zurück. Wie fühlst du dich jetzt, mit ein wenig Abstand, nach dem großen Erfolg den ihr dort mit Panda³ gefeiert habt?

Sehr gut. Im Vorfeld der Revision war es ziemlich stressig. Das erste Mal, dass der Panda Cube ohne Flackern funktioniert hat, war am Donnerstag Abend vor der Revision. Ich hab dann noch bis morgens um 4:30 Uhr die Demo fertiggestellt, zwei Stunden geschlafen um dann wieder aufzustehen und zur Revision zu fliegen. PandaCube stellt häufig die Demos auf der Party fertig, aber an dem Würfel konnte ich nicht wirklich auf der Party arbeiten, ohne das jeder gesehen hätte, was der Panda Cube wirklich kann.

Panda³ war für euch Neuland. Es war euer erstes Szenewerk, das nicht für Windows-Rechner konzipiert war. Woher kam die Idee, einen LED-Würfel zu bauen?


Ich hatte schon länger die Idee, etwas zu bauen, dass auf Partys auf unserem Tisch stehen kann und direkt klar ist, dass da PandaCube sitzt. Vor etwas mehr als einem Jahr bin ich dann auf Ramdac zugegangen und hatte ihm die Idee von einem Panda in einem Würfel vorgestellt. Ramdac arbeitet viel an Elektronikprojekten in seiner Freizeit. Zu der Zeit hatte er gerade einen 3D Drucker zusammengebaut und dadurch kamen wir auf die Idee, die Kanten und Ecken mit dem 3D Drucker herzustellen. Wir haben dann alle Elektronikteile aus China bestellt. Es war gar nicht so einfach, einen guten Plüschpanda zu finden. Im Endeffekt hab ich den auf Amazon.co.uk gefunden.
Die LEDs in eurem Kubus agieren im Rhythmus der Musik. Inwiefern unterscheidet sich die Ansteuerung der LEDs gegenüber dem Syncen der Visuals in herkömmlichen Szenedemos?

Wir verwenden für die Ansteuerung der LEDs ein Arduino Mega 2560 board. Das ist eine 16 Mhz getaktete 8-bit CPU mit 8Kb RAM und 256Kb Flashspeicher. Das schränkt natürlich ein wenig ein, was man so machen kann. Deshalb habe ich mich entschieden, für die Musik einen externen Laptop zu verwenden, der nur dafür da ist eine mp3 Datei abzuspielen. Für die Synchronisation starten wir den Panda Cube und der geht dann direkt in einen Wartezustand. Wenn der Laptop dann anfängt die Musik abzuspielen, wird der Panda Cube via USB angewiesen, die Demo abzuspielen. Jeder Effekt kann dann anhand der verstrichenen Zeit und der fixen BPM berechnen, was die Musik gerade macht.

In den letzten Jahren hat sich Panda Cube in der Spitzengruppe der Demoszene etabliert. Wie seid ihr eigentlich auf einen Panda als Gruppenmaskottchen gekommen?

Als ich für ein Auslandssemester in den USA studiert habe, wollte ich auf die Spielemesse E3 gehen und da man da nicht so einfach reinkommt, habe ich dann eine Firma aufgemacht. Damals habe ich mich mit meine Kommilitonen zusammengesetzt um einen interessanten Firmennamen zu erfinden: PandaCube. Ich fand den Namen so super, dass ich den dann weiter für meine Hobbyprojekte verwendet habe.

Eure Werke kennzeichnet ein bestimmter Stil, denn ihr zeigt mit die technisch imposantesten 3D-Umgebungen in der Demoszene. Was gefällt euch so sehr am Flyby-Stil?

Am Anfang war das so ein wenig aus der Not geboren: Für die ersten fünf Jahre war ich der einzige Programmierer bei PandaCube. Gleichzeitig hatten wir aber immer mehrere Teammitglieder, die gut 3D modellieren konnten. Wir hatten also einfach mehr 3D Modelle zu zeigen, als ich Effekte programmieren konnte. Ich hab meine Zeit immer zwischen dem Programmieren des Frameworks und der eigentlichen Demo aufteilen müssen. Seit zwei Jahren hilft mir jetzt Hugin, der sehr viel auf der Toolsseite für PandaCube programmiert hat.


PC-11: Guardian erreichte auf der Demo-Party Kindergarden 2014 den zweiten Platz bei den PC Demos.


Möchtet ihr eventuell einmal stilistisch etwas völlig anderes zu machen? Vielleicht etwas, das mehr in die „Artsy“-Richtung geht?

Ich persönlich bin ein großer Fan von Still und deren Demo „Beta“. Die ist immer noch eine meiner Lieblingsdemos aus den letzten Jahren. Ich glaub generell wollen wir unsere nächste große Demo auf ein starkes Konzept gründen. Ich glaube aber dass das PandaCube Framework einen gewissen Look erzeugt, den wir auch weiterhin verwenden werden.

Als Senior-Tech-Programmer bei Massive Entertainment arbeitest du an The Division, einem der momentan meisterwarteten Spiele. Woher nimmt man die Motivation, nach Feierabend erneut die Coding-Maschinerie anzuwerfen und an Echtzeitdemos zu arbeiten?

Ich glaub die langen Winter hier in Schweden helfen dabei. Ich bin mehr motiviert im Winter an PandaCube Demos zu arbeiten, als in dem eh schon kurzen Sommer. Am schwierigsten ist immer, sich am Anfang einer Demo wieder aufzuraffen, besonders weil man da meist viele Stunden an neuen Systemen sitzt, ohne dass man einen direkten Nutzen sehen kann. Sobald man dann aber die Demo in groben Zügen schon sehen kann, ist die Motivation kein Problem. Übrigens: ohne konkrete Deadlines geht bei mir nix. Da kann man noch so viele gute Vorsätze haben, schon im Herbst mit der neuen Demo für die Revision anzufangen, um endlich mal nicht auf der Party programmieren zu müssen. Am Ende passiert aber in den letzten 4 Wochen vor der Party genau so viel wie in den 4 Monaten davor.

Was fasziniert dich an der Demoszene und wie bist du auf sie aufmerksam geworden?

Ich programmiere schon seit Anfang der Neuziger Jahre und hatte einen Freund der mir so Mitte der Neunizger Jahre Amiga Demos gezeigt hatte. Ich habe schon immer auf PCs programmiert und zu der Zeit hat der Amiga den PC locker in die Tasche gesteckt. Wir wollten damals auf die Assembly fahren, aber wir hatten zu wenig Geld und konnten uns die Zugtickets nicht leisten. Als ich dann 2008 mit dem Studium fertig war und nach einem Job in der Spieleindustrie gesucht habe, dachte ich mir, ich könnte ja mal auf die Breakpoint gehen, da ich eh nicht viel zu tun hatte. Bei vielen der Beiträge zur PC Demo Compo dachte ich mir damals: Das kann ich auch.

Ihr seid anno 2009 quasi aus dem Nichts in der Demoszene aufgetaucht. Habt ihr schon zuvor Demos veröffentlicht, oder war PC-03 On/Off tatsächlich euer erster Release?

PC-01 und PC-02 sind Codesamples, die ich damals programmiert hatte, als ich auf der Jobsuche war. PC-03 ist dann unsere erste richtige Demo. Sechs Wochen vor der Breakpoint 2009 hab ich mir Mitstreiter gesucht. In 4,5 Wochen habe ich dann das PandaCube Framework geschrieben und die Demo haben wir in 1½ Wochen zusammengeschustert. Zu unserer eigenen Überraschung hat die Demo damals den dritten Platz unter 26 Beiträgen erreicht (Farbrausch landete auf Platz 5).

Wie darf man sich den Entstehungsprozess einer Szenedemo vorstellen?

Wir schauen uns normalerweise die Letzte Demo genau an und analysieren, wo wir das Framework verbessern sollten. Häufig komme ich dann auch mit Vorschlägen für mehrere Effekte, die ich für die nächste Demo entwickeln will. Als nächstes treffen sich dann alle Mitglieder, die an der Demo mitarbeiten wollen und wir entwickeln eine Konzept für die Demo. Zonbie erstellt dann normalerweise erstmal ein Storyboard, das auch schon grobe Zeitvorgaben für die einzelnen Szenen enthält. Danach werden dann Stück für Stück die einzelnen Szenen mit Platzhaltergeometrie erstellt und wir erstellen die Kamerafahrten. Zu dem Zeitpunkt versuchen wir dann, die Musik zu integrieren. Von da an werden dann die Szenen mit richtigen 3D Modellen ausgestattet, die Effekte intergriert und die Beleuchtung gestaltet.

Mit welchen Tools arbeitet ihr?

Unsere Musik ist normalerweise eine mp3 Datei, d.h. der Musiker kann sich aussuchen, wie er die Musik erstellen will. Für die 3D Modelle verwenden wir 3D Studio Max und Photoshop für die Texturen. Auf der Codeseite verwenden wir Visual Studio 2012. Das PandaCube Framework verwendet nur ganz wenige externe Libraries (zlib, tinyxml und fmod). Alles andere ist von Grund auf selbst entwickelt.


PC-09: The Wizard of Cos war sogar für einen Meteorik-Award für die schönsten High-End-Grafiken in einer Szenedemo nominiert.


Du bist ständig bemüht, das Panda Cube-Framework zu verbessern und zu erweitern. Was sind dessen Besonderheiten?

Das PandaCube Framework ist über die Jahre deutlich angewachsen, auf jetzt fast 50k Codezeilen. Wir haben viel Grafikeeffekte, die an sich alleine nicht wahnsinnig speziell sind, aber in der Kombination dann doch sehr gute Resultate erreichen: Prallax Occlusion Mapping, Volume Lighting für Spot, Omni und Tubelights, sehr performante Pixel perfect Meta Balls, Order Independent Transparency, Skinned Animations, In-Engine Cubemap Rendering und eine gute Menge an PostFX.
Im letzten Jahr haben wir viel Zeit auf unsere In-Engine Werkzeuge verwendet. Vieles, was früher im Code oder in Textdateien definiert werden musste, kann jetzt direkt in der Engine erstellt und verändert werden.

Welche Features planst du für die Zukunft?

Dieses Jahr wollen wir hauptsächlich die Rendering-Qualität erhöhen: Ein neues Shadersystem, das die Iterationszeiten deutlich beschleunigen sollte. High Dynamic Range Rendering, Tonemapping und ein verbesserter Bloom Effekt. Auf der Effektseite habe ich ein paar Ideen, aber die will ich hier noch nicht verraten. Auf der Toolsseite bekommen wir ein neues Kamerasystem, das uns mehr Möglichkeiten eröffnen wird.

An welche deiner Demos hegst du die schönsten Erinnerungen?

PC-03: ON/OFF, unsere erste Demo, war natürlich was besonderes. Wenn Dein Werk das erste Mal auf einer riesigen Leinwand gezeigt wird und das Soundsystem fast 1000 Leute anheizt, dann ist das schon ein super Gefühl. Der Applaus nach der Präsentation ist der beste Lohn für die vielen hundert Stunden, die für jede große Demo investiert werden.

Hast du Vorbilder?

Es gibt einige sehr gute Demogruppen, die zur Zeit aktiv sind: Still, Cocoon und Fairlight, um nur einige zu nennen. Ich seh das auch als Ansporn an, gegen diese Gruppen anzutreten und unser Bestes zu geben. Um gegen Fairlight zu gewinnen, müssen wir aber noch um einiges besser werden.

Inwieweit ist es für dich selbst wichtig, nicht „stehen zu bleiben“, also sich ständig weiter zu entwickeln?

Das ist mir sehr wichtig. Die Entwicklung des PandaCube Frameworks kam zum Teil auch daher, das ich bestimmte Grafikeffekte mal selber implementieren wollte. Zwischen dem theoretischen Wissen, wie ein Effekt implementiert wird und es dann wirklich selber zu implementieren, liegen Welten. In den meisten Präsentationen werden die ganzen Probleme, auf die man gestoßen ist, normalerweise ja nicht erwähnt.

Als Spieleprogrammierer kommst du mit den unterschiedlichsten Systemen in Kontakt. The Division ist ja auch ein Multi-Plattform-Titel. Könntest du dir vorstellen, die Künste der Demoszene auch auf Xbox One oder PS4 auszuleben? Mit Plastic und Farbrausch haben zwei bekannte Gruppen vor einiger Zeit bereits einen ersten Gehversuch auf der PS3 unternommen.


An sich würden sich die neuen Konsolen ja schon anbieten, um Demos zu programmieren, aber es ist halt immer noch sehr schwierig, als Privatperson an die Devkits heran zu kommen. Ausserdem ist die aktuelle Konsolengeneration (im Vergleich zu älteren Konsolengenerationen) so mächtig, dass es schwierig ist, die Konsolen mit einem kleinen Team auszureizen. In der Hinsicht würde das dann schon fast einer PC-Demo entsprechen, wo der technische Aspekt immer mehr in den Hintergrund fällt und das Konzept der Demo deutlich wichtiger wird.

Nun haben wir viel über deine Werke und auch deine Arbeit gesprochen, wissen allerdings wenig über den Menschen Gregor Ehrenstein. Magst du uns zum Abschluss ein wenig von dir selbst erzählen? Was begeistert dich abseits der Computerwelt?

Ich gehe gerne ins Fitnessstudio und habe mir im letzten Sommer ein Rennrad zugelegt. Jetzt wo es hier in Schweden langsam wieder wärmer wird komme ich auch wieder häufiger zum Radfahren. Ausserdem bin ich ein großer Fan von Starcraft 2 (obwohl ich nicht besonders gut bin: Gold / Platinum League).

Vielen Dank, dass du dir die Zeit für dieses Gespräch genommen hast und alles Gute für die Zukunft und deine weiteren Pläne.

PandaCube haben unter anderem folgende Szenedemos veröffentlicht. Downloads für die Windows-Versionen, um diese in höchster Auflösung und in Echtzeit auf dem heimischen PC anzuschauen, sowie dazugehörige Demo-Reviews findet ihr auf 4Sceners.de.











(Bobic, 15.05.2015)


this content item is from BitFellas
( http://www.bitfellas.org/e107_plugins/content/content.php?content.2759 )


Render time: 0.0754 sec, 0.0197 of that for queries. DB queries: 21. Memory Usage: 996,880b