Testing"Test Early, Test Often"
A wise man named John Dowdell once taught me to "test early and test often." I must admit that this is one of the best pieces of advice I have ever received. Testing your project long before it is due is essential and shows the difference between someone who is playing with Director and someone who is using Director in production or in a contract environment where there can be no errors, such as when Director is your source of income!
In this house example, or in any Director movie, you typically know where your target playback platform is going to beon the Internet, a CD-ROM, a DVD, or a projector. Because you know way ahead of time what your target delivery device or platform is, you should start building beta versions of your completed project right away. You will discover idiosyncrasies, bugs, and errors much earlier, allowing you to correct them and allowing you to take them into consideration while building your movie.
QA (Quality Assurance)
Another thing that I learned the hard way is that multimedia technologies almost always work on the cutting edge. They use the extreme features of computers making the multimedia engineer not just someone who programs, but someone who must find results while walking on the edge. Slipping can be a painful lesson, which I'm sure you don't want to visualize. When I worked for Macromedia, I assisted a consulting firm that over-sold the capabilities of Director and Shockwave to a large Japanese auto maker. They jumped into development with no QA (Quality Assurance check) or testing only to find out at the end of the project that what they were trying to do was impossible. They lost a million-dollar account.
Although Director and Shockwave 3D are both great technologies, being able to finesse out of them exactly what you want to achieve takes a professional mindset and the knowledge to master computers. I hope this experience is enough motivation to get you to build a projector of your current project right now, and to test it.
Export the movie as a projector [3.35].
Figure 3.35. Export your movie as a projector for testing early.
After the projector has complied, you should adjust the memory that is allocated to the projector. Boosting the memory higher is what I typically do while I'm testing projectors and Shockwave movies to give the movie extra RAM [3.36]. Then, as each successive build is created, I lower the RAM a few megabytes at a time.
Figure 3.36. Increase the memory allocated to the projector.
On the Macintosh, your projector or browser's memory has to be manually adjusted. To do this, find the icon of the projector or the browser (not the alias), and then choose Get Info on the application. You can also do this using the keyboard combination Command-I. Start by adding 10 megabytes (or 10,000K) to the preferred size text field.
After the memory is increased, start the projector to see if everything is functioning the way you planned. In this version of the house, exporting with the projector setting Show title bar causes the redrawing problems that I discussed previously. Note that this problem would not have been caught if we hadn't tested the movie as a projector.
Running a Shockwave movie in a browser is the hardest place to get perfect results; thus, extra testing is necessary. Movies run slower because of the additional overhead of running in a browser. When the Shockwave movie is in a projector, that projector is running on top of the operating system, but in a browser, the browser is running on top of the operating system and the Shockwave playback is handled by an additional plug-in. To complicate this scenario, the movie might not be present on the computer but could be streaming over a 56K connection.
After you publish your movie [3.37], Director should compact your file, save a .DCR for you, write the HTML file, and then launch that HTML file in your browser for testing. If you don't see a graphic [3.38], then you might not have the latest version of the Shockwave browser plug-installed. You can get it from the Macromedia site at http://www.macromedia.com/shockwave/.
Figure 3.37. The 3D content loader is fine for testing published content.
Figure 3.38. The new Shockwave 8.5 plug-in loading.
What you should be looking for when you are testing your movie in the browser is speed! If your movie takes a long time to load when the file is local, then consider what it's going to be like for someone who has to download it. If your movie is large, you can preload members and use the Lingo Frameready command to test to see if the content has loaded.
If you have the capability, you should upload the movie to a web server and time the download times while it's downloading and streaming. This is the only way to get a true result of what the experience is going to be like for your users.
If your movie passes the test of running in a projector and a browser, you are done. You are done as long as you are not going to make Lingo changes and you do not want to swap out the Shockwave 3D castmember for a replacement. Now, you can complete the Xtra work, clean the graphics [3.39], and export your movie. The following sections describe how to take care of these loose ends.
Figure 3.39. The graphics explain how to navigate your movie. These have to be cleaned up before you are "officially done" with your movie.
Because Shockwave 3D is an Xtra in Director, you have to decide how you want it to load when the projector or Internet version of your movie starts playing.
You have two options for Xtra delivery. You can embed the Xtra into the movie or you can request that it be downloaded automatically.
If you want the projector to be completely self-contained and if you want it to work on a computer with no Internet connection, then you definitely want to ensure that the Xtra is included inside the projector [3.40]. Clicking the Include in Projector checkbox (located in the Xtra window) makes this happen [3.41]. The only drawback to this option is that it also makes your projector larger. The more Xtras you include, the larger the projector.
Figure 3.40. Removing Xtras can help make your projectors smaller, but it puts the burden of downloading on your users.
Figure 3.41. Add the Shockwave 3D Xtra to your projector.
If file size is a concern, then you can exclude your Xtras from the projector and use the Download if needed option, which is located in the Xtra window. This option isn't very elegant, as it prompts the user to download the required Xtra if it is not already installed on his computer. It does work, so use it if you need to make your projector smaller.
The Download if needed option makes the movie prompt the user to download a required Xtra if it is not installed in the user's system. The Xtra is downloaded from the location specified in the Xtrainfo.txt file and permanently installed in the user's system. My recommendation is to leave the Xtras installed in the projector and make up the savings another way if possible.
Another way you can squeeze out more file savings is through graphic dithering in the Paint window. Any graphics that you add to your Director movie are usually in 24- or 32-bit color. These images are a waste of space.
You should go through the castmembers and dither the graphics down to at least 16-bit color [3.42]. For the house movie, the castmembers were reduced to 16-bit to save space, and you can't see the difference unless you are typesetting in Directory, and you have a sharp eye. Another way to save some space is to use the Quickdraw tools (Command-7 for Macintosh and Ctrl-7 for Windows) to create shapes and text instead of importing another bitmapped graphic from Photoshop, for example. The Quickdraw castmembers are very small, and in fact, their castmember sizes are shown in bits, not in K!
Figure 3.42. Change the color depth to save tons of space!
Completing the Movie
If you are happy with the dithering of castmembers, save the movie and create your projector or .DCR file. If you are not going to change anything, choose Save and Compact from the File menu. Saving and compacting ensures that the data in the movie is properly ordered and that any redundant data is deleted from the movie. This is absolutely necessary.
Now you should have a perfect .DIR file, ready to be converted into a .DCR through publishing, a Macintosh projector, or a Windows projector. If you want to create a .DCR, the publishing templates work well. There are even templates that will put up a loading progress bar for your users as your movie is being streamed.
If you are going to create a projector, you have a few options. You can save your movie in its own window by turning on the Show title bar option. However, your users could potentially run into the redraw problem. Or, you can choose the Full screen option. This will put your movie in a fixed window hiding the rest of the background.
For the smallest projector possible, you will want to turn on the Compress Shockwave format to the media option and set the player to Shockwave, which is found in the Projector Options window. I must warn you, however, that this will give you a very small projector at the expense of increased startup time. If the user doesn't have the Shockwave player already installed, he will have to endure a download. For the house movie, a standard projector is about 5 megabytes, where a Shockwave player version is about 2 megabytes. Although this is a good amount of file savings, the expense might not be something that your audience is willing to endure. Standard projectors are always my choice; I then try to make up the size by using a third-party compression program, such as Stuffit or Zip.
Now that you have completed a movie, it's time to learn about physical interactions in Havok...