New tutorial on creating object pools in AS3

I just uploaded a new tutorial that shows you how to create and use object pools in AS3. In the example I am using Starling but the concepts carry over to any other framework or just the traditional display list. This concept is vital to get good performance for your games on mobile.


GreenSock tweening comes to JavaScript

Great news for those who are looking to get into JS animation. GreenSock, the creator of excellent libraries like TweenLite and TweenMax, has just released their new animation platform and it includes support for both Flash and HTML5. By the looks of the API, it makes animating DOM elements and CSS properties a breeze and the performance looks amazing!


Flash Player 11.3 fullscreen keyboard input

One of the greatest features in Flash Player 11.3 is the ability to accept full keyboard input while in fullscreen mode. This is really important for fullscreen games that need chat or other keyboard input. You can implement this feature very easily by using the FULL_SCREEN_INTERACTIVE mode. See below for the ActionScript code:

1
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

Much like regular fullscreen mode, you need to add a parameter to your HTML code. See the code below:

1
<param name="allowFullScreenInteractive" value="true" />

When your application goes fullscreen, the user will be presented with an overlay at the top of the screen telling them that they are in fullscreen. They need to click the Allow button in order to be able to accept keyboard input. See the overlay below.

You can see a working demo of this new fullscreen mode here. Just be sure to have Flash Player 11.3 installed from Adobe Labs.


An unofficial premium feature FAQ

I thought it would be useful to address some of the questions and concerns that I have been hearing over the last couple of days surrounding premium features.

So you’re charging people to make Flash games now?
No not at all. It is only the combined use of the domain memory opcodes in conjunction with Stage3D GPU that is subjected to the license. Tools that produce console-quality 3D games like Unity use this technology combination, so in that case, you would need a license. Rovio on the other hand, wouldn’t have needed a license to deliver the awesome Stage3D version of Angry Birds to Facebook as they don’t use the domain memory opcodes.

Why would anyone want to pay 30% to Apple and then another 9% to Adobe?
Nobody would do that, myself included. That is why none of this applies to creating AIR applications for the desktop or for mobile app stores. Use the Alchemy opcodes in conjunction with Stage3D as much as you want in AIR, license-free.

Do I need to pay to get the license to use the premium features?
No you don’t pay anything to get the license and it will enable you deploy content using the opcodes and Stage3D GPU to the release Flash Player. If your game is using this combination and it generates revenue over $50,000 then the 9% revenue share would kick in.

Let’s say my game generates over $50,000, will Adobe take 9% of that first $50,000?
No the 9% only applies to what you make after that.

So basically I have to pay Adobe to make my game not slow?
Again that is totally false. It is only the combined use of the domain memory APIs with Stage3D GPU that falls under the license. My question to you would be, can you not make a super high-performance game using Stage3D? Angry Birds uses Starling and Stage3D and does not use opcodes at all. In fact the overwhelming majority of games will never need this.

If I’m building a game for a client that uses the opcodes and Stage3D GPU will I have to transfer my license to them upon completion?
In this case you the developer would not need a license because everything will work as expected in the debug player. It is only the compilation to the release player that will require the license.

What happens if I don’t get a license but still use this combination in my game?
In the debug player everything will work fine but there will be a watermark letting you know that you’re using it. In the release player everything will work except you will be running Stage3D in software mode rather than on the GPU.

Is there an easy way to tell if a game is using premium features?
My colleague Renaun Erickson has a great post on how to do that.

Isn’t this what the open-source and standards communities have been warning us about?
If the concern is that Flash is controlled by a single company, then yes that is true. In my opinion that is also the reason Flash has been so incredibly successful. With that being said, we are making huge contributions to web standards and browser technology. A lot of these things will help the future of HTML5 gaming as well. But putting aside ideology for a moment, if you want to build the best game possible and put it in front of the most people possible then Flash is the best technology by far and it is only going to get better!

What if I use a library in my Stage3D GPU game that uses the domain memory opcodes?
Then you would need a license. The fact that it is a separate library does not exempt you. But let’s take Box2D for example. There is both a pure AS3 and an Alchemy version. In many developer’s tests, including Rovio’s when they were building Angry Birds, they find the AS3 version to be equivalent or even faster than the Alchemy version in many cases. What’s my point? Don’t assume you will need to use the domain memory opcodes. It is primarily for the console-quality games that come out of Unity and in the building of things like the Unreal Tournament 3 demo from Epic.

You guys suck at PR!
The Flash Player on mobile and the open-sourcing of Flex were not handled well at all and we have made some significant changes to improve on those failures. I personally think this announcement was made very well, despite what you may think of the actual content. We had lots of detailed information available from the start and have been very straight-forward. But I’m on the inside looking out :) .


Quick comments about Unity and premium features

I’m sitting at the Seattle airport at the moment but I just wanted to clarify a couple of things about the announcements we made last night. Firstly we announced that we now have a partnership in place with Unity. Our teams working together will make their Flash export feature even better in the future. Big shout out to Ralph and the Unity for their awesome work on it!

The second thing we announced is a new premium feature model for the desktop browser runtime. This model is there to allow Adobe to make revenue from large, web-based Flash games like the ones that we expect to come out of Unity and other tools. Building a real game platform means that we have to be able to make revenue to fund its development. When talking with game companies at GDC, most prefer this model because they are much more confident about deploying to a platform that we are actively making money from.

So in a nutshell this is what the premium features mean. If you create a game that uses Stage3D GPU AND uses the Alchemy opcodes then you will need to get a license key from Adobe. Then if your game makes over $50,000 in revenue, your game will subject to a 9% revenue share that you will pay to Adobe. This does not apply at all to Adobe AIR. So you can use Stage3D and the opcodes as much as you want with no license. I have seen a lot of chatter online basically saying that people will have to pay a cut to Adobe in addition to the cut Apple and Google take. This is completely false. There is NO licensing needed when deploying to mobile.

I know there are a tons of edge cases here surrounding the use of the opcodes and I will be writing more in-depth about them very soon. Read through the two links below to get more details.

Premium features overview
Premium features FAQ


1 - 5 of 734 Prev 5Next 5