|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Director Cover Story: The Division that Puts Director to Work
Director use in an educational institution, RIT
By: Andrew M. Phelps
Sep. 8, 2004 12:00 AM
The Rochester Institute of Technology (RIT), and the Information Technology Department where I teach, has long been a user of Macromedia products, from Dreamweaver to Director and most things in between. Recently, there has been some debate as to the future of Director's role, considering the increasing use of Flash in the marketplace for Web graphics and interactive displays. While we have moved some of our efforts to Flash technologies, RIT and the IT Department remain committed to the use of Director, because currently no other product on the market can meet our specific needs for an easy-to-script, but performance-aware 3D system capable of delivery on the Web and via downloadable executable. The shift to ECMAScript syntax represents a major advance in the Director product, and is important to us for a number of reasons. The primary reason for the inclusion of this feature seems to be to provide for a more common language and syntax between Flash MX and Director. We are capitalizing on the similarities in the new syntax to create a streamlined educational experience to bring the products as close together as possible. It also allows for a more complete object-oriented structure, and better tools for list management and string operations. The Information Technology Department at RIT Students and Educational Objectives All of our students are required to learn some programming, but because they are majoring in different fields, their reasons for doing so are widely varied. Some of our students are directly concerned with operating systems and low-level driver design; others could care less, and are solely focused on the user experience. Some are designing pieces for back-end server rooms where performance is key; to others it's all about selling the client with look and feel. Why Director? We have found this to be particularly effective, as you might expect, in teaching students who come from visually oriented backgrounds (art, graphic design, etc.). But this is generally a course enjoyed by all students because of its visual nature: students want to know that they are creating "real applications" that look and feel like those they use on a daily basis. Creating command line-driven exercises has the ring of being false, and as such, it is my experience that students are more engaged and driven to learn in a visual environment. In fact, my team is working on software to allow students to do in Java some of the visual-style programming that makes Flash and Director so appealing. Recently, we moved a lot of the coursework in Programming for Digital Media from Director to Flash. This is to give students the Flash experience, and because it seems to be the tool of choice for interface design and implementation. Flash handles buttons, sliders, and widgets with amazing ease, and the lightweight plug-in makes it a snap to use almost anywhere. We talked about moving all of the material to Flash, but in the end, this was not implemented for the following reasons: Imaging Lingo We teach several courses on game programming, including 2D and 3D Graphics using DirectX and OpenGL. Students develop engines in C/C++ and manipulate textures directly on the graphics card. But the operations, from loading images, copying bits, dealing with alpha, etc., have direct parallels in Imaging Lingo. Students who have taken the prerequisite coursework in digital media have almost no problem grasping what is going on inside a modern graphics engine because of their familiarity with the concepts. Director makes a great play space and learning environment for exploring imaging concepts because it shields the programmer from the one thing they are most likely to encounter - access to undefined memory. If any of the coordinates that an image copies run amuck, then you are probably trying to read from or write to memory that you don't "own". Dealing with this in C/C++ can be a pain, so it is convenient to explore these concepts first within the protective shield of the Lingo framework. Shockwave 3D The ease with which a student can get a 3D engine up and running with Shockwave3D is almost mind-blowing: we left it in Programming for Digital Media as the one Director-based assignment because the ability to do anything in 3D is so important to the student mindset and really empowers them to think, "Hey, I can do this" well before their programming ability would allow them to get involved with 3D in a traditional sense. The 2D and 3D graphics courses, for example, are taught in the third and fourth years of study in the Information Technology program, and are also taught later in the Computer Science program. To give you a sense of how easy it is to get something happening in 3D, the code presented in Listing 1 is a simple example of placing a cube at the world origin and then rotating a camera around it on a per-frame basis. With the new ECMAScript Syntax in DMX 2004, this is very similar to Flash programming, and our students can bounce back and forth with relative ease (see Listing 1). Projects RIT Is Involved In Games and 3D Engines In addition, because S3D offers access to hardware, we've capitalized on it in two ways. It is possible to write traditional 2D games in S3D by fixing the camera perspective. This allows us to design 2D games to the industry standard 60 FPS, which we were usually unable to accomplish using the traditional engines in either Director or Flash. We've also been able to manipulate the access that Director provides to graphics hardware to add in support to the Nvidia Cg language. Using a custom Xtra we designed, we can use Director as an environment to explore vertex- and pixel-shader development. While this project has just begun, it has the potential to be a very useful prototyping tool (see Figure 2). That Director allows us the XDK at no extra charge to develop in-house tools for the product is a great fit for us. In the future, hopefully more of the S3D XDK will be made publicly available. Shared Extensible Learning Spaces One of the early prototype worlds for the SHELS system was the "Tractor War" world, which allowed the user to observe an ongoing battle between teams of varying colors ("red team," "blue team," etc.) that had different evolutionary algorithms for obtaining and storing food. The teams were represented by tractors (which gathered food) and barns (which stored it) in a 3D world (see Image 3). Director allows a multiuser architecture and the ability to provide 3D front ends to the networked data was a key component in the design of this application. Data Visualization Prototyping Conclusion We have been very impressed with what we have been able to accomplish with the existing Shockwave3D package, and hope to see its use grow both within the academic community and in the industry at large. Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
|||||||||||||||||||||||||||||||||||||||||||||||||