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
|


 |
|