Archive for November, 2007

Flash in Casinos and G2E recap

I returned from Las Vegas a couple of days ago where the company I work for, DigiDeal, was an exhibitor at the biggest casino/gambling convention in the world, G2E (Global Gaming Expo). There were two highlights for me:

1. My parent company, IGT, has a distribution and development agreement with Microsoft for their Surface computing. I got to ‘go behind the curtain’ (literally) and have a personal demo of the multi-touch technology. Oh man is that stuff cool! I truly believe this is going to be something that changes the future. If you’re not sure you agree with me, check out the three video clips here. I can imagine some sweet multi-player Flash games!

2. It was very interesting to me to see just how many of the latest electronic casino games are using Adobe Flash for the front end. It seemed like every third game I checked out was done this way. Once Adobe releases AIR 1.0 and includes Linux support, I expect this number to raise significantly. It is very cool for me to see how many very unique implementations and applications Flash has found its way into. You rock Adobe, just get me AIR on Linux soon  ;o)

Particle System, v0.1

Particle System, v0.1

I have seen many particle systems released on many different blogs. I’ve always thought that they were pretty cool and I’ve thought multiple times about making one myself, but decided not to for the single reason that I didn’t want to be just the next guy to jump on the bandwagon of things that have already been done. But, after seeing Seb Lee-Delisle’s presentation on particle systems at Flash on the Beach ’07, I became a little more interested in doing it. Then, at the end of Robert Hodgin’s extremely cool presentation about processing, he left us with one simple image:

Robert Hodgin's motto

I don’t want to make the same crap that everyone else has been making, but I feel like you need somewhere to start. If a particle system was a good enough starting spot for Hodgin, it is for me to. So, on the plane ride home yesterday, I made my particle system from scratch. I didn’t want to look at anyone else’s code or algorithms, for better or worse, I just wanted to go for it. So, this may or may not be the most efficient way to do it, but here it is:

Particle System, v0.1

demo | source

More work on this to come in the near future…

FotB ’07, Astro (Flash Player 10), & Diesel (Flash CS4)

In-spite of some personal international traveling hiccups, Flash on the Beach 2007 was an incredible conference! I learned something new or was greatly inspired at nearly every session that I attended. I’ll be covering the specifics of these sessions in greater detail in a series of future posts. However, the Adobe keynote done by Richard Galvan deserved its own post, of which I wanted to get out straight away.

Many of the new features that will be in Diesel (Flash CS4) we are already aware of from the announcements at MAX and other various places. These features include H.264 support, multi-core support, a 2.5D feature set, a new and improved text engine, full screen hardware acceleration, programmatic filters (Hydra), etc.

However, there were a couple of features & changes that I either didn’t know existed at all, or else I learned some further details that I previously did not:

  • Typed arrays (vectors)
  • 64-bit support
  • “Mobile convergence”
  • Hydra to use the GPU (if available)
  • New ‘object-based’ tween model
  • IK (Inverse Kinematics) Tweens

Typed arrays. Given that typed arrays are part of the newly proposed ECMAScript4 standard, I had anticipated Adobe would follow suit eventually, but I didn’t think that they were planning on including this in CS4. Given that Adobe just released AS3, I had assumed that they would not modify the language until CS5 in order to give the world a chance to catch up and not have to call code they write this year, “legacy code”, in the very next version. I’m certainly not complaining, however, as I have always believed this is something that should have been part of AS3 in the first place (right along side of the ability to have private constructors and properly implement the singleton pattern).

64-bit support. For obvious reasons, the community has been crying for flash 64-bit support for some time now. I had hoped that CS3 might support it, but am definitely relieved to hear that CS4 “officially” will.

“Mobile convergence.” Although I’m not entirely sure what is implied by this, it sounded to me like they intend to remove the current separation between Flash and Flash Lite. The Nokia N810 was referenced as an example of a mobile device that already supports full fledged Flash. Although there are some obvious negative ramifications of this, mobile hardware advancements are happening so rapidly, I believe this is a step in the right direction and that soon enough, the ram-hog known as Flash should run, for the most part, just fine on most mobile internet browsers. It will certainly be a solution to the great-many web developers that currently do not consider mobile devices when creating their Flash content. I agree with Aral in that, “I don’t think Flash Lite is going away any time soon,” but I do believe its days are officially numbered.

Hydra to use the GPU (if available). I have heard some confusion about whether this is true or not from various blog postings. It was wonderful to hear straight from the horse’s mouth that all filters made in HYDRA will in-fact use the GPU (if one is available). I was fearful that many would-be web developers would start going crazy using all these open source filters that they found online, and our web browsing performance would start to go down the drain. Although this may still be the case for GPU’less systems (such as most mobile devices), it should definitely allow for some powerful filter effects on *most* systems to run quite smoothly.

New ‘object-based’ tween model. Adobe is planning on making their timeline tweening creation system “object-based.” Currently, if you want to create a tween, you create a new keyframe, right click on it, and then choose add motion/shape tween. In Diesel (CS4), you’ll instead place the object that you want tweened on the stage, right click on that object, and then create the motion/shape tween on the object itself. You can then click to any different point on the timeline, manipulate whatever you’d like about the object, and magically, a new tween has been created. The difference is subtle, but since motion tweens will soon be based on the object instead of the timeline, you can do things like manipulate (scale, rotate, etc) the entire tween as its own object or entity, you can use native bezier curves to guide the object’s path, and many other cool features. It sounds like you will still be able to visually see “keyframes” for any particular tween in the timeline, you can even select which keyframes for which property should be displayed. For example, you could choose to view the keyframes that correspond to location only, or to color only, etc… Very cool. Check out this video:

IK (Inverse Kinematic) Tweens. Most of us were already pleasantly surprised at the MAX ’07 announcement that Adobe was going to support Inverse Kinematics (for more information on what it currently takes to do this in Flash, check out Keith Peters excellent book, Foundation Actionscript 3.0 Animation: Making Things Move!). But, FotB ’07 was the first time that they announced native IK tween support! This was so cool that I’ll let the video do the talking:

All in all, it was a great session. Oh, and for historical records, Paul Betlem (senior director of Engineering for the Flash player) pledged the following four commitments regarding future versions of flash:

  • Backward compatibility
  • Fast, efficient distribution
  • Secure experiences
  • Cross platform support (Mac, Windows, & Linux)

Thanks John Davey for organizing such an excellent conference!! Hopefully I’ll get to see you again at FotB’08 (which Davey announced will be Sept 27 – Oct 1, 2008)!

I posted various pictures from the event on flickr which can be seen here.