Thursday, 30 October 2008

The Princess Rescuing Application - a great lecture on game design

If you've got 15 minutes to kill and you want to get inspired, head of over to Lost Garden and download the pdf (or click here) of Danc's awesome presentation about how the principles of game design can be applied to creating usable applications. It's relevant whether you make games or applications, or like many of us, both.

Wednesday, 29 October 2008

Bio-bak, the best Flash website I have ever seen?

I'm not normally into just posting links, but the website I just went to - - is so cool, you gotta see it!

Tuesday, 28 October 2008

Meta4orce nominated for a BAFTA!

When I launched this blog back in August with a post about BLOC's animation / gaming crossover Meta4orce, I had no idea how positive the response would be. Thanks to [draw.logic], PaperVision3D Blog, Flash Bookmarks and Richard Legget my post picked up thousands of views and loads of great comments, including a "congratulations" from PaperVision teamer Ralph Hauwert. I've also had the honour of fielding game-design questions about the project over at Adventures in Primetime and the awesome Brainy Gamer blog.

British Academy of Film and Television Arts

Anyway, I've just found out that Meta4orce is nominated for a children's BAFTA! I'm dead chuffed; this is great news for a project that looked for a while like it would sink without a trace. With competition like Little Loud/Channel 4's Bow Street Runner, and Amanita Design's awesome BBC educational game Questionaut, we have no chance of winning, but just to be nominated is a great feeling. UPDATE - Bow Street Runner won it - well done!

no joy

By the way, don't forget to support my NO JOY? campaign to get joystick support into Flash!

Tuesday, 21 October 2008

The Wrong Door: creating PaperVision3D character animation with the Flash timeline

NOTE: I am now a freelance developer, and no longer an employee of Bloc.

Over at my employers, BLOC, we recently put the finishing touches on a new website to support BBC3's mad comedy show The Wrong Door. The site has lots of silly toys, interactions and animations to amuse you, but I thought the best one to document would be the experimental method I used to get some basic character animation into PaperVision3D.

The animation in question is of a giant robot walking around an asteroid on the site's homepage. My unorthodox approach was to make a side-on animation of the walk cycle using a set of MovieClips on the Flash timeline, then at runtime update the positions of the 3D robot's limbs based on the positions of these MovieClips.

The obvious drawback of this method is that all movement can only happen in 2 dimensions - so the effect will never look as cool as true motion capture and bones - but the advantages are that editing the movement is very easy, and you have a lot of potential for runtime control. This technique was fine for animating a robot, because it's OK if he looks a bit stiff, but for general character animation it's definitely not recommended, so I'm going to keep exploring new ways to bring animation into PaperVision3D. UPDATE! - as Away3D now supports Collada Bones, maybe that's the way to go.

Anyway, these were my steps. I started with one of Eadweard Muybridge's famous motion captures, of an old naked guy:

I used the walk on the bottom row. Based loosely on this movement, by eye I positioned a load of rectangular MovieClips on the timeline, representing the upper arms, lower arms, thighs, shins, torso and head. I used Muybridge's photos to set my keyframes, but also added tweens so that I could alter the speed of movement. It's important to put the rotation/pivot point at the end of the limb or none of the tweens will work. In the halcion days of banner-ads I made monster timeline's like this all the time, so it was a fun bit of nostalgia! (This kind of animation should get a lot easier with Flash CS4 and its native bones and inverse kinematics - but we'll see...)

With the walk animation complete, I then set about another timeline animation, for the robot's path around the asteroid. 3D artist Matt supplied me with a cut-away of the robot's path - I drew around this with the pen tool and set up a motion guide. Oldskool!

With the 2D animation complete, Matt 3D supplied me with the robot's body parts as seperate ActionScript classes, plus the texture bitmap. With these added to the PV3D scene, it was just a matter of updating the positions on the ENTER_FRAME listener. The MovieClip containing the animation is created but never added to the stage - the timeline animations still run, even though it is not rendered by the Flash player. It took a bit of trial and error to work out which 2D dimensions to map to which in 3D space, and I used A LOT of nested containers to simplify this process. Nesting a DisplayObect3D inside another is very useful PV3D feature.

I guess I'm the only person to have attempted this madness - I'd love to hear otherwise though so please leave comments!