I just rage quit Lightwave before even getting it installed.
All I wanted to do was use Lightwave on my OSX laptop without installing Rosetta. Not such an outrageous request, given that OSX is a supported platform, right? I have a registered copy that ran fine before updating my system software, but now I don't want to install Rosetta - I want to run it under straight-up OSX. So I download the updater files, and I'm all paid up and everything, and I've even got my hardware dongle plugged in. (Seriously, what is this, 1996?) I run the installer. It installs the OSX version. Almost there!
Then I get this message: "Donglecheck requires Rosetta to run. Want to install it now?"
You know, if I wanted to install Rosetta, I wouldn't bother downloading the OS X update, now would I?
NewTek, if you're going to make my life difficult and use separate programs to enforce and/or unlock your clumsy, draconian DRM, at least keep them up to date. Don't make me install Rosetta for the sole purpose of unlocking your software (that I've already unlocked!) so that I don't have to run it under Rosetta.
That's worse than having no OSX version at all - at least then, I'd be installing Rosetta for some real purpose.
Sadly, this is not an isolated frustration - it is indicative of the software NewTek ships: haphazard, buggy, obtuse, nonsensical, poorly-thought-out software running on the fumes of long-passed greatness, all protected by paranoid, burdensome DRM disproportionate to the value of the software it protects.
I make purchasing decisions about 3D software for our multimedia studio. I'm going to be making a different choice for 2011.
Showing posts with label shockwave. Show all posts
Showing posts with label shockwave. Show all posts
Tuesday, October 12, 2010
Friday, June 04, 2010
Apple's HTML5 Gallery
Apple just released an HTML5 Showcase showing what's possible with the current generation of browsers (read: why the need for Flash is overstated).
I think what's clear is that Flash is still the way to go if you want to do vector-based interactive animations (i.e., games), but Flash is no longer necessary (or, at least, should be the fallback) for the things it's been used for in its most popular contexts, like video playback. That's a good thing, since video is a media type that browsers should understand, just like images, and it's in the spec. The sooner people are coding to the spec, the better.
But even the interactive animation context is under assault. With the canvas element, you can already create interactive animations using bitmap graphics and crude vector graphics. It won't be long before HTML5 games start showing up. If Adobe wants to make the case for Flash's long-term relevance, they need to stop putting all their chips in fighting against the video tag - they lost that one when YouTube jumped - and start focusing more on staying ahead of the canvas element. Adding "real" 3D support (ala Shockwave3D) to Flash would go a long way toward that.
Or, better yet, make a Flash-like IDE for HTML5/Canvas, and migrate Flash users to that, and become the de-facto IDE for developing next-generation interactive web content just like they dominated the last generation. Unfortunately, I don't have a lot of confidence that Adobe is that forward-thinking from their track record with products like Director. But maybe.
I think what's clear is that Flash is still the way to go if you want to do vector-based interactive animations (i.e., games), but Flash is no longer necessary (or, at least, should be the fallback) for the things it's been used for in its most popular contexts, like video playback. That's a good thing, since video is a media type that browsers should understand, just like images, and it's in the spec. The sooner people are coding to the spec, the better.
But even the interactive animation context is under assault. With the canvas element, you can already create interactive animations using bitmap graphics and crude vector graphics. It won't be long before HTML5 games start showing up. If Adobe wants to make the case for Flash's long-term relevance, they need to stop putting all their chips in fighting against the video tag - they lost that one when YouTube jumped - and start focusing more on staying ahead of the canvas element. Adding "real" 3D support (ala Shockwave3D) to Flash would go a long way toward that.
Or, better yet, make a Flash-like IDE for HTML5/Canvas, and migrate Flash users to that, and become the de-facto IDE for developing next-generation interactive web content just like they dominated the last generation. Unfortunately, I don't have a lot of confidence that Adobe is that forward-thinking from their track record with products like Director. But maybe.
Tuesday, April 13, 2010
We are hiring!
We're hiring at NMSU Media Productions:
Web developer - Develop web applications for NMSU internal and external clientele using PHP, MySQL, XHTML, CSS, and Javascript. If you are good at coding the back end of a web site AND good at crafting excellent UI's, we want to talk to you.
Game developer - Develop educational games, mostly using the Flash platform, although we may also be moving to Unity and Objective C (iPhone OS). Artistic skill is not as important as capability to write games and game logic code, as you will be integrating art assets by our artists and animators.
NMSU Media Productions is a great place to work - talented and personable people, fun projects, supportive management, and work that has societal benefit rather than just being for generating revenue for investors. We're located in sunny Las Cruces, and the green chile is bountiful.
Web developer - Develop web applications for NMSU internal and external clientele using PHP, MySQL, XHTML, CSS, and Javascript. If you are good at coding the back end of a web site AND good at crafting excellent UI's, we want to talk to you.
Game developer - Develop educational games, mostly using the Flash platform, although we may also be moving to Unity and Objective C (iPhone OS). Artistic skill is not as important as capability to write games and game logic code, as you will be integrating art assets by our artists and animators.
NMSU Media Productions is a great place to work - talented and personable people, fun projects, supportive management, and work that has societal benefit rather than just being for generating revenue for investors. We're located in sunny Las Cruces, and the green chile is bountiful.
Thursday, July 02, 2009
Preloading Flash SWF's without Executing Scripts
For a project we are doing at work, I had a game engine shell which would load .SWF's into the shell for playing individual vignettes and cutscenes. Because it was going to be served via a web server, I wanted to preload these vignettes during play so that when the vignette was encountered, it would play immediately, instead of the user having to wait to download the item.
However, one of the vignettes had a custom cursor in it, which would hide the regular cursor. The end result of this was that when I preloaded that SWF, it would execute that code and hide the cursor for the movie before displaying that vignette.
The solution was to use URLLoader to load the vignettes to get them into Flash Player's cache, and then, when they were needed, using the Loader class to load them into the engine:
However, one of the vignettes had a custom cursor in it, which would hide the regular cursor. The end result of this was that when I preloaded that SWF, it would execute that code and hide the cursor for the movie before displaying that vignette.
The solution was to use URLLoader to load the vignettes to get them into Flash Player's cache, and then, when they were needed, using the Loader class to load them into the engine:
import flash.net.*;Using this method, you could preloadSWF() the MovieClips you will need later, and the Flash Player will put them into the cache. Load the MovieClips normally using the Loader() class, and Flash Player will pull the SWF's from the Flash Player cache instead of downloading them again from the web server.
public class SWFPreloader {
public function SWFPreloader() {
// Preload a list of SWFs here, or call preloadSWF()
this. preloadSWF( 'intro' );
}
public function preloadSWF( url:String ) {
var urlr:URLRequest = new URLRequest( url );
var _loader:URLLoader = new URLLoader();
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.load( urlr );
}
}
Thursday, June 11, 2009
Update to MVC Framework
I've released an update to the MVC framework for developing Shockwave3D applications in Director. Changes include:
- Models now receive the act() message each frame.
- Fixed bug that makes demo scene not work.
- info() gives more information, and more complete information without parameters.
- Fixed thumbnailer to include headings on member thumbnails.
- Added floor() and ceil() math functions.
- Added event() and replaceController() to the Controllers object. The Controllers object is now implemented a little differently, but the API should be the same.
- Added centerImage() imaging lingo routine.
Tuesday, November 25, 2008
Just got back from Puerto Rico
I just returned from Puerto Rico, where I met with a group of fellow Director enthusiasts. It was good to finally put some faces to the names of various Director gurus I've been following for years. (Universally, a great bunch of guys, by the way.) It was Director chatting from morning to late at night for two days straight, and a great look into what other people are doing.
After seeing some of the things these guys are working on, and talking to them about how their current projects are going, I'm more encouraged about the future of Director than I've been lately. It's good to get connected to the community again, and I'm looking forward to doing more Director work in the future.
And a special thanks to Adobe for organizing the retreat. Thanks for one of the best times I've had at a conference in a long time.
After seeing some of the things these guys are working on, and talking to them about how their current projects are going, I'm more encouraged about the future of Director than I've been lately. It's good to get connected to the community again, and I'm looking forward to doing more Director work in the future.
And a special thanks to Adobe for organizing the retreat. Thanks for one of the best times I've had at a conference in a long time.
Thursday, August 28, 2008
SW3D Bone Animations from Lightwave

In particular, I disagree with something that seems to be conventional wisdom about Lightwave export to Shockwave3D. You can have more than one weight map influence a vertex. Before, it was said that each vertex is assigned 100% to a single bone, but that's not true - you can spread a vertex's influence over multiple bones and it will work.
The article contains two Lscrpts (scripts for controlling Lightwave) I wrote which help ease the process. There's a "Weight Detail" script which lets you set the weight values of a point (or a set of points) across all your weight maps all at once in one dialog. This is really handy, since Shockwave3D likes all the weight maps to add up to 100%. The other Lscript is "Weight Analysis" which will analyze your model for you and show you all the vertices which don't have 100% weight assigned to them. That way, it's easy to find problem areas in your model before export.
I also mirror Mike Green's "BlurVMaps" script, which is also handy for blurring the weight maps so that they flow naturally over the surface.
Taken together, these Lscripts really make preparing models in Lightwave for Shockwave3D export a lot easier.
Wednesday, November 14, 2007
New Article on Additive Blending Effects
Now that Jorge at IsoInteractive has teased out how to use additive blending in Shockwave3D, I figured I'd put up a page in my Shockwave3D Developer's Center (sorry, I've taken the site down - do not use Adobe Director) showing how additive blending techniques can really enhance the look of a Shockwave3D piece.
Here's a screenshot of what the featured effect (called "FireJet") looks like:

Special Effects using Additive and Multiplicative Blending includes a discussion of what additive blending is, and includes exposition, details, and the source code to recreate the above FireJet effect.
It also has a demo that lets you click between several particle textures to see their effects in an additive context, which might give you some ideas for spell effects for your next Director-based RPG game. (Hint, hint!)
Here's a screenshot of what the featured effect (called "FireJet") looks like:

Special Effects using Additive and Multiplicative Blending includes a discussion of what additive blending is, and includes exposition, details, and the source code to recreate the above FireJet effect.
It also has a demo that lets you click between several particle textures to see their effects in an additive context, which might give you some ideas for spell effects for your next Director-based RPG game. (Hint, hint!)
Thursday, November 08, 2007
Shockwave Additive & Subtractive Blending
Oh, happy day! Jorge Rodríguez at isointeractive has figured out how to do Additive and Subtractive Blending in Shockwave.
Tuesday, October 02, 2007
Flash "memory leak" in Director
For our current project, I've been trying to nail down what appeared to be a memory leak in Director with respect to Flash members. It's not technically a "leak," per se, but the end result is the same: memory gets allocated that cannot be de-allocated. After some investigation, here's what is going on.
I was using Flash members to store bitmap graphics for a project which required cartoony characters. These character graphics were 256x512 pixels in size, so I could either use 16k to store a Flash member that contained all the frames for the animation, or I could use 512k per frame of animation to store the bitmaps. No brainer, right?
Well, there's a problem. Apparently, if you use "the posterFrame" property of a Flash member, Director's engine will become unable to unload it. My guess is that this is because it is flagged as "changed" in the same way that a bitmap cast member cannot be unloaded after you change its image using its image property. I suppose this makes sense, because the posterFrame set would be lost if the member was unloaded.
So, basically, we have a situation where, if we store graphics in a Flash member and extract them via the posterFrame property, you can never unload them.
What to do? As with most things in Director, there is a workaround. Since the Flash member can never be unloaded when you set its posterframe, the trick is to not set its posterframe, but instead set the posterframe of a duplicate. Make a copy of the Flash member, yank the posterframes from that, and then erase it. The original Flash member can remain unloaded in this case, and the member which cannot be unloaded is instead erased. Here's the code:
I was using Flash members to store bitmap graphics for a project which required cartoony characters. These character graphics were 256x512 pixels in size, so I could either use 16k to store a Flash member that contained all the frames for the animation, or I could use 512k per frame of animation to store the bitmaps. No brainer, right?
Well, there's a problem. Apparently, if you use "the posterFrame" property of a Flash member, Director's engine will become unable to unload it. My guess is that this is because it is flagged as "changed" in the same way that a bitmap cast member cannot be unloaded after you change its image using its image property. I suppose this makes sense, because the posterFrame set would be lost if the member was unloaded.
So, basically, we have a situation where, if we store graphics in a Flash member and extract them via the posterFrame property, you can never unload them.
What to do? As with most things in Director, there is a workaround. Since the Flash member can never be unloaded when you set its posterframe, the trick is to not set its posterframe, but instead set the posterframe of a duplicate. Make a copy of the Flash member, yank the posterframes from that, and then erase it. The original Flash member can remain unloaded in this case, and the member which cannot be unloaded is instead erased. Here's the code:
on getFlashImage theMember, thePosterFrame
-- We can accept either a literal member reference, a string, or a number.
if (theMember.ilk = #member) then m = theMember
else m = member(theMember)
-- Duplicate the member, and set its posterframe
theTempMember = member(m.duplicate(), m.castlibnum)
theTempMember.posterframe = thePosterFrame
-- Grab the image
i = theTempMember.image.duplicate()
-- Erase the temporary member
theTempMember.erase()
-- Unload the original member
m.unload()
-- Return the image
return i
end getFlashImage
Thursday, June 28, 2007
Bug Fix in the Code Thumbnailer
It came to my attention that there was a bug in the Code Thumbnailer code that was up on my Shockwave 3D Developer's Guide page. It doubled-up the type names on the thumbnails, instead of showing it once, and then including the rest of the member name.
Anyway, it's been fixed on the thumbnailer page. The updated version will also be included in the next release of the MVC Framework which I'm working on.
Anyway, it's been fixed on the thumbnailer page. The updated version will also be included in the next release of the MVC Framework which I'm working on.
Wednesday, June 13, 2007
Introduction to 3D Game Scripting
I've added a twenty-three-page tutorial to my Shockwave3D Developer's Guide page called Introduction to 3D Game Scripting.
It takes the new or novice Lightwave user through the process of exporting Lightwave content to Shockwave3D format for use in Director, and using my Model-View-Controller Framework (below) to begin adding interactivity to 3D scenes.
This document was uploaded in preparation for my presentation on the development of Science Pirates at the ACE/NETC "Double Creature Feature" Conference we're hosting in Albuquerque this coming weekend. If you'd like to learn more about developing Shockwave3D games - or any other aspect of communications from web to print to video (see the massive list of sessions) - it's not too late to register and attend!

This document was uploaded in preparation for my presentation on the development of Science Pirates at the ACE/NETC "Double Creature Feature" Conference we're hosting in Albuquerque this coming weekend. If you'd like to learn more about developing Shockwave3D games - or any other aspect of communications from web to print to video (see the massive list of sessions) - it's not too late to register and attend!
Tuesday, June 12, 2007
Introduction to Low-Polygon Game Asset Texturing
I've added a fifteen-page tutorial to my Shockwave3D Developer's Guide page called Introduction to Low-Polygon Game Asset Texturing.
It takes the new or novice Lightwave user through the process of texturing 3D geometry, with a particular emphasis on UV mapping objects for 3D games built with Shockwave3D. You do not need to have Director to follow along with the tutorial, but you do need Lightwave.
This document was uploaded in preparation for my presentation on the development of Science Pirates at the ACE/NETC "Double Creature Feature" Conference we're hosting in Albuquerque this coming weekend. If you'd like to learn more about developing Shockwave3D games - or any other aspect of communications from web to print to video (see the massive list of sessions) - it's not too late to register and attend!

This document was uploaded in preparation for my presentation on the development of Science Pirates at the ACE/NETC "Double Creature Feature" Conference we're hosting in Albuquerque this coming weekend. If you'd like to learn more about developing Shockwave3D games - or any other aspect of communications from web to print to video (see the massive list of sessions) - it's not too late to register and attend!
Friday, June 08, 2007
Introduction to Low-Polygon 3D Modeling for Games
I've added a twelve-page tutorial to my Shockwave3D Developer's Guide page called Introduction to Low-Polygon 3D Modeling for Games.
It takes the new or novice Lightwave user through the process of creating 3D geometry, with a particular emphasis on creating objects for 3D games built with Shockwave3D. You do not need to have Director to follow along with the tutorial, but you do need Lightwave.
This document was uploaded in preparation for my presentation on the development of Science Pirates at the ACE/NETC "Double Creature Feature" Conference we're hosting in Albuquerque next weekend. If you'd like to learn more about developing Shockwave3D games - or any other aspect of communications from web to print to video (see the massive list of sessions) - it's not too late to register and attend.

This document was uploaded in preparation for my presentation on the development of Science Pirates at the ACE/NETC "Double Creature Feature" Conference we're hosting in Albuquerque next weekend. If you'd like to learn more about developing Shockwave3D games - or any other aspect of communications from web to print to video (see the massive list of sessions) - it's not too late to register and attend.
Subscribe to:
Posts (Atom)