Friday, June 1, 2012

[Cross-posted to bennugd-wii and bennugd-mobile blogs][Please note that this is my own personal initiative and, while Splinter is fully aware and approves it, he's not directly involved with it]

Over time BennuGD has achieved quite a few milestones: not only it's one of the easiest open source game programming languages around but people have used it to create very fun games, thousands of people have downloaded BennuGD games for the Wii and hundreds of thousands of people (if not millions) downloaded SorRv5 in the few days before it was taken down by Sega. It also hit the front of manygamerelatedmagazines. And even after the official links were removed, loads of people continue to post Youtube videos with SorRv5 game content, which is really cool.

More importantly, BennuGD now works in most PC OSes, but it has also been ported to some really interesting platforms: classic game consoles and handhelds plus iOS and there's a WIP port (that's proving to be more difficult than initially thought) for Android. This enables you to create your game in your computer and, if you take a few basic precautions, run it in your favourite platform.
In most platforms performance is not a problem but in others it is not ideal. For example, trying to run a BennuGD game with a multi-plane scroll in iPad 2's native resolution results in a more than sub-optimal experience, and we want that situation to improve. Games need to render faster and for that to happen we need a new hardware-based blitter that can co-exist with the current software based blitter.

Day after day we see games that could easily be made with BennuGD (plus some unofficial extensions) succeed in those new mobile patforms but we need that new 2D blitter if we want to allow people to create such games.

Right now it doesn't look like the current members of the community can step up and create the new blitter themselves, so I'm asking for help. As I said before, this is not an official effort in the sense that the BennuGD project leader is not behind it but he also feels the need for this and if some good code appears I'm sure he'll be happy to see how it fits in the official code base.

Technically the work that needs to be done roughly consists in rewriting/modifying some of BennuGD's core libraries to be OpenGL (+OpenGL ES?) based. Those would be libgrbase, libvideo, libblit, librender and probably others, too.
The new code should be written in C and your code would be distributed under the zlib license (just like BennuGD is) so that games created with it can be distributed in any manner no matter the platform.

If you feel like you can help and want to use some of your time helping an open-source project please leave me a note in the comments and I'll get in touch with you. Don't worry if you don't know how Bennu works internally, I can help you with that.