by Caleb Johnston
August 17th, 2008
This posting is part 3 of a series. If you find that you’d rather start from the beginning, check out Part 1 and Part 2 first. In this post, I’ll cover Papervision animation, the ASCollada project, render statistics, performance optimization.
Animation
Animation in Papervision3D can be performed the exact same way animation would be performed in 2D. Simply apply any tween or algorithm to an object property (like x, y, rotationX, scaleY, etc) and re-render the scene. But, for imported animations its not quite that simple. Lately Moses’s GoASAP package is being adopted in testing for the Papervision engine. It could soon become adopted by the system.
The Collada DAE Parser
Imported animations come in plenty of flavors but must conform to the same system. That’s the reason the animations package exists. Papervision has long supported externally created 3D assets. You’ll find those file parsers in pv3d.objects.parsers. Although, these importers are nice to have, a big part of Great White was the introduction of the open source project ASCollada. ASCollada is an amazing parser for the standard 3D asset interchange format known as Collada. Collada files are basically very dense XML files that use a .dae file extension. Collada files can be exported from Maya, 3D Studio Max, Blender, Google Sketchup, and XSI. However, level of support for those programs probably follows this order: 3D Studio Max, Maya, Blender, Google Sketchup, XSI. Also, if you’re importing MD2 models, the MD2 file parser will import most animations as well.
Read the rest of this entry »
Posted in AS3, Architecture, Flash, Programming | No Comments »
by Mims Wright
August 8th, 2008


There is a new app on the iphone appStore called “I am rich” which is simply an image of a glowing ruby. The app serves no purpose except to provide a mantra with which to focus your financial energies. The app costs $999. Eight people managed to purchase this app before Apple put the kibosh on it.
More info
Incidentally, I AM RICH because the apple stock just shot up 4+ points.
Posted in Mobile, News | No Comments »
by Mims Wright
July 30th, 2008
- Versatility - Great for tweening animation, yes, but also great for calling functions, disptaching events, playing sounds, controlling MovieClips, and more. Virtually any code can be run at a specific time. In KitchenSync, any event or behaviour that can be sequenced is called an “action“.
- Advanced sequencing - There are several types of action groups designed to meet the real-world sequencing needs of projects.
- Interchangeable groups - Treats all actions, including groups of actions (like sequences), as the same type of object so they can be interchanged. That means you can nest sequences inside of other sequences.
- Video-like controls - All actions, even groups, have the ability to play, pause, stop, reset, play backwards, loop, and jump to a specific time. Calling one of these functions on a group affects all of the items in the group.
- Beyond Penner - All the familiar easing functions are included as well as several original ones like oscillators. An easing utility class has also been added which allows you to create hybrid easing functions.
Read the rest of this entry »
Posted in AS3, Flash, Lab, physics & motion | 4 Comments »
by Caleb Johnston
July 25th, 2008
This is part 2 of a 4 part series outlining 3D in Flash by dissecting the open source Papervision3D library. Before getting deep into features let me first make a few points about using Papervision3D.
The Papervision3d source SVN location includes the standard AS3 version of Papervision3D (version 1.7 as of this writing). If you look at the branches folder inside trunk you will find version 2.0 which is code-named “Great White”. This series is focused on that branch, and NOT version 1.7. Also, its important to know that Great White is probably the fastest and most frequently changing part of the Papervision source and thus details in this article will likely change over time.
Also, as a convention in these posts, I’ll be putting direct references to actual Google Code hosted repository files inside this page. If you don’t wish to open that repository each time you want to know the path of a class, then simply mouse over the link and look at the link address or the tool tip that shows up for the link. All references to Papervision3D classes assume that all uses of the term “pv3d” refer to the root Papervision3D package.
Read the rest of this entry »
Posted in AS3, Architecture, Flash, Programming | 6 Comments »
by Mims Wright
July 21st, 2008

Gamasutra has posted an excellent little article on pitfalls of using Scrum in game development. While most people reading this are not game developers, I feel like there are some very important points covered in this article about Scrum based development in real-world environments. If you use Scrum or are considering it for a new project, take a look at this article before going any further.
Posted in Process | No Comments »
by Caleb Johnston
July 18th, 2008

I have many friends asking me for more information on Papervision 3D. Usually, they’re just genuinely interested in learning about it and also how they can use it. These friends are bright people, but generally unfamiliar with the topic of computer graphics. I’ve consistently directed them to Wikipedia articles that I think will make everything clear to them (in this order):
- Computer Rendering
- Rasterisation
- 3D Projection
- Matrix Multiplication
Unfortunately, I think people are reluctant to read those articles because they’re half written in math formulas. Those formulas are critical for getting a real understanding of what’s going on “under the hood” but I admit they’re annoying to read if you don’t really want to learn the math. And also, those articles won’t mention a single Papervision class file anywhere (naturally). I’m sure this is a little less exciting for someone who’s into 3D in Flash. Therefore, I’m reviewing and dissecting Papervision3D 2.0 (Great White) in a multi-part series for those who are curious about 3D in Flash.
Part 1 will review those Wikipedia articles and relate them to Papervision along the way. If you’re already familiar with computer graphics as a topic of CS, you may wish to skip this post. Parts 2 & 3 will review the details of many features of Papervision3D. Part 4 will be a set of useful notes and tips for anyone who’s not already experienced with Papervision3D.
Read the rest of this entry »
Posted in AS3, Architecture, Flash, Programming | 4 Comments »
by Caleb Johnston
July 9th, 2008
After late-night conversations amongst coworkers and friends over beers, I’ve discovered that many flash developers remain unfamiliar with AVM2’s inter workings. A while ago, I found a couple documents which have benefited me greatly in understanding AVM2 and AS3:
Actionscript 3.0 and Performance Tuning
AVM2 Overview
There are definitely some big take-aways in these two documents. I would list them here, but then you might not read them for yourself! ;)
The first document is 74 powerpoint slides (prepared by Gary Grossman of Adobe) which is very useful for getting a quick understanding of AVM2 topics such as garbage collection, the benefits of strong typing, the Actionscript byte code (abc) format, the code interpreter and JIT compilation. For an AS3 developer this is a must-read.
The second document is a bit more dense. It contains 108 pages of more formally described underpinnings of the virtual machine. It focuses a lot on how your AS3 code will ultimately be run as processor instructions. Its a great follow-up to the first document. If you’re a geek, I would highly recommend reading this overview.
Posted in AIR, AS3, Architecture, Flash, Flex, Programming | 2 Comments »
by Mims Wright
July 8th, 2008
One of the new features in KitchenSync 1.5 is the ability to tween animations on a MovieClip’s timeline… and I’m not just talking about gotoAndPlay(), I’m talking about controlling the starting and stopping points, speed, and easing functions of an animation on the timeline with code. It does this by incrementally controlling the current frame number of the MovieClip using a KSTween and a special ITweenTarget (a class used to control the values of an object) called TimelineController.
Take this FLA animation.

As you can see, there is a simple animation using a guide layer and labels on the key frames.
Read the rest of this entry »
Posted in AIR, AS3, Flash, Flex, Lab, Site-seeing, Tutorial, Videogames, physics & motion | 1 Comment »
by Mims Wright
July 8th, 2008

Odds bodkins! The latest version of what is arguably the best sequencing and tweening system for AS3, KitchenSync, has just been released! I jumped from version 1.2 to 1.5 because this one packed in so many cool features. Features like:
- Improved performance (50% faster!)
- Filter tweens
- Tween MovieClip animations on the timeline
- Use a KSSequenceGroup like a function queue
I’ll be posting some demos over the following days. In the meantime, check it out!
Posted in AS3, Lab, physics & motion | 1 Comment »
by Mims Wright
June 26th, 2008
Like puyo puyo + world of goo + puzzle bobble

TIP: this actually broke Firefox for me but worked in Safari.
Posted in Videogames, physics & motion | No Comments »