I've poked around with this. It's becoming a popular choice for Flash games, although I'm not using it myself. It's not sophisticated or even really that efficient(one object instance per tile? per particle? You can make AS3 go much faster now with Bytearray or Vector based solutions), but it's easy to start with, gives you some basic graphical features, and perhaps most importantly, is a working solution for escaping the Adobe-centric toolchain.
one instance per particle seems inefficient but most computers can handle it, especially if they don't collide, and it gives you a ton of fun flexibility (using an emitter to spawn a flock of enemies, for example, or emitting particles that then emit more particles, etc).
Tiles however are NOT a collection of unique instances, they are blitted relatively efficiently. They do use a single instance of an empty collider to do the actual collision check, but otherwise they're pretty fast.
BUT that's not to say that flixel is not a work-in-progress with a fair number of broken or unoptimized elements :) I have a list of...oh I guess i'm down to about 20 things that have to be fixed or revised before the next big public whatever!
An AS3 to objective-c framework? If that's the case, I love to talk to you a little bit more. LeftRight Studios, based in Pittsburgh, is my startup and we develop mobile games.
I've used this a bunch in prototyping and have to say that it is an incredible head start for anyone wanting to make a flash game, especially if you're not coming from a flash background but more of a programmer background.
I think that while it could be optimize the key is that it just works. No funny tweaks involved, you can build and go and have a game without deep diving into adobe documentation.
I'm looking forward to use such a framework/engine in my upcoming multi-player Flash game. I'd be grateful if anyone here can offer me some advice/links about this.
(My impression is that Push Button Engine is more mature and probably better supported because there is a company behind it. Is that really the case?)
Does Flixel (what's in a name) somehow depend on the grapics being pixelated, or does it also handle vector graphics? I had a quick look through the documentation but didn't really find anything about this?
You can still use anything native to Flash (ie vectors). Flixel has added support for bitmaps -- fast blitting plus old school visual effects (are typically a great pain to create in Flash)
I'm working on some casual card/board games, so unfortunately I can't really use Flixel since it wasn't designed for that (primarily vector images, uses events rather than game loop to keep CPU low). But Flixel looks great, and I wish there was a library that could do what Flixel does, except geared for that use case. If only Canvas was up to the task of handling vector images and animations as well as Flash does.
Does an event loop really keep the CPU use down in Flash? In C/C++ I've always found that the event polling overhead means that it's ever so slightly less efficient than a game loop, but not so much so that it matters. I thought it was purely a matter of taste?
When Flash isn't rendering to the screen (i.e. via constant blitting), it hardly consumes any CPU at all. In my experience, blitting the screen 30fps causes a lot of CPU load even when you aren't doing anything.
There are canvas emulators that make Canvas more or less functional in IE, albeit with a speed hit. But even then, Canvas isn't designed to do the same things Flash excels at: vector-based animation.