Developing for Stage 3D in Flash

Developing for Stage 3D in Flash

If you’re like me and not a Flash developer you may ask what all the fuss is about. Why bother? What’s the Flash 11 difference? So I sat down with our own Reading Tech Alliance to gnaw on some egg-rolls and get the skinny on Flash 11 and what it was like developing for it during the wild early days of its pre-release.

Turns out that Flash player 11 (codename: Molehill) has a ton of buzz around it because of all the potential it unlocks for developers. For the first time it allows developers access to low level APIs for dealing with graphics. Essentially, Flash can now utilize a device’s GPU (graphics card) for more advanced 3D environments granting way more intricate and exciting Flash based experiences. To summarize to laymen like me, it’s raising Flash games up in complexity from say “Angry Birds” to “Battlefield 3”. Wow!... right? With such a monumental advancement available, our development team felt that the gaming floodgates for Flash are about to bust wide open and they wanted to be one the first development teams to ride the wave.

To add a layer of urgency Jason Morris, our in house Tech Nostradamus, predicts that when Unity3Dreleases their exporter for Flash Player a swarm of games will be released for Flash 11 so it was, is and will continue to be important to get in on the ground level because there is a butt-ton of growth potential.

Being pioneers with Flash 11 came with its fair share of challenges. Flash Player 11 is released, but is still being amended. Additionally, Adobe hasn’t yet updated their Flash Professional software to compile to Flash Player 11. They’ve only released the open source SDK (software development kit) that developers can get and rig into their own workflow & workspace to work with other code editors. So simply finding a compatible engine to use with Flash 11 was an immediate hurdle.

The new version of Flare3D (still in beta) was selected as the 3D framework of choice. Flare3D works very well with 3D Studio Max to get 3D models into Flash. Unfortunately, we’ve been focusing on other 3D applications like Cinema 4D and Soft Image that it’s been years since anyone in-house worked with 3D Studio Max. So, the resolution to the first challenge quickly created an additional learning curve wherein our developers needed to reacquaint themselves with that application.

Another blatant obstacle is that there are still limitations to Flash 11. In Unity3D, a game developer could lock the mouse in the center of the screen to facilitate the kind of FPS controls that players are used to. Flash 11 doesn’t yet have this capability so for DeadCoats it was necessary to get creative with how to work around that. The basics and the groundwork for Flash 11 have been well established, but it’s clear that the team at Adobe is still working on building the frameworks on top of that ground work. So part of our challenge was the Flash Player pieces themselves and the fact that the engines weren’t (and still aren’t) quite ready for Primetime. So the boys had to identify all of those limitations and determine how to build to overcome them in order to reach the same kind of game quality that they (and a player) would desire.

What’s very cool about Adobe is how it advances its product set based off of direct feedback from its fellowship. Their style is to offer a pre-release version of a new offering and then gather feedback from the Adobe community of developers and users to determine what the final state of their products should be. They listen to feedback and use it to continually upgrade.

Since we’re trail blazing, there is a general lack of examples out there. So working with Flash 11 requires a lot of R&D and a lot of trial and error to figure out what will work best. Since it’s so new, there is also a lack of documentation so we’re kind of writing the rules as we go.

“The goal for our team was to be on the forefront of the initiative to make Flash Player 11 the gaming console of the web.” stated Shane Hoffa, one of our Flash virtuosos. “We make ourselves Flash leaders - not followers by experimenting with the latest and greatest and then sharing our experience with the latest technology with the community.”

Look forward to future posts that will be tutorials on working with Stage 3D and Flash 11. For a good time, check out how the experiment turned-out by visiting: