I just uploaded a new tutorial that covers a basic introduction of OOP with JavaScript. I show you how to create separate class files with private, public, and static properties and methods. As you will see, doing object-oriented programming in JavaScript is a lot less elegant than using languages like AS3, C#, and Java, but it can still be very powerful.
Later this month I will be embarking on a small European tour with Mike, Thibault, Deepa, Michael, and Adam. The goal of the tour is to talk with the community about the future direction of Flash and to get you up to speed with the new stuff we are working on.
As part of the tour we will be attending and speaking at FITC Amsterdam. My comrade Tom Krcha and I will be doing a great workshop on building games with Starling. If it sounds like something you would enjoy then go and register. Below are the dates and the registration links for the tour.
I really hope to see you guys at one of these events as we have a lot of important stuff to talk about!
Minko is one of the lesser-known Stage3D frameworks but it is actually one of the most advanced. Developed in France by Aerys, Minko boasts some of the best technology for things like 3D model compression, dynamic lighting effects, and hardware-accelerated animations.
Aerys has just launched a preview level of their first game built using the Minko engine. In Black Sun, you are tasked with killing not only zombies, but Nazi zombies. The game has amazing lighting effects and is only 9MB large because of the compression technology built into Minko. Check it out!
In this quick tip I show you how to finally get rid of Flash’s right-click context menu once and for all! You can now listen to a right-click event and use it for a custom menu or for game play. Exciting stuff!
Update: I just uploaded a new version of this tutorial that is much clearer and understandable. Empty your cache and check it out.
I just uploaded a new tutorial that explains how to use the new mouse lock feature that is included in Flash Player 11.2. This feature allows you to create infinite mouse scrolling while in fullscreen mode, which is essential for things like first-person shooter games.
I just uploaded a new tutorial that shows you how to integrate the Nape physics engine into your Starling projects. This library was recently updated, making it very easy to work with from Starling. Thanks to Dmitriy for his blog post that got me started in making this tutorial.
There are so many great Flash games being developed right now that it is difficult to keep track of them all. I want to put together a list of all of the current AIR-based mobile games and also games being developed with Stage3D. If you aren’t quite done with your game that is OK and I would still love to hear about it. Please pass on this blog post to anyone you know who is working with these technologies.
Adobe is always looking to showcase great games built with Flash and we would love to promote them. Please fill out the form below and thanks!
polldaddy.add( { type: 'iframe', auto: true, domain: '85575.polldaddy.com/s/', id: 'tell-me-about-your-app' } );
I just uploaded a new tutorial that shows you how to get started with the Flare3D engine. Flare3D is one of the most polished and easy-to-use Stage3D frameworks. In the tutorial I import a 3D character and get it move around the world. I plan on doing more tutorials on this engine including how to prepare your 3D models.
O’Reilly has just released a free book on the Starling Framework written by Thibault Imbert. This is essentially an updated and enhanced version of the getting started PDF that he wrote around the time of the release. Here is the abstract:
Starling is an ActionScript 3 2D framework developed on top of the Stage3D APIs (available on desktop in Flash Player 11 and Adobe AIR 3). Starling is mainly designed for game development, but could be used for many other use cases. Starling makes it possible to write fast GPU accelerated applications without having to touch the low-level Stage3D APIs.
Most Flash developers want to be able to leverage GPU acceleration (through Stage3D) without the need to write such higher-level frameworks and dig into the low-level Stage3D APIs. Starling is completely designed after the Flash Player APIs and abstracts the complexity of Stage3D (Molehill) and allows easy and intuitive programming for everyone.
Thanks to Thibault for creating a great beginner resource for Starling! You can also check out my video tutorial on Starling over on gotoAndLearn.
I just uploaded the second tutorial in the series. In this one I show you how to create an object-oriented state machine that you can use for your game object’s AI. This is a long one at 37 minutes but hopefully it will be easy to follow. Check out this, this, and this for more information about state machines in Flash.
In this quick tip I show you how to create and use snippets using the Flash Builder code templates feature. Many people don’t realize that this functionality is in there because it is somewhat hidden in the preferences panel.
I just uploaded a new tutorial that explains the basics of using a finite state machine to control the flow of your game or application. This sounds like a scary topic but it is actually pretty simple to implement. In part 2 I will show you how to take a cleaner, more object-oriented approach.
Update: I am happy to report that Daniel has now updated the particle extension with a complete event. See my much-simplified code directly below. Thanks Daniel!
1In this quick tip I show how to track and clean up Starling particle effects. There will hopefully be some built-in support for this soon but for now this is how I’m handling it. I prefer to not update the framework itself but that could be another approach. I also included the code below the video.
With 2012 now upon us, I thought I would jot down some advice for interactive designers and developers who are looking to have a happy and productive year. Now I’m not going to go all Tony Robbins on you, but I can guarantee you happiness, wealth, and a better-looking smile if you follow my simple plan.
Focus on the positives
With all the changes that are happening in our industry it is easy to get into a negative mindset. A good example of this is how many people have reacted to the increased importance of JavaScript in interactive work. It’s easy to just focus on how inelegant OOP is in comparison to languages like AS3, C#, and Java. Instead I recommend focusing on the positives of developing with JavaScript, such as not having to compile anything and the creative uses of loose typing and closures that can be accomplished with the language. The Internet is filled with negativity, so set yourself apart in 2012 by rising above it.
Don’t think in extremes
It is absolutely true that you can now do really cool interactive work with JavaScript and it should definitely be a part of your skillset. This does not mean however that you need to abandon everything you’ve been doing and become a fulltime JS developer. Flash is still vastly superior for a lot of situations and this shows no signs of slowing down in 2012. My suggestion is to learn how to do interactive work with JS/HTML5 to complement your Flash skills. This will allow you to make much more educated decisions about when to use the right technology and will also make you much more attractive to potential clients and employers.
Rebrand yourself
The days of calling yourself a Flash developer are over. This was fine when Flash was the only interactive game in town. Instead I recommend that you adopt a title that is technology agnostic. Personally I like the term interactive developer. If most of the work you do is with Flash, then you would be an interactive developer who specializes in Flash. This is a small distinction but an important one.
Don’t give up on the community
Our community has had a rough time of it over the last couple of years. People now fear that they will have to attend JavaScript and HTML conferences and that the good old days are gone. This is not the case at all. Just like my last point, I think we need to rebrand ourselves as the interactive development community. We do the best interactive work in the world, period. I want to continue to go to conferences like FOTB and FITC and hear from the best interactive developers in the business. For instance, if I go to a session about interactive HTML5 development then I want to hear it from guys like Grant and Keith. We are the experts in this stuff, regardless of the underlying technology that is being used. I really want 2012 to be the year where we regroup and solidify our community again.
Place less emphasis on languages
What are the skills that make us valuable to clients and employers? I think the real value comes from knowing how to create compelling interactive experiences. This includes the intricacies of how to properly animate things in a way that evokes the right emotion and feel. These are skills that we have all hashed out and learned together over the last decade and they transcend any particular language or platform.
Separate love from business
I love Flash. I will always love Flash. It has given me an amazing career, takes me around the world, and being involved in the community has given me an amazing group of friends. With that being said, I realize that love is, by its very nature, irrational. So you need to be really careful about letting that love cloud your judgment in the real world. Just because you prefer working with a certain technology, that doesn’t mean that it is always the right choice for a project.
Get some exercise
Staying slumped over your computer all day and night might have some short-term advantages, but in the long run it will hamper you. One of the best ways to blow off steam and help you to think clearly is to get regular exercise. I actually think that this is just as important as learning a new technical skill. With a clear head you will be able to deal with the ups and downs of this industry with ease.
All right, I’m done passing out unsolicited advice for now. I’m only telling you these things because I think they are really important. Let’s destroy it in 2012!
I just uploaded a new tutorial that shows you how to use the EaselJS framework that is being developed by Grant Skinner. This framework brings a familiar Flash-like API to the HTML5 canvas element. In the tutorial I show you how to do simple animation and dynamic drawing.
I am really excited to see the community creating some great native extensions for Adobe AIR. Even better is that some of these developers are charging for their extensions. I would love to see this turn into a profitable option for experienced developers. Milkman Games have created a couple of nice extensions like an AdMob extension for Android and now an iOS Game Center extension.
The new Game Center extension sells for $69.99, and comes with full documentation, quick start guide, sample app, and one year of e-mail support.
Below you can view my presentation from Buenos Aires that I finished only a few minutes ago. It contains a lot of information about the things we talked about MAX and also includes a Q/A session about the recent events surrounding Flash and HTML5.
You may or may not have heard the news that came out today about how we will be stopping further work on the version of the Flash Player that runs inside of mobile browsers. Our VP of Interactive Development, Danny Winokur, posted the announcement over on the Adobe blog earlier today.
So the big question I’m sure you have is, why did we do this? The decision reflects the reality that the kind of highly-interactive content people build with Flash, games being a great example, are much-better suited to run as mobile apps. Also there is the fact that Flash is not nearly as ubiquitous on mobile browsers as it is on the desktop. Because of these things we have decided to focus all our efforts on taking the AIR runtime to the next level on mobile in addition to new development areas with HTML5 like PhoneGap. No longer having to support the mobile browser version of Flash frees up valuable resources that we can redirect to these more important areas.
Over the last few years I have seen the mobile browser become the place for clean, mobile-optimized HTML sites. Apps are where people go to play games and enjoy interactive content. This is not only true for Flash but also for HTML5. Many are predicting that apps will soon give way to browser-based apps on mobile. I personally don’t see that happening anytime soon. Apps have proven themselves to be great for users and offer clear monetization opportunities for developers.
There is of course lots of inflammatory discussion going on today surrounding this news. I would caution everyone from feeding into this. If you look at this rationally I think you will see that this is actually the right move for Flash.
So basically nothing has really changed for Flash developers, as I’m pretty sure not many people were creating mobile-specific Flash websites anyway. The real challenge moving forward will be to combat the misinformation and confusion that an announcement like this brings. Stay tuned for exciting news about how we plan to take AIR to the next level on mobile to complement the work we’ve already begun for Flash Player 12 for PC browsers.
One of the best parts of the Latin Flash Tour is seeing all of the cool work being done down south. If you are a game developer and are working on something cool, please come find me. I would love to get you some publicity and help promote your games. We leave for Bogotá on Thursday and I can wait to see what you’re working on!