D7WS HOMEPAGE WORKSHOP NEUE XTRAS GALERIE WORKSHOP Automatic Translation LESERSERVICE BUCH NEWS

Director 8 - the roots

 

 

 

Home
Workshop-Seite

english version not yet available

 

Auf dieser Seite dokumentieren wir den Eröffnungsvortrag von Joachim Gola beim Director-Anwendertreffen in Bremen (1./2. April 2000). Ziel des Vortrags war, sowohl Director 8 "aus seinen historischen Wurzeln" zu erklären (und dabei einige grundlegende Konzepte und deren Wandel bzw. deren Konstanz zu beleuchten), aber auch einen kritischen Blick darauf zu werfen, was Director heute ist.

Gerade angesichts des Marketingfehlers, den Macromedia seit Director 7 begeht (Director als Shockwave-Lieferant und Game-Machine), ist es offenbar plötzlich nötig geworden, zu erklären, wo Director herkommt und wozu es sich hauptsächlich eignet ;-)

Was ist Director? Was nicht?
Was waren / was sind die Konkurrenten, die Director geprägt haben?
Kontinuitäten und Brüche...

Nicht alle Punkte sind ausformuliert; Sie werden also Ihre Director-Kenntnis zu Hilfe nehmen müssen. Die Director 8-Artikel auf director-workshop enthalten einige weitere Überlegungen zum neuen Release. 1 2 3




 

 

 

 

Was ist Director?

Ist Director wirklich das Internet-Game-Tool, als das es heute vermarktet wird? Die Shockwave-Maschine, die die Webbesucher auf die Site lockt? Zweifel sind angebracht. Kritik an dieser Form von Marketing kommt beispielsweise auch von Gretchen MacDowall (updatestage.com), die trocken feststellt:

According to the press release, Director 8 is a tool for creating powerful, compelling, engaging, magnetic, high-performance, dazzling Shockwave content. Online gaming and entertainment applications seem to be the primary focus of Director 8 marketing. Well, OK, but suppose you are creating more pedestrian business or education titles and your delivery is disk-based, intranet, or (gasp) CD-ROM. You may be wondering if the new release contains features you can use. It does.
Here's how I'd rewrite the press release:
* We fixed a lot of things
* We added two major features - imaging Lingo and a new sound control system
* We streamlined the interface
* We added many less-obvious improvements that add up to increased productivity
Now you know why I didn't last very long in advertising :)

Auch die director-online-Statistik (und eine Ad-hoc-Umfrage beim Anwendertreffen) zeigt, daß Director nur zu einem relativ geringen Teil für Shockwave-Content genutzt wird. Und um auch noch meine persönliche Statistik anzuführen: 60 % "Authoring" für CD-ROM, 30 % Animationserstellung für Export als QuickTime und 10 % Shockwave - wobei der Shockwave-Content im allgemeinen auf director-workshop landet, also nicht-kommerziell ist ...

 




 

 

 

 

KONKURRENZ

Director steht heute zwar relativ "einzigartig" da - dennoch erlaubt der historische Blick, zu zeigen, auf welche Konkurrenten Macromedia reagieren mußte, auf welche weniger. Hypercard Der Schritt von Videoworks zu Director ist der Schritt von einem Animationstool zu einem Tool, das die Erstellung von Interaktion und Animation erlaubt. Nötig war dafür eine Skripting-Sprache: Lingo. Lingo ist ein naher Verwandter von Hypertalk, der Skripting-Sprache von Hypercard. (Ob Hypercard auch in der Zukunft wieder ein Konkurrent wird, hängt wohl davon ab, was Apple mit seinen QuickTime-Interactive-Plänen macht. Ein QuickTime-Authoring-Tool mit den Skripting-Fähigkeiten von Hypercard war mal angekündigt...) mTropolis mTropolis war DER Auslöser für Behaviors - und damit ganz entscheidend für den Sprung, den Director von Version 5 auf Version 6 vollzogen hat. Erst mit Behaviors sind Skripting-Techniken möglich, die "objektorientiert" per se sind - jeder von uns ist heute ein OOP-Programmierer, auch ohne es zu wissen. Dazu gleich mehr. Toolbook Erstaunlich, wie wenig heute von Toolbook zu hören ist. Kein ernstzunehmender Konkurrent - lediglich bei (Windows-)systemnahen Programmierungen sinnvoll. Mit seiner CBT-Ausrichtung wohl eher ein Pendant zu Authorware. AMT

Apple Media Tool hatte zwei sehr starke Seiten: die umfassende und einfache QuickTime-Integration, und (über ein Erweiterungs-Paket) die ECD-Erstellung (CD-Extra). Mit Director 6.5 wurden QuickTime-Filme aller Art (Video, QTVR, Sprite-Movies) auch in Director zu normalen Darstellern. ECDs - das Thema ist nicht mehr so aktuell wie zu Zeiten von Director 5. Immerhin gibt es seit director 5 X-Objects/Xtras, die die Steuerung von Audio-CD-Inhalten erlauben (von penworks).




 

 

 

 

Konkurrenten, die heute eine Herausforderung darstellen:

Flash

Muß ich / kann ich interaktive Webinhalte noch mit Director erstellen? Darf ich meinem Besucher 4 MB Installation zumuten? Wann darf ich das? Wann muß ich das? Einfache CD-ROM-Anwendungen einfach in Fash machen? Flash-Actionscript ist umständlich, aber durchaus "mächtig". Flash ist der "hausgemachte", mächtigste Konkurrent für Director.

Wirklich spannend wird, ob sich beide Programme aufeinander zubewegen, bzw. wie Macromedia den Unterschied in Zukunft definieren wird.

Livestage Pro (von totallyhip) QuickTime-Authoring bietet heute grundsätzliche Möglichkeiten zur Interaktion, Vektoranimation, programmgesteuerte Animation etc., plus natürlich "native" Unterstützung aller QuickTime- und QTStreaming-Formate. LiveStage deckt so einen Bereich ab, den Director weiterhin sträflich vernachlässigt. (Director könnte Authoring-Tool für interaktive QuickTime-Filme sein. Allerdings ist seit dem - rudimentären - SpriteMovie-Xtra für Director 5 in diese Richtung nichts weiter entwickelt worden). Web-Authoring, JavaScript, DHTML, Java, ...

Auf HTML-Seiten, als Seitenelement, ist Director weiterhin nur dritte Wahl. Kaum eine Site, die Director-Shockwave z.B. zur Navigation einsetzt.




 

 

 

 

KONTINUITÄTEN - BRÜCHE

Authoring-Metapher

Director 3 Screenshot

Bühne, Darsteller, Drehbuch, Besetzung: Theater/Film-Metapher

- lineare, geschichtete Animation: Grund-Arbeitsweise

- Animation geht von alleine (aha-Erlebnis für Anwender anderer Programme)

((D3 -> D4)) Das Drehbuch rückt - von einem untergeordnet Tool-Fenster - in den Mittelpunkt der Anwendung. Gleichzeitig wird dem Anwender die auch heute noch gültige Event-Order an die Hand gegeben: damit ist es möglich, mit Event-Handlern auf system- oder anwendergenerierte Events zu reagieren. Die heutigen Skripttypen (Darsteller/Sprite/Frame/Movie) sind bereits vorhanden.

((D5 ->D6))

Was ist ein Sprite?

In D4 und D5 ist die Einzelzelle im Drehbuch entscheidend (in-between war möglich, schrieb die Informationen aber in jede Drehbuchzelle)

In D6 ff. hat ein Sprite eine Ausdehnung (Span), damit ist Tweening mit Keyframes möglich, die Informationen zu den getweenten Parametern wird nur an den Keyframes in die Drehbuchzelle eingetragen.

Directors Interface wurde damit einem einem Sound-/Videoeditor ähnlicher.

Einführung von Behaviors, und damit automatische Initialisierung von Skript-Objekten. OOP (Objektorientierte Programmierung) for the rest of us - ohne daß es jeder sofort realisierte ;-)

Director 4-Screenshot



 

 

 

 

((D6 -> D7,8))

Was ist ein Darsteller?

Mit Director 8 wird ein "paradigm shift" deutlich, der sich bereits in D7 angedeutet hat: Darsteller werden zur Laufzeit veränderbar, der Bildinhalt der Stage direkt manipulierbar. Dies ist eigentlich im Widerspruch zur Authoring-Metapher: wie könnte ein Darsteller plötzlich statt zwei Armen drei haben?

Aber so neu ist es nun auch wieder nicht: Darsteller, die zur Laufzeit veränderbar sind, gab es schon in früheren Director-Versionen: Skript und Feld sind mindestens seit D4, wahrscheinlich aber schon vorher veränderbar. In D7 kommen Rich-Text-Darsteller und Vectorshape dazu. In D8 schließlich sind mit Imaging Lingo alle Bitmap-Darsteller via Lingo manipulierbar. Flash-Sprites haben in D7 und mehr noch in D8 einen seltsamen Zwitterstatus, kann hier doch über Lingo auf die interne Struktur des Sprites zugegriffen werden: LoadMovie, setFlashProperty, setVariable etc.

Imaging Lingo und Manipulation von Vectorshapes sind Ansätze, die nicht mehr mit der ursprünglichen Programmetapher übereinstimmen.

((D5 -> D6))

Was ist objektorientiert?

Director war schon immer "objektorientiert". Auch der Score mag bereits in frühen Versionen INTERN so verwaltet worden sein. Allerdings wurde erst mit Director 6 dem Anwender ein objektorientiertes Konzept des Drehbuchs an die Hand gegeben, das das Authoring stark veränderte.

(D4) birth, ancestor, property, "me", actorlist, stepframe

(D5) new

(D6) Behaviors

Behaviors machen OOP zum Allgemeingut. Skriptobjekte werden automatisch initialisiert, können individuelle Eigenschaften (Properties) haben, können unterschiedliche Ancestors haben.

Director geht den entscheidenden Schritt weiter als mTropolis (das Programm, das ursprünglich "Behaviors" einführte), denn hier können Behaviors in LINGO erstellt werden und müssen nicht in C++ o.ä. programmiert werden:ganz klar das flexiblere Konzept.

Man muß sich aber nicht um OOP kümmern: behaviors sind OOP durch die Hintertür.

(D6) scriptinstanceList - Behaviors on-the-fly zuordnen

(D7) put the scriptList of sprite 1
-- [[(member 2 of castLib 1), "[#pSlid: #in, #pDirection: #point, #pPointH: 200, #pPointV: 200, #pAuto: #automatic, #pCycles: 0, #pPeriodBase: 2.0000]"]]

(D8) x = script("foo").rawNew()
put x.handlers()
--[#getBehaviorDescription, #getBehaviorTooltip, #new, #exitFrame,#endSprite, #Initialize]
put x.handler(#endSprite)

--1

put x.script

--(script "foo")

Aber es gibt weiterhin keine Möglichkeit, skriptgesteuert die Startwerte (behavior initializers) der Behavior-Properties zu setzen. Dies ist seltsam, ist es doch eine Score-Information, die ebenso im Zugriff sein müßte wie "color" o.ä...

(D7 ff) Objekt-Orientiertheit geht noch viel weiter. Jedes Objekt (sprite, member, date, color, ...) kann als Ancestor jedes Scripts dienen.

property ancestor
on beginsprite me
 
me.ancestor = the systemdate
 
put me.year
end

oder:

property ancestor
on beginsprite me
  ancestor = sprite(me.spritenum).member

  me.text = "hallo welt"

end




 

 

 

 

((D4,5,6 -> D5,D6,D7,D8))

Externe Code-Module

D4: X-Objects / Dlls
D5, D6: Xtras + XObjects/dlls
ab D7: nur Xtras
ab D7: Shockwave-Autodownload

Xtras sind heute allgegenwärtiger Bestandteil von Director: Das Programm verwirklicht wesentliche eigene Funktionen über Xtras (z.B. MIX).

Auto-Download von Xtras, Unterscheidung "Shockwave-safe" (seit D7)

((D4,5,6,7,8))

Ins Web

- Shockwave-Plug-in für Director 4 (Ende 1995)
- D4, 5: 2 Schritte (Afterburner)
- Afterburner (D4)
- AfterShock (D6, D7)
- "Publish"-Befehl (D8)

- Shockwave-Installation 4 MB (inkl. Xtras); systemweiter Player (seit D7)
- The Remote (von Macromedia nach Entwickler- und Anwender-Protesten eingestellt)

- Netlingo (relativ konstant seit Director 6; Detailverbesserungen)

- Multiuser-Xtra und -Server (seit D7)




 

 

 

 

((D6 -> D6.5,7))

Video

D4, D5, D6: #digitalvideo
D6.5, wenn über QT3Asset-Xtra eingefügt: QuickTimeMedia
D7: qt3Asset
D8: quickTime

Windows: Bruch beim Übergang von QT2.x zu QT3. Director 6 war nicht in der Lage, das neue QuickTime-Format einzubinden. Behoben (als neuer Darstellertyp) in D6.5. Director 7 warf die Unterstützung von "altem" QuickTime (vor 3) über Bord.

((D6 -> D6.5,7))

Soundmixing

Eine Zeit lang beliebtestes (?) Diskussionsthema im Lingopark.

(D4) macromix -> Director-Sounds pre-mixed ans Windows-Sounddevice
(bis D8) -> zahlreiche neue Medientypen mit Sound (Video, Flash, ...)
-> es kommt zu einem Konflikt ums Sounddevice: wer zuerst kommt, mahlt zuerst.

diverse Lösungsansätze, Knackpunkte:

- Windows NT
- altes DirectX
- soundkeepdevice: falsche Standardeinstellung in D7

((D7 -> D8))

Interface

Der neue Property Inspector ersetzt Dutzende von Einstellungsdialogen, die bis D7 über unterschiedliche Menüs, Buttons etc. erreichbar waren. Eine echte Verbesserung!

Joachim Gola





Directorworkshop.de ist © Joachim Gola & Gerd Gillmaier 1998-2002. Alle Rechte vorbehalten.