Flash 8: Webcam Snowstorm

I’ve been playing a lot with Flash 8’s bitmap features in conjunction with webcams, and will be releasing a few of the resultant experiments over the next week or so. The first of them is pretty simple, though it took some tweaking to get right.

This experiment simulates a snowfall with 400 snowflakes on screen, each with random size, rotation, speed and blur (using BlurFilter). Each of them is independently affected by wind (as partially controlled by your cursor’s x position). That Flash can run it all fluidly is impressive in itself, but of course there’s more. It’s also monitoring the webcam input, detecting edges, and making the snowflakes settle gently on any horizontal surface they encounter – pretty cool.

Continue reading →

Flash 8: Shape Based Collision Detection

Most of the Flash 8 demos released so far using BitmapData have been purely visual, so I thought I should release one of my experiments that focuses on function.

One of the things that Flashers have wanted for years is shape based hit detection – that is, the ability to detect if one shape intersects with another shape. The best we’ve been able to do so far is test a single point against a clip’s shape, which obviously isn’t that great for games with complex interactions.

Flash 8 changes all of that. Unfortunately, it doesn’t give you an easy method to do it (mc.hitTestShape(mc2) would be nice), but it does give you all the tools you need to make it work. In the simple demo below (requires Flash Player 8r50, earlier versions will show whacky graphic artifacts), you can see shape based hit detection at work.

Continue reading →

gProject Panel is Now Available!

We’ve got the panel packaged, the documentation finished, and the reseller system in place. I guess that means we are officially open for business with the gProject panel. Check out the gProject product page for information and pricing.

The gProject panel is a robust replacement for the (rather anaemic) project panel built into Flash MX 2004 and Flash 8 Professional. It incorporates a myriad of time-saving features in a tight, easy to use package.

Continue reading →

Flash 8: Alpha Masks With Blendmodes

One of the things I’ve wanted for years in Flash was alpha masks. That is, masks that have gradations in transparency, not just boolean visible / not visible as with masks in Flash 7. Now with Flash 8 we finally have them… sort of.

Flash 8 doesn’t have actual alpha masks per se, but it does have a blend mode called “alpha” which emulates them. You can place a clip with a blend mode of “alpha” into another clip with a blend mode of “layer”, and the parent clip will use the alpha of the child clip for compositing. This gives you the visual effect of a alpha mask (even if it really isn’t one). It also has a blendmode called “erase” that is basically the opposite of alpha – more opaque areas on the child clip are less opaque on the parent (ie. the child “erases” the parent).

Continue reading →

Flash 8: Seafoam

Here’s an experiment I built for Flash Player 8 with my crystallization logic. It utilizes a custom bitmap caching routine to allow a larger canvas, and much higher level of graphical complexity than my previous crystallization experiments. One of the things I find interesting about this piece (which is actually true of a fair number of the pieces I’ll be posting), is that it uses vector graphics and even timeline animations to draw the base graphics, but you never actually see the vectors. The vectors are basically drawn in a hidden clip, then blitted onto bitmaps (with effects applied) without ever being rendered to screen directly.

Continue reading →

Flash 8: Thoughts and Experiments

I’m sure everyone has heard the news about the official announcement of Flash 8. It looks like it’s going to be an awesome release, with a real focus on expressiveness (aka designer features), but still lots of goodies for developers. I’m really happy about the visual boost it will give to both my personal experiments and professional work, as well as the performance increases, and even just the name change (Macromedia Flash MX 2004 Professional was a little lengthy). I haven’t had this much fun with Flash since about Flash 5 (when they finally added the ability to type in AS code).

We’re planning on making gBlog the place to come for Flash 8 content, with articles and tutorials on many of the new features planned for shortly after release. I’ll also be giving a talk on all of the new features at MAX in October, and running a workshops on it shortly thereafter (currently planned for Edmonton, Toronto and possible New York and LA). I’ll also be releasing some of the experiments and code that I’ve been playing around with in Flash Player 8 over the next few weeks, starting with flowerGarden today.

Continue reading →

gProject panel documentation posted.

gProject panel is now available!

gProject is almost ready, we’re just packaging it all up, and getting prepared to process sales (nothing fancy, just Paypal for the time being – but I think I’m the only person on the planet that has never used Paypal before). I think I’ll just say we’ll have it available by Monday, and that way if we release it earlier I’m doing good. 😀

In the interim, we’ve finished up the first draft of the documentation, and are making it publicly available so that developers can get a good overview of what the panel does before they purchase it. Click here to view the gProject documentation. Please comment below if you don’t understand any of the features – we want to make it as clear as possible.

Update: If the rumors are correct about 8/8/8 (Flash 8 announcements on August 8), then we might wait until Tuesday or Wednesday to do an official release, otherwise we’ll be drowned by MM.

Before anyone asks, gProject will be updated as necessary for the next version of Flash.

MAX is Grant Skinner.

I’m happy to announce that I will be speaking at Macromedia MAX in Anaheim this year on “What’s New in Next Generation Flash”. The session description is:

In this one-hour session we will thoroughly review the biggest release of Flash in the history of the platform. We’ll talk about how to best apply the new graphical expressiveness features both visually and via code. We’ll discuss the long list of new video features, including encoding and delivering video. Finally, we’ll explore details of all of the other new features in the next generation of Flash.

Sounds like a lot to cover in an hour, eh? I’ll try my best to do it justice.

I’m also very honored to be part of the MAX marketing campaign. I’ve appended the mailing that went out this morning below (note that I had to do some hack-ish resizing to get everything to fit in my blog layout).

Continue reading →