The Director® Metaphor

Think of a Director® piece as a theatre or movie production.

You are the Director of a production

You select the actors and costumes and props (we're stretching a little here) and direct how they should look and act. This is your cast.

Cast members are seen and heard on the stage.

Cast members "act" according to scripts.

The timing of the Cast member actions are dictated by the score.

This is a bit of a stretch so let's jump over to music here. A orchestral score has the music for each instrument in the orchestra (running horizontally). We can think of these as "layers"--the violin layer, the flute layer, the triangle layer, the french horn layer--because they will often be playing together . . . . (in a vocal score it will be the soprano part, the alto part, the tenor part and the bass part).

Director® also has these layers, but it calls them channels. (I think this terminology comes from film/video either where the light is broken up into channels of red, green, and blue or where broadcasting runs different show simultaneously over the waves at the same time--so think TV guide.) Director can handle up to 1000 Channels, so think DirectTV--(hopefully there's something worth watching). To ensure that they play together, each "layer" in the score shares common vertical bands which designate the timing in measures.

A measure has a particular beat -- 3 beats per measure, 4 beats per measure, 6 beats per measure. Director® also has these measures, but we'll need to jump back to a visual analogy for the proper terminology. Think of movie and animation film. The picture is made up of many pictures, each slightly different from the next. Each of these pictures is called a "frame." Director®, being an animation program, also calls these vertical/timing sections "frames." Frames run a different rates, 24 fps for film, 25 for PAL video, 29.97 or 30 for NTSC video. Director® also uses frame rates--the sky's the limit. It can run seconds per frame or frames per second and you can have thousands of frames per second. The eye doesn't need much more than 30 though, and if you want to run something off the web you'll probably run around 15 fps. HOWEVER--computers and the Internet are not as nice as most movie and video projectors or broadcast signals, so the frame rate in Director® can change according to the computer and the method of delivery of the file (hard drive, removable media, CD, Internet, Intranet). A frame rate in Director®, then only designates the MAXIMUM frame rate the movie can run at.

SO . . . the score organizes all of the elements in our production in channels, "timed" by frames, and determines how each instance of the cast will perform at a given time.

Okay, we have cast members, using scripts, acting on the stage, according to the score. Now comes the unique (and confusing) part--each instance of a cast member on the stage (or in the score) is called a sprite.

Think of all the fairies running around in Shakespeare's "A Midsummer's Night Dream"--they're also called sprites. Why "sprites"? The term "sprite" has been used in the video game industry as long as video games have existed. Traditionally, "sprite" was used to refer to a small, elusive, supernatural being --an elf or a pixie (remember Shakespeare's "A Midsummer Night's Dream"). Game programmers began using the term "sprite" way back in the early '70s when first arcade video games began to appear. A "sprite" in the gaming sense was a small bitmap images that the processor could move around quickly. In Director® the term "sprite" refers to any piece of media (not just a bitmap) that shows up on the stage -- usually a small and elusive piece of the movie (in that many only exist in a frame or due to some condition.

Why do we need sprites? Think of animating a tree in the fall. Unless you have way to much time on your hands, you'll probably create about five leaves and just keep reusing them at different sizes and in different colors on different branches of the tree. (think also paper dolls you cut once but then have a ton of them). Each of the five leaves, then, is a cast member, but there could be hundreds of instances of each on the stage, and we want each one falling differently (maybe repeating a few paths) from a different place at a different time than any of its twins (triplets, centlets?). So each of those "instances" of a cast member on the stage takes on a spritely life of it's own, and each needs to be able to be controlled. That's why they're their own thing, and somebody decided "sprite" was a good name for that thingness.

Now let's look at the interface: Glory be, imagine that: our windows are called "cast," "stage," and "score" and the programming elements are called "scripts"!!!!!

Our cast contains the elements we want to use--sort of like a backstage waiting area where everything waits until it's needed. The cast can include still graphics (bitmap or vector--either created in Director or imported), sounds (in digitized form), interface elements (such as buttons or icons), digital video (in QuickTime® or AVI or RealVideo® format), animation (Flash® movies, or Director® film loops), palettes, other Director® movies, scripts (behaviors, parent scripts, movie scripts), text and field members.

The stage is where the end result of our directing masterpiece is displayed.

The score is used to lay out the elements according to time and foreground/background.

Scripts are used to tell cast members or sprites or the movie what to do when certain "cues" are given. These cues are called "events" in programming language, and when any given "event" occurs, any script(s) associated with that event get(s) acted out.

And that is why Director® looks and acts the way it does!

Programming for Interactive Mulitmedia I Home

Reference: Director 8 and Lingo: inside Macromedia by Scott Wilson and Richard Salvatierra