By: Derek Yu

On: June 5th, 2009


Adam “Atomic” Saltsman’s Flash game API flixel is out. It’s a vastly-improved version of the engine he used to create his popular web games Gravity Hook and FATHOM.


– High performance 2d Flash rendering
– Lots of retro game physics and effects built-in
– Easy to learn, uses no Flash libraries or Flash classes
– Object-oriented Actionscript 3
– Includes the source code for a complete game
– Forums to help collect tutorials and whatnot

And the online documentation is generated dynamically by Ivan “toastie” Safrin’s Nanodoc system.

Ladies and gentlemen, the world just became a better place to make games exist in.

  • raiten

    Awesome, best reason to move to AS3 yet.

  • Skofo

    Even though I have a personal agenda against Flash, I have to admit that that is quite kickass. It looks really easy to make games with this. If only this was out when I was dabbling with Flash; it’d save me a lot of pulled hair…

  • http://lumberingdream.com/ !CE-9

    transformation time again? it quite possibly is.

  • bateleur

    *flixel is not intended to be used with the Flash IDE, since it is a pure Actionscript library*

    Not “intended” perhaps, but it will work just fine.

  • http://0xdeadc0de.org Eclipse

    so is it for flex? cool, i’ve already my little flash engine that’s quite fast and all, but nice to see new interesting libraries that aren’t for that sucky Flash IDE

  • Corpus

    You have a plethora of personal agendas, Skofo.

    Can’t wait to try this out! June 18th is my day of freedom, and I will be all over flixel.

  • Juan Sierra

    WOW! After years of trying to find the perfect AS3 game engine, it’s here. I knew it was possible

  • http://www.g4g.it Firesword


  • Paul Eres

    will definitely try this out, thanks adam

  • http://attractmo.de Adam Robezzoli

    It’s time to return to Flash. I’m really excited about this.

  • raigan

    This is really awesome!

    But.. I’m having a hard time figuring out some stuff, for example in the FlxBlock constructor:

    Empties: uint
    The number of “empty” tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1


  • Zaphos

    It should say “The number of “empty” tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes)” … (if you check the as file you can see, I guess the html creator thing truncated at the slash)

  • namuol


    Documentation is sexy but sparse… I’ll have to check out the forums once I get out of work.

  • moi

    Nice, but nanodoc is not extraordinarly helpful dawg.

  • Zaphos

    Also, I forgot to say I’m really looking forward to trying this!

    Hopefully more tutorials / samples will come out as more people start using it :)

  • toastie

    I’ll make some updates to nanodoc in the next couple of days and add search and stuff to it and fix the weird truncation problems.

  • raigan

    @Zaphos: my main issue is “wtf is ‘the auto-fill algorithm’?!”

    I’m hoping there’s some easy way to extend the collision/tile stuff to support arbitrary-shaped tiles.

    At any rate it’s great to see a good example of a non-movieclip-based (i.e direct blitting) graphics system like this.

    One tiny nit-pick about the news post above: “Easy to learn, uses no Flash libraries or Flash classes”

    The former may be true (i.e no need for mx.* or whatever), but the latter is wrong.. you can’t avoid depending on the flash.* classes, that’s the runtime that _everything_ depends on!

    I really really like how simple and straightforward everything is. For instance, using a .visible flag in sprites and doing “if(!visible)return;” inside the render() method, rather than relying on a complex bookkeeping system (i.e an explicit list of visible sprites is tracked and only those sprites have their render method called). It’s just so nice and simple!

    It’s also great to see that Flash is finally fast enough to handle thousands of empty/trivial function calls without the function call overhead becoming an impediment.. hooray!!

  • Melly

    Trying to look into this, but I have no experience with using external frameworks in Flash, so it’s being a bit difficult. The forums offer little help at this point besides showing how to compile the demo.

    Still, I’m awfully interested.

  • Sparky

    Adam, this is looking pretty sexy. I think having a stable of demo games already out will really help convert people.

  • http://www.adamatomic.com/ Adam Atomic

    Raigan – yea flash 10 especially has a pretty efficient CPU process. In my experiments the major bottleneck for Flash performance is their vector renderer, it probably consumes 90%+ of CPU for most games. Flixel’s performance is derived mainly from opting out of the vector renderer whenever possible. However, I even opt out of many small or empty functions by doing the check for visibility (and other similar state variables) at the game loop level, so it won’t even call render() if you have visible toggled.

    Melly – yea I just don’t have time to put together that sort of stuff myself, I am somewhat selfishly hoping that I can trade my free-code karma for some help from the community with the tutorials :) I think that in the coming weeks our support materials are going to improve a lot.

    Sparky – thanks! yeah that’s why I have links out to Gravity Hook, FATHOM and mode from the home page. I have a couple other games I built with it but they’re not AS impressive. I’m hoping to eventually have little screenshots from like 20 games on that front page!

  • http://www.adamatomic.com/ Adam Atomic

    Starting to accrue some tutorials!


    Also one major bugfix :)