![]() |
Infernosoft
Competitors Secret Internal Document - Not For Distribution! |
|
|
IntroductionThis document will describe how to create a product that could take over Macromedia Director's dominant position in the multimedia development market. Prerequisite reading: What's Right and Wrong with Director and Director Product Development Cycle. Note: I wrote this essay late in 1999 after thinking about the work I did on the Director project. Things have unfolded differently than I predicted. It seems that Macromedia has created its own Director Killer Flash. Director FeaturesThis section describes Director's major features in various lists. The first list is the views into the Director file data and controls:
The CastThe Cast contains all the objects that are seen or heard in a given Director title. A movie can have one or more casts, organized as the author sees fit. Movies can share external casts. Here is a list of the types of objects a cast can contain:
The ScoreThe Score is a time-based view of a Director movie. It is directly analogous to a musical score. Channels (instruments and voices in the musical score) are long horizontal things; vertical slices are called "frames" (measures in the musical score). You drag a cast member onto the score where it takes up one channel for an arbitrary number of frames. Certain score channels are reserved for specific data types: sounds, transitions, scripts, tempo events, palettes. Sprites of all other data types are represented in an "unlimited" number of sprite channels. When two bitmaps overlap on the stage, the one with the higher channel number is drawn on top of the other one. Bitmap sprites have associated ink modes, which are essentially pixelwise logical operations on the background and the bitmap or its mask. Ink modes allow various optical effects such as matte, background transparent, or alpha-channel effects. Sprites in the score contain "key frames," points that represent specific locations on the stage. Sprite locaitons for frames between key frames are "tweened" or interpolated. Director 6 introduced a very successful change to Director's original sprite model, the key frames concept. Any product that wants to displace Director must consider this feature, and either incorporate it or make a vast improvement. Lingo, Behvaiors, and the Event ModelA Director-Killer should very carefully consider the nature of its programming language. A critical decision in the design process is the nature of the basic approach: is programming something that can be simplified so that dummies can do it, or is it something that is inherently complex and thus should use a common general-purpose language? Director's assumption was the first alternative and the result is Lingo. Lingo is a structured interpreted general-purpose programming language with strong coupling to Director concepts. It is currently suffering a difficult and painful transition to object-orientedness and thus must support classic and modern Lingo constructs. The language contains a long list of reserved keywords. It has mnay built-in string- and list-manipulation functions, but their syntax is often cumbersome and just plain weird. With the advent of canned Behaviors, novice Director users can avoid leanring Lingo. A Diretcor-killer should offer the same convenience. But the choice of programming language is a different matter. With novice users taken care of by behaviors, product designers are free to choose any appropriate language. Here I discuss four possibilities.
Director has a powerful event model. It is not quite as nice as that of Visual Basic, however, and is one of the more difficult concepts for Lingo programmers to learn. Visual Basic, with its well-defined events, integrates event handlers into the behaviors of objects. A good solution would be a combination of Director's theoretically sound event model with VB's good UI implementation for creating them. Consider an on-screen object as a data structure with a link to the base asset, a track of positions and other score properties, and links to scripts. This permits making adding behaviors to a sprite mean that the scripts associated with a behavior (or links to them) are copied into the sprite's script database. The precise nature of this linkage would depend on the nature of the programming language chosen. Netlingo, together with the Multiuser Server, provides an easy way for lingo programmers to creat multiuser Shockwave and CD-ROM applications. The popularity of this feature is just beginning to take off, but any Director-Killer must plan for good interaction with the Internet. The Paint WindowThis is another feature in which a Director-Killer can make an enormous difference. The Director Paint Window offers a number of important features, but it suffers from arcane complexity, imcomplete features, stupid UI mistakes, and bugs. Its useful features are Photoshop-like effects, competent pixel tweaking, and onion-skinning (being able to faintly see related bitmaps behind the one your'e editing). Its stupid bugs include effects implemented only in certain bit depths and idiosyncratic bit depth selection. Professional Director users create their artwork in Photoshop and import it into Director. They use the Paint window primarily to tweak images. However, the paint window's speed and convenience makes many of them wish it worked better. A Director-Killer paint window should be simple, competent, and convenient. It should offer nearly transparent bitmap and vector editing tools (think of a combination of Superpaint and Flash and Fireworks). ShockwaveShockwave has achieved ubiquity on the web. This is what continues to drive sales of Director. The Shockwave Player contains an animation engine and a Lingo interpreter. (Similar to Java, the Lingo interpreter is limited to "safe" operations for security reasons.) Macromedia faced some difficulty getting users to install its Shockwave plug-in, but has created an almost seamless installer on its web site and has convinced Microsoft and Netscape to bundle Shockwave with those browsers. Macromedia's web site shockwave.com is looking forward to profitable expansion by offering games and entertainment, all using Macromedia plug-ins for Flash and Shockwave. Any plan for a Director-Killer must consider how it will displace Shockwave on the Web. Failure here will mean failure for the whole project. This is in small part a technical problem, but in large part a marketing problem. Technical BitsThere are three ways that multimedia playback engines control the timing of events.
Unless some simple an elegant way is invented to allow the author to switch between the various systems, some basic model must be chosen and hooks provided into the other methods. Why must a multimedia tool provide all three? Dropped frames look ugly, and since Director can attach scripted behaviors to frames, dropping a frame (without regard to its behaviors) could be a disaster. But time-based media must remain time-based: you can't arbitrarily slow down a video clip, and you may want to synchronize a frame-based application to a time-based one. Interactive-mode titles must wait for user input. This is an inherently complicated topic. It requires some theoretical understanding on the part of the author, and any help that the authoring tool can provide by simplifying the concepts and tools would be an advantage. Specifically, a Director-killer must provide a way to cause animation timing to be directed by a video or audio clip. Required New FeaturesThe Playback EngineDirector's playback engine contains lots of hacks to make older formats work. It is non-reentrant and has a limited rendering pipeline. A new playback engine should be re-entrant so that several independent rendering streams and their scores can operate simultaneously. A rendering pipeline should include hooks to filters and effects defined by API plugins. Their order of operations should be user-definable for each frame. All effort must be made to make the playback engine as lightweight and fast as possible. Cross-Platform Authoring and PlaybackOver the product lifespan of any Director Killer, there will be at least one majoe upheaval in the established order of operating systems. Director Killer's underpinnings must be written in such a way that porting the playback engine to other operating systems is a relatively simple manner. To think that Microsoft Windows is the only operating system worth worrying about is stupid. Web PlaybackA set of web-browser plugins that work on many browsers and operating systems and are relatively lightweight and easy for the end-user to install stand a greater chance of being adopted than clunky crap. Macromedia's model of Shocked Site of the Day for displaying the capabilities of the plugin is also highly successful. Addendum: New TechnologiesDirector was able to add new technologies fairly quickly by exploiting its capable Xtras interface. A Director Killer must have a similar interface that allows full access to all its internal APIs so that whena new playback medium or technology becomes available, it can find a role in it. For instance, Macromedia and Director basically ignored the DVD market. It was focused too closely on the Web. Meanwhile, as I predicted, Apple bought the rights to the DVD Xtra, killed it, and came out with its own DVD product. Any new Director-like product must make it easy to build DVD menus and combine them with video files to generate a DVD source file. How to make a Director Killer
|
|
| Copyright © 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by Infernosoft. All Rights Reserved. | |