. .
CREATE OR DIE Special Downloads Shop webinale

Schauplatz

Interview
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Juni 2010

Totally stok3d

Im Interview mit David Lenaerts, DerSchmale.com.

(Link zum Artikel: http://www.createordie.de/cod/artikel/3174)

In Flashkreisen nur als 'DerSchmale' bekannt entwickelte David Lenaerts in den letzten Jahren alles andere als schmale Innovationen für Away3D. Frank Reitberger hat sich mit ihm zu einem Interview getroffen, um mit ihm über seine Projekte, seine Experimentierfreude und seine Ambitionen zum Rockstar zu sprechen.

Text: Frank Reitberger

Englische Version des Interviews auf Seite 2.

CREATE OR DIE: David, das erste Mal bin ich vor zwei Jahren auf der Suche nach Pixel-Bender-Beispielen über deinen Blog gestolpert. Mal angenommen, der ein oder andere hat noch nichts von dir gehört: Stell dich doch bitte kurz einmal selbst vor.

David Lenaerts: Hi, mein Name ist David Lenaerts, ich wohne in Belgien und ich bin (zukünftig selbstständiger) Flash-Entwickler und Mitglied des Away3D-Entwicklerteams. Seit meinem ersten Commoder64 (ich muss so ziemlich einer der letzten Menschen gewesen sein, der einen PC bekommen hat) genieße ich es, mich mit allem zu beschäftigen, was in Richtung Visualisierung geht. Programmierung fesselte mich mehr und mehr, als ich erste Spiele und Demos, wie beispielsweise Doom oder Second Reality von Future Crew zu sehen bekam. Noch heute verbringe ich meine Freizeit meistens mit dem Entwickeln visueller Effekte, egal ob in 2-D oder 3-D.

CREATE OR DIE: Deine Arbeit ist sehr facettenreich und deckt viele Interessengebiete ab: Zum einen bist du im Away3D-Entwicklerteam involviert, zum anderen gehen deine Arbeiten stark in Richtung Bildbearbeitung (das Tool Farbe z.B.) Ganz nebenbei veröffentlichst du noch all diese vielen Spielereien, Experimente und Ideen in deinem Blog. Woher nimmst du die Zeit für all deine Ideen?

Lenaerts: Die meisten meiner Arbeiten entwickle ich privat in meiner Freizeit, was leider auch heißt, dass ich wenig Zeit ohne meinen Computer verbringe! Viele meiner Ideen sind normalerweise Projekte und Experimente, die mich, einmal damit angefangen, total in Beschlag nehmen können – mich komplett Raum und Zeit vergessen lassen, bis alles wie gewünscht funktioniert. Ist dann aber dieser Punkt erreicht, verliere ich rasch das Interesse, veröffentliche das Resultat und wende mich einer neuen Aufgabe zu. Da ich dazu tendiere, schnell gelangweilt zu sein, wechsle ich häufig meine Interessengebiete. Es gibt jede Menge experimentelle Gebiete, die mich interessieren. Die Kehrseite daran ist allerdings, dass viele meiner Experimente niemals so abgeschlossen und ausgereift sind, wie sie es sein könnten. Es versteht sich natürlich von selbst, dass ich diese Philosophie nicht auf reale Projekte und Auftragsarbeiten übertrage.

CREATE OR DIE: Liest man deinen Blog, dann merkt man schnell, dass dich die Entwicklung von Away3Ds BSP/PVS-Feature für eine längere Zeit, nahezu ein halbes Jahr, beansprucht hat. Also, BSP/PVS, das ist schon die halbe Miete weil…

Lenaerts: Performance! Um eine typische 3D Scene (egal welcher Art) darzustellen, braucht es eine Engine, die alle Dreiecke sortiert, sodass diese in korrekter Reihenfolge gezeichnet werden können. Ohne zu sehr auf technische Details einzugehen, teilt BSP ( Binary Space Partitioning ) dein Model in kleine handhabbare Subregionen auf, ohne dass diese selbst eine eigene Sortierung benötigen. Die 3D Scene wird nun korrekt dargestellt, da durch diese Unterteilung sehr schnell festgestellt werden kann, welche dieser Regionen zuerst gezeichnet werden müssen. Darüber hinaus kann für jede dieser Regionen ein PVS (potentially visible set) konstruiert werden, das die von einem Standpunkt aus nächste, sichtbare Region beschreibt. Dadurch ist ein gewaltiger Performancevorteil gegeben, denn in der Regel wissen wir, wo sich unsere Kamera befindet und können somit das meiste der Geometry außer Acht lassen, bevor auch nur eine einzige Kalkulation dafür nötig ist. Tatsächlich ist das dieselbe Technik, die in Spielen wie Quake oder Unreal größere Level und Welten ermöglicht hat. Die Vorab-Kalkulationen, die PVS benötigt, können viel Zeit in Anspruch nehmen. Eine mögliche Hilfe bietet hier Fabrice Closiers Prefab3D (ein Away3D Authoring Tool), mit dem man diese im Vorhinein generieren und als Datei abspeichern kann.

CREATE OR DIE: Und jetzt, da dieser Fall abgeschlossen ist – was kommt als Nächstes? Neue Aufgaben hinsichtlich Away3D? Oder machst du jetzt erstmal etwas komplett anderes, vielleicht zur eigenen Abwechslung?

Lenaerts: Ich werde die Dinge für eine Weile ein wenig langsamer angehen lassen, mich ein wenig mehr mit kleineren Experimenten befassen (das können natürlich auch wieder Away3D Features sein) und lasse meinen Weg mehr vom Augenblick bestimmen. So habe ich es eigentlich am liebsten. Unterdessen gibt es schon ein paar interessante Projekte und Aufgaben, für deren Resultate ich aber noch ein bisschen um Geduld bitten muss.

CREATE OR DIE: Geradeheraus gesagt: Worauf achtest du, wenn du neue Ideen angehst? Von Beginn an sauberen Code zu schreiben, Performance oder etwas ganz anderes, wie z. B. erstmal loslegen, um erste Ergebnisse zu sehen?

Lenaerts: Das ist eine knifflige Frage und hängt wirklich vom jeweiligen Projekt ab. Ist es ein Experiment, achte ich nicht besonders auf sauberen oder performanten Code. “Nüchterne“ Fragen wie Codearchitektur können Kreativität in Sekunden zunichte machen. Geht es um Experimente, will ich einfach nur ausprobieren, was für Möglichkeiten bestehen. Nach einer Weile werde ich zu so etwas wie ein „Code-Klaustrophob“, was in einem akzeptablen Maß zu zwanghaften Code-clean-up-Sessions führt. Ist dieser Schritt einmal getan, fällt es mir leichter, meinen Code umzuschreiben und auf Performance zu optimieren. Gerade weil Performanceoptimierung in ActionScript meistens bedeutet, dass sauberer, lesbarer Code entfernt und umgeschrieben werden muss, sollte dies immer der letzte Schritt in einer Kette von Optimierungen sein.

CREATE OR DIE: Wie wichtig ist Experimentieren für dich?

Lenaerts: Es ist der wichtigste und amüsanteste Abschnitt einer Aufgabe! Lässt ein Projekt keine Möglichkeit, sich auszuprobieren, dann macht es meistens auch keinen Spaß. Experimentieren heißt natürlich nicht nur einfach, mit Code zu spielen, um zufällig die richtigen Ergebnisse zu bekommen. Man kann ein klar definiertes Ziel bei jeder Art von Aufgabe haben. Es ist einzig und allein der Weg, den du wählst, um bestimmte Ziele zu erreichen. Dieser sollte allerdings offen für Experimente sein. Auch wenn etwas anders kommt als gedacht, passiert das nie, ohne dass man dabei trotzdem noch ein oder zwei Dinge lernen kann.

CREATE OR DIE: Lass uns über Farbe sprechen. Es sieht für mich so aus, als hättest du viel Herzblut in die Entwicklung dieses vielversprechenden Tools gesteckt – gibt es konkrete Pläne, Farbe weiterzuentwickeln?

Lenaerts: Auf jeden Fall! Traurigerweise hatte ich die letzten Monate bei weitem zu wenig Zeit, daran weiterzuarbeiten. Nichtsdestotrotz ist es mein Plan, eine komplette Applikation zum Zeichnen zu entwickeln, die mehr bietet als derzeitig nur den Modus mit Wasserfarben zu pinseln. In der Tat ist dieses Projekt sogar ziemlich weit in seiner Entwicklung vorangeschritten. Unter ästhetischen Gesichtspunkten gibt es jedoch noch viel zu tun, zum Beispiel Unerledigtes zusammenfügen und natürlich zu testen … Ich hoffe, dass ich eine Vorabversion veröffentlichen kann, um herauszufinden was der Benutzer für wichtig hält, vermisst oder priorisiert.

CREATE OR DIE: In letzter Zeit wird Flash mehr und mehr vielseitig einsetzbar: 3-D, dynamischer Sound, Onlinetools zur Bildbearbeitung, diverse Tools wie z. B. Pixel Bender oder Alchemy. Wo, denkst du, geht die Reise hin?

Lenaerts: Ich bezeichne mich selbst nicht gerne als “Webentwickler”. Ich habe mich für Flash als Plattform entschieden, da es stark verbreitet ist und somit viele Leute erreicht. Ich betrachte die Entwicklung als überaus positiv, dass Flash für mehr als nur im Internet eingesetzt wird. Adobe Air gibt es beispielsweise nun schon eine ganze Weile, und die Einsatzmöglichkeiten des FlashPlayer 10.1 für mobile Endgeräte macht die gesamte Plattform umso reizvoller (um gar nicht erst das kürzlich angekündigte Google TV zu erwähnen). Die Tools, die uns heute zur Verfügung stehen, verwandeln Flash in etwas, das beides ist: stark und vielseitig zugleich. Ich hoffe nur, dass die derzeitigen Entwicklungen Flash genug Zeit geben werden, sich auch weiterhin zu bewähren.

CREATE OR DIE: Mit all diesen Möglichkeiten – hast du ein persönliches Highlight oder reizt dich mehr die Mischung von alldem?

Lenaerts: Ich habe nicht wirklich einen bevorzugten Weg, Dinge anzugehen. Ich liebe Projekte aus denen etwas Cooles werden kann, wo ich aber anfänglich noch nicht weiß, wie ich sie umsetze. In gewisser Weise mag ich das am liebsten, denn es steckt meiner Meinung nach eine Menge Potenzial für den Erfolg eines Projekts in der Umsetzung: Diese typischen Adrenalin-angereicherten „Eureka!-Momente“, wenn etwas funktioniert. Ich bin mir sicher, jeder Entwickler kennt und liebt das. Abhängig vom zu erreichenden Ziel wähle ich die Tools aus, die meiner Meinung nach am besten für die Umsetzung der jeweiligen Aufgaben geeignet sind. Ich kann an dieser Stelle natürlich nicht leugnen, dass ich immer ein wenig dazu tendiere, einzelne Aufgaben mit Pixel Bender zu bewältigen. Ein Kernel kann als isolierter Algorithmus gesehen werden, der sich effizient auf ein- oder zweidimensionale Datenarrays auswirkt. Die Tatsache, dass ich mit Vektoren, Byte Arrays oder BitmapData arbeiten kann, macht das Ganze sehr flexibel und viel offener für den mehrfachen Einsatz und Gebrauch, verglichen mit den meisten ActionScript-Codes.

CREATE OR DIE: …und angenommen Adobe würde dir den Wunsch gewähren, ein zukünftiges Feature für den Flash Player zu bestimmen – was würde das sein?

Lenaerts: Da muss ich die steinalte Antwort geben: Hardwarebeschleunigung! Aber da heutzutage nahezu jeder diesem Feature entgegensehnt und – um Flash mal mit Unity (letzteres unterstützt Hardwarebeschleunigung) zu vergleichen – finde ich es notwendig, an dieser Stelle auch darauf hinzuweisen, wie wichtig es ist, dass Flash nicht zu einer reinen 3D Engine wird. Flash sollte meiner Meinung nach ein Abstraction Layer für Hardware bieten, „OpenFL“ wenn man es denn so nennen möchte. Und das sage ich nicht aus der Perspektive als Away3D-Entwickler, sondern aus meiner Sicht, als Teil der Flash-Community. Ein sehr wichtiger Aspekt der Flash-Plattform ist die sehr starke Gemeinschaft – gerade weil es sehr viele Leute und Programmierer gibt, die ihre Entwicklungen und Ideen mit anderen teilen.

CREATE OR DIE: Dieser Tage gibt es wirklich komfortable und großartige Möglichkeiten, sich inspirieren zu lassen – was inspiriert dich? Motiviert dich? Gibt es einzelne Personen, Blogs oder Webseiten, die du weiterempfehlen kannst?

Lenaerts: Da ich versuche, Dinge zu entwickeln, die nicht immer notwendigerweise nach der herkömmlichen Definition “schön” aussehen, inspiriert mich meistens das Real Life – beispielsweise ganz banale Naturphänomene: Landschaften, die Art und Weise, wie Licht auf Oberflächen reflektiert, Wind eine Wasseroberfläche aufwühlt u.v.m. Es gibt so viel um uns herum, das buchstäblich darauf wartet, in der Programmierung nachempfunden zu werden! Meine erste Empfehlung ist somit, einfach mal nach draußen zu gehen und einen Spaziergang zu machen – Blogs können auch später noch gelesen werden! Im digitalen Bereich inspirieren mich zum einen Umsetzungen, die versuchen, die reale Welt zu imitieren (Videospiele sind hier das naheliegendste Beispiel), zum anderen Visualisierungen, die mehr in Richtung mathematische Schönheit gehen und diese visuell verdeutlichen. Fraktale sind hierfür das beste Beispiel. Doch auch wenn deren farbenfrohe Visualisierungen aus den neunziger Jahren eher kitschig wirkten, zeigt heute u. a. Tom Beddard, wie wunderschön Fraktale wirklich sein können. Auf einer mehr technischen Ebene inspirieren mich die Experimente von Simo Santavirta, ein Flash Demoscener, der es geschafft hat, in seinen Umsetzungen die technischen Fähigkeiten mit ansprechender Ästhetik zu kombinieren.

CREATE OR DIE: Hast du noch irgendwelche Tipps oder Ratschläge für uns?

Lenaerts: Ausgenommen von der Empfehlung, mit Code zu experimentieren, wann immer sich die Chance dazu bietet, würde ich raten, niemals davor zurückzuschrecken, das Rad immer wieder neu zu erfinden. Auch wenn das, was euch interessiert, durch andere bereits realisiert wurde, und auch wenn diese Umsetzung bereits hervorragend zu sein scheint, ist es überhaupt kein Fehler, es trotzdem nochmal für sich selbst zu versuchen. Die Tatsache, dass man die eigenen Implementierungen mit bereits vorhandenen Umsetzungen vergleichen kann, um davon zu lernen, macht es den eigenen Versuch wert. Und wer weiß – vielleicht findet man selber ja eine bessere Lösung.

CREATE OR DIE: Abschließend die Frage: DerSchmale unplugged… in einer Welt ohne Computer… was würdest du tun, außer programmieren?

Lenaerts: In diesem Fall würde ich meiner Gitarre und meinem Klavier mehr Aufmerksamkeit schenken… evtl. auf einer Bühne vor einer Handvoll Groupies das Haus rocken! Das oder an einer Straßenecke für Almosen eine rostige Gitarre mit fehlenden Seiten klampfen, wenn ich meine Fähigkeiten mal realistisch einschätze …

CREATE OR DIE: Es hat mich sehr gefreut, danke vielmals.

Lenaerts: Die Freude ist ganz auf meiner Seite, danke für das Interview!

Englische Version des Interviews auf Seite 2.

 

Kommentare
Bisher keine Kommentare
Neuer Kommentar
  • Gute Kommentare werden belohnt.
  •   (optional)
  •   (Kommentar abonnieren/Gravatar - wird nicht veröffentlicht)
  •    Benachrichtige mich bei nachfolgenden Kommentaren per E-Mail
  • -+
Tags
Werbung
flash