Looking for developers to help build a new game framework

To cut to the chase: I’m looking for some AS3/OpenGL game developers (of all skills) and code ninjas to join me in building a brand new open source Flash game framework.

I know what you’re thinking:  “Why on earth do we need yet another framework?” – and it’s a perfectly valid question, but let me explain…

I’ve been working with Flixel for several years now. Releasing update after update for my Flixel Power Tools. And prior to that I spent ages contributing towards the PixelBlitz project, an earlier “blitting” driven framework. But times have changed. Flash Player 11 introduced a number of significant new technologies for us, Stage3D being just one. The changes to AIR3 now make it a perfectly viable platform for GPU accelerated desktop game development, without all the AIR run-time dependency issues of before. And the recent advances in Stage3D for mobile finally make Flash worth considering for iOS and Android games too.

But none of the current frameworks take these things into account, and I feel it’s time to change this.

Now I adore Flixel and what Adam has done with it. As a framework it’s pretty close to my heart. It has allowed me to make some great games, and I love the community there. It’s why I’ve invested so many hours of my time creating tools for them. But when I started planning out version 2.0 of my Flixel Power Tools I realised that making it work with Stage3D was not going to be easy at all. In fact it was going to be downright impossible without significant changes under the hood. And if you’re going to mess around with a framework to that degree it made me question if it wasn’t the right time to start from scratch. A new fresh slate. Taking the best elements of modern game development techniques, while still keeping true to the Make it Easy model I so strongly believe in. And using the strengths of Flash, not bypassing them.

I don’t especially want to take this journey on my own though. While I could, I know it will aid in decision-making and development speed if there is more than one person working on this. So I’m putting up this post in the hope that you might be inspired enough to join the project. It’s early days and I don’t know where this is headed yet, but I feel the time is absolutely right.

Updated 30th October: Wow! In the original post I asked people to email me if they would like to be involved. And my inbox exploded, which is awesome :) But rather than email you can now join the forum I have set-up for this project directly. Drop a message into “Introductions” to introduce yourself, and then join in the conversations that are already happening!

We need devs of all abilities, from proper blit blasting code ninjas to the much less experienced – because your input on the decisions we make (does it “make sense”, how easy is it to use, etc) will be just as useful as someone capable of creating a batched sprite shader. Don’t be shy about volunteering.

Posted on October 29th 2011 at 1:10 am by .
View more posts in Projects. Follow responses via the RSS 2.0 feed.

35 Responses

Leave a comment
  • George Wilson
    October 29th 2011 at 2:12 am

    Wow, this sounds like a really awesome opportunity. I would love to help in any way that I can. I’m new to AS3 and game dev but I have used other PC languages for years. I too love the power of Flixel and would enjoy participating in the community.

  • FireBlast
    October 29th 2011 at 3:42 am

    I’ve heard FlashPunk 2 also want to use stage3D, maybe he’s interested to collaborate. The merge of simplicity of Flashpunk and lots of feature of Flixel (Power Tools), that would be awesome. But another framework too is okay, so we have alternative. Sorry, I can only give this 😀

  • Jethro larson
    October 29th 2011 at 4:09 am

    Starting on github would be good if you’re planning to be open source, they even have some free hosting

  • October 29th 2011 at 4:58 am

    I’m interested!

  • October 29th 2011 at 5:33 am

    P.S. The reason why it ‘doesn’t just fit’ is that there was little effort in terms of abstraction from the various parts of these fore mentioned engines. This has resulted in their framework systems becoming entangled in their rendering systems (which you now want to replace). In layman terms, Interfaces are nice! ^_^

  • October 29th 2011 at 7:08 am

    Have you considered using HaXe? It is a language very similar to as3 that compiles to flash (avm2 bytecode), windows, mac, linux, ios, android & even js/html5!

    I’ve been using it for my latest project with NME (a flash-compatibe API for all the various haxe targets: http://www.haxenme.org/) and even just using it for a flash game is already much nicer than using flex since the haxe compiler is so much faster than adobe’s (on my netbook a similar sized as3 project takes 5-6 seconds to compile from scratch and less than a seconds to compile with haxe).

    Compiling for android just required installing the android sdk/ndk & my phone’s usb drivers. Change the target in FlashDevelop from “flash” to “android” and it’s magically working on my phone :)

    Much nicer than air and also works on arm11-based phones (which air does not), so I could use it to develop for my zte blade (the main reason i switched from air).

    To top it all this is open source and under very active development :)

  • October 29th 2011 at 7:12 am

    Also, i’m interested regardless of if you’d use haxe or as3.

  • Catson
    October 29th 2011 at 7:45 am

    I’m going to agree with tametick – HaXe is awesome.
    I’d be down to help in any way needed. I have plenty of time.
    twitter is @catson_

  • October 29th 2011 at 8:45 am

    Hi! I would like work with this team! It’s very itresting for me!

  • Blue112
    October 29th 2011 at 2:28 pm

    Yep. As tametick said, haXe is really great.
    Fast compile time, plenty of target, embedded script language, even SWFs optimization that makes the runtime faster than mxmlc compiled swf.
    And if you chose haXe, isn’t not a close door for AS3 people : They can use a swc you compile from haXe flawless.
    You should really consider haXe.
    More info here : http://haxe.org/

  • kibo
    October 29th 2011 at 7:12 pm

    Im in, where do I sign?

  • October 29th 2011 at 7:25 pm

    I sent an email, but I’m in too. Exciting stuff!

  • sHTiF
    October 29th 2011 at 7:58 pm

    Seems like a cool project, a question though why not extend one of the Stage3D frameworks out there? Why going from the ground up? It would make more sense and save time so you can concentrate on the game related features instead of working on the technical stuff.

  • gustaira
    October 29th 2011 at 8:04 pm

    It’s sound interesting
    Did you check this frameworks on hithub?
    They’re frameworks that already use Stage3D

  • October 29th 2011 at 8:53 pm

    Because they’re just Stage3D frameworks, not game frameworks. I believe there is a world of difference between the two. But more importantly whatever we create has to support both native display list / blitting AND Stage3D, not just one.

  • October 29th 2011 at 8:56 pm

    gustaira – yes I follow all 3 projects on github. But they’re all trying to be Stage3D specific, and I don’t want that. A true game framework should support rendering to bitmap (blitting), maybe using the normal display list and support Stage3D, not just one. none of the above look set-up to accommodate that in any way, which is fair enough of course, but not what I’m after.

  • sHTiF
    October 29th 2011 at 9:35 pm

    Hmm as far as i know my Genome2D supports Stage3D, Blitting and native display bitmaps so it definitely is not Stage3D framework, actually it can be plugged to any renderer, the only downside is that its not opensource yet. I am sure other frameworks will follow even though for example starling people say that its just a matter of time till everything will support Stage3D so its not worth the effort. I happen to disagree.

    I added the software renderers just because i was going for FP10 compatibility, now i am going as far as avoiding using any FP related classes in my haXe port but its a long stretch especially since most of the rendering stuff is too dependant and would take a performance hit due to marshalling, the upside would be that you can create renderers for each platform and still use the core. Stage3D is way too slow in haXe at the moment even without that burden.

    Anyway its up to you to decide hope it will work out 😉

  • October 29th 2011 at 10:08 pm

    Hi sHTiF – yes I’m familiar with your blog posts about Genome2D, but as you say it’s not open source yet, so it’s sadly useless to everyone except you right now :) I agree that it should not be Stage3D only, it needs to support multiple renderers. As for supporting FP10, I’m less worried about that. I think by the time this framework is ready for the “real world” FP11 will be 80%+ dominant.

  • sHTiF
    October 29th 2011 at 11:22 pm

    I don’t think its useless after all its still free, there are many even commercial libraries that are not opensource and a lot of people use them so i wouldn’t see it that way. Anyway i am trying to go for opensource even though i have only bad experience with opensourcing my stuff, but we’ll see, its complicated atm.

    However if you don’t worry about FP10 you don’t need to worry about supporting anything else than Stage3D since Stage3D itself has a software renderer as well. So why the blitting? Yes it will be faster but only in very specific scenarios. Not to mention its hard work to support multiple renderers since with almost anything you add you need to add it separately for each renderer, and some of the stuff can be even impossible to do using some of the renderers.

  • October 30th 2011 at 1:44 am

    Sorry don’t get me wrong, I didn’t call your framework useless at all. I just meant that when I last checked it wasn’t available to anyone (i.e. wasn’t even released as an SWC, let alone open sourced) – have you changed since then? I.e. have you actually released it now?

    As for FP10/Stage3D I disagree, sorry – we cannot and absolutely should not enforce use of Stage3D because there are SO many computers and web sites out there it doesn’t work on! In 2007 70% of motherboards sold had Intel GMAs on them – so no Stage3D. Drivers older than 2009? No Stage3D. wmode not = direct? No Stage3D! The software fallback for it is a complete joke. This is why offering blitting, even still in 1 years time, is sensible imho.

  • sHTiF
    October 30th 2011 at 1:07 am

    Yep the Genome2D swc was released two weeks ago, already 3 updates since then. :) If i wasn’t going to release it at all i wouldn’t blog about it, that would be really pointless i agree :)

    Hmm i was under the impression that Stage3D software callback works always when there is no HW, even when the drivers are old or wmode is not direct. If it works as you say it really is a joke. But at the other hand i must say that the software renderer they use is pretty impressive, i tried a few rather complicated shaders like per pixel lightning with self shadowed bumpmaps and projected shadowing through cube textures in my 3D engine at it worked quite fast even in software mode. But if it doesn’t work when there is no wmode or drivers etc. why it is there in the first place? Kind of pointless.

  • October 30th 2011 at 1:19 pm

    I’m interested in seeing how this pans out. Looking forward to the first usable version. I don’t know how much time I can spare for it myself since we are building our own engine at the moment on top of the blitter.

    I haven’t seen a compelling example of Stage3D providing a huge performance boost to 2D games in a general sense. There are many impressive demos with limited animation or using a large number of clones floating around, but nothing with a large number of non-identical sprites, which is the scenario I really care about.

    Is there an example I’ve missed or will I have to wait for this new engine to be far enough along to see how it really stacks up?

  • sHTiF
    October 30th 2011 at 2:28 pm

    Andew believe me the difference is huge, especially on new computers or scenarios where you use large sprites which would simply kill blitting approach.

    You are right about the demos, for example in my Genome2D i use 2 different spritesheets in the demos but its not because if i used more it would kill the performance its simply because i don’t have many individual sprite sheets available to use. If you provide me with some spritesheets you would like to see run in the demo i would be glad to create and demonstrate the scenario for you 😉 Or you can try it yourself.

  • October 30th 2011 at 8:05 pm

    Intersting, but why Flash?

  • October 30th 2011 at 8:17 pm

    Tony – because there’s no other viable technology for web based games. And let’s face it, the choice of frameworks on PC / OSX / Mobile is staggering.

  • October 31st 2011 at 9:25 pm

    So far my experience with 2D and Stage3D has been pretty poor. Yes, you can have many cloned sprites, many non-moving sprites (flattened geometry), and use texture atlases to limit draw calls, but honestly Stage3D is looking less useful each day I play with it.

    Of course, if you have plenty of non-moving things, or tons of cloned objects, then Stage3D can be pretty useful.

  • October 31st 2011 at 10:25 pm

    Nice! I’m building something similar over at https://github.com/aduros/flambe, written in haXe with an emphasis on canvas and BitmapData rendering. A Stage3D renderer could be added at some point.

    Stage3D for mobile could be great for 2D games. What are the recent advances you mentioned, and do you know when it will be available to developers?

  • sHTiF
    October 31st 2011 at 10:41 pm

    Trent it doesn’t matter performance wise if the sprites are cloned or not. I don’t know which framework you tried but its simply not true. Movement adds little overhead as well i can get thousands of sprites using hundred different textures/sizes and all of them moving at the same time without a problem atleast using my framework. I heard that for example in starling its an issue since it doesn’t reuse geometry at all.

    You are doing something wrong obviously.

  • Me
    November 1st 2011 at 9:02 pm

    What about the Flixel book? Are you still going to make it?

  • November 1st 2011 at 9:44 pm

    I was waiting for someone to ask this. The answer is yes.

  • Morgan
    November 2nd 2011 at 11:05 am

    Im really glad you are still going to release the book. my personal feeling as a non programmer is fear! I’ve just worked out one framework to a basic level and now a new one will be introduced (of course i know that there are loads of different frameworks). i know this is just darwinian but i hope that the flixel community will continue to be supported by those that really understand it. this helps those a little bit slower who can still potentially be creative and switch people on to web game creation

  • Me
    November 3rd 2011 at 7:29 pm

    I’m glad too, you obviously realize that many potential (hopefully good) “game designers” need help with learning how to code. Eager to see that book…

  • Daniil
    November 8th 2011 at 7:34 am

    Hi guys.
    Sounds grate. I’m buzy with buldiing my own framework, so I can’t join now.
    But, good luck!)

  • November 11th 2011 at 12:36 am

    The big problem with Flixel is that Adam is too busy to be the only code committer. If the open source community had more power to commit to Flixel then I think it would go Boom!

    So anyway how are things going with your idea? Actually thats a good point – if you don’t have a tight team of trusted core devs it’ll be too slow to grow. Like Flixel. And then you may as well just use Flixel. What are your comments on this?

    Also can I be cheeky? If you had to say something about impact.js what would it be?

  • November 11th 2011 at 12:57 am

    Right now I’ll be honest and admit I’m re-evaluating the worth of creating such a framework at this time. See most recent blog post from me for reasoning.

Make yourself heard