Go: A beta tester’s first go-round

September 21st, 2007 mosesoak

{What is Go? Please see the introduction, a few posts back.}Well this is inspiring: Apprarently Go is not just a concept but you actually can do stuff with it. This came in a few days ago from a Go beta tester (and good buddy of mine) Steve Schieberl:

cooooool. i'm basically building my own version of tweener without doing a lick of math. but one that runs really fast and works with filters. yeah, this is dope. i get it now. it's not in competition with tweener, but is something that tweener should be implementing.mine just does alpha and blur right now, because i need those for this project, but i definitely want to develop this out. note that tweener still doesn't support filter tweens, and i just built one using go in like 15 minutes. very cool. it's just like the ultimate number cruncher.the thing i'm making is more like the tweener syntax, except that i just have *everything* inside a single object that you pass as an argument. it's also a static class. so you just do this:
TweenGo.tween({target:my_mc,
    blur:[20, 20, BitmapFilterQuality.LOW],
    alpha:0, duration:1.5,
    onComplete:function():void {
          removeChild(my_mc);
    }});

this code makes things blur/fade out. once this is finished, it will be reeeaaaally easy to right a visualizer that looks really cool.thanks,steve

I'm really pleased that Steve seems to have nailed the purpose and concept beyond just being able to use Go to write something useful.I should be quick to point out that the syntax example he shows is not a standard Go syntax. Go doesn't have one! Read the rest of this entry »

Go, and why AS3 needs it

September 20th, 2007 mosesoak

{What is Go? Please see the post just before this one for an introduction.}

go-temp-logo.pngIn March of 2006 I talked to Sho Kuwamoto to discuss my idea of a system that could be shared between Flex and the upcoming release of Flash 9. I was too late: Adobe was just then announcing the release of Flex Beta2, sporting a robust animation system of its own. (Generously, Sho said he wished I'd approached him 6 months prior.) Later a proposal by a certain Mr. Skinner and myself was turned down after Adobe hired Robert Penner. My plea for Unification fell by the wayside, although that was for the best. Robert is the right man for that job and, like everyone out there across the board, I have the utmost respect for him. His copy/paste Motion package is a really elegant upgrade to Flash's capabilities.

Adobe has in fact produced quite a number of excellent animation libraries, including the whopping Effects system shipped with Flex, that really couldn't make application transitions any easier. In many ways it's a dream, and whatever developers still lack they can find in 3rd-party kit solutions. My own such kit, Fuse (for AS2) gained wide adoption including many top agencies, and now a similar kit called Tweener for AS3 is being developed by one of the early scripted-animation proponents, Zeh Fernando. And all along, Alex Uhlmann's excellent and fully object-oriented Animation Package has set a strong standard. (Alex is currently kicking Flex Effects up a few notches, to great – well, effect.)

But in the midst of all of this activity, there's an underlying issue that has been troubling me. Read the rest of this entry »

Introducing the Go animation system

September 18th, 2007 mosesoak

I have an idea cooking, now in private beta, called Go. I will be posting shortly with some background information on what led me to this approach, but right away let me share the concept and architecture with you.

  • Go is a lightweight – around 4k – portable set of base classes for creating your own AS3 animation tools.

  • Go provides an agile, purposeful architecture that is highly extensible.

  • Go is not a does-it-all Kit (a la Fuse), but such a kit can be built using Go. If Fuse was a vending machine, this is more like a knife and a pan and a way to cook for yourself.

  • Go does not require special syntax to use. You can instead, design your own.

  • Go's engine is efficient, capable of processing a jaw-dropping 10-20,000 individual animations on a typical system. (Disclaimer: it remains to be seen how Go will perform in a real-world setting.)

  • Go is designed to encourage developers to use tweening, physics and 3D together.

  • Go is inspired by the popular Cairngorm framework in its approach. That tiny set of classes does so much, truly useful without dictating your code.

Go is not a kit solution like Fuse or Tweener, it is an architecture and a set of base classes that in fact do nothing by themselves. If you're a solid AS3 coder and this project fits your interests, feel free to email me directly to apply for the private beta (some very light screening will follow; if you don't get in now don't worry, we'll be opening the beta up very soon).

Go architecture (subject to change)
go_architecture_thumb.gif
go_architecture.pdf