Monday, July 19, 2010



***** BMX2 news *****

Well, I still haven't settled on a name for this yet, but anyway, here's a quick update on where the project is going...

The source language will be very bmx-like, with a few tweaks and additions including:

* Simple class templates
* Function overloading
* Constructors
* Properties

...and some stuff removed, such as pointers. Yes, POINTERS! Function pointers too!

Target languages I'm aiming for upon release are:

* JavaScript
* ActionScript
* Java
* C#
* C++
* Python (just as an experiment - probably wont be much lib support for this to begin with).

Target platforms I'm aiming for:

* Flash
* Android
* Native GL
* iPhone

The system will also include an interpreter for debugging/preprocessing. Ideally, you should also be able to use the interpreter for scripting, but that may end up being in a future release depending upon difficulty level.

I'm keeping the modules *very* simple for the initial release, but they should still be grunty enough to do some decent games with depending on your target platform.

The 'official' IDE will be a custom job written in the language itself. However, it should be usable enough (well, I'm using it) and it will at least run *everywhere*. Of course, there are likely to be 3rd party IDE offerings too, so hopefully everyone will be happy in the end.

More to come...


  1. I figured things like pointers would be removed.

    Bummer. At least you cell-phone crazies get your fix.

  2. Nice :) I'm excited to see BMX2!

  3. ooooooh I can not wait for BMX2...

  4. Nice!! Thank you so much for doing this Mark!

  5. If you're removing pointers, any hope of signals?
    Vala (this beauty: has a nice approach there :)

  6. Awesome! Can't wait for it.
    This should be big hit and drive more sales to Bmax too.

  7. "The system will also include an interpreter for debugging/preprocessing. Ideally, you should also be able to use the interpreter for scripting"

    This is what I most want to see. ATM I use a LuaPlayer and work with 'live' interpreted Lua code. That is, I can edit then save the script and the player auto-reloads the new code. Great and fast

  8. good update, i wont miss pointers

  9. But... but... pointers are so awesome!

    Lack of first class functions will be a disappointment to some people (including myself). I know you're trying to make this very, very high level and generic, but there are some modern programming paradigms that should be considered for any new language. Having said that, the more you add, the more you have to reimplement in the target languages.

    On a side note, I wanna help you with Android!

  10. "The 'official' IDE will be a custom job written in the language itself."
    So here there are 2 facts:
    1 - the 'basic' modules has a GUI module
    2 - BMX2 is not targeted to 2d games only.

    Of course only my speculations about a single sentence.
    I'm waiting for it!

  11. I would like to know if you are supporting 'boolean' ?
    No big deal, it's just that Java has support for this but I don't know about the others

    Equally, are you forcing correct casing for variables?
    This is another 'gotcha' I found using Java. myCat=4 vs MyCat=4 are different variables

  12. Nice.. :)

    Sounds like this already has come a long way, seeing as you've already made an IDE in the language itsels.
    From what I can understand anyways...

    Do you have anything to show yet? Like codesnippets, snapshot pictures or maybe even something like a running example in flash or html5?!?! :D

  13. Wow!
    I made a game using the old Blitz3d back in 2003, and since then I've moved to C/C++ and Python engines (Ren'Py).
    BUT if you really manage to add HTML5/Flash support, I'm surely going back to use your products!
    A tip: I like the scripting idea. One of the best system for RAD is being able to change the code or at least variables and reload the script without having to restart the debugging session from the beginning (the amount of time saved is HUGE).

    Good luck!

  14. I'm interested in what your timetable for release is? I'd buy this on day one!

    RE: Syntax - the more BMX like, the better, in my opinion. Nothing sucks worse than having to learn different syntax rules for all of the Blitz languages!

    RE: function overloading - will we ever get to see this in BlitzMax also???

    Why not call this MobileMax or BLitzMoibile - for a couple of ideas

  15. Will it be possible to port a 3d OGL engine to Bmx2?

  16. Any updates on the release date? should I be buying an andriod phone this year or next year?

  17. How about calling it Babel? (one language, many platforms)

  18. I'd rather called it just "Blitz", due we ppl often refer to any of the 3 products by the same name...

    Btw Mark, please check as you could get some ideas about the way they work...

  19. Hi!
    That looks really good!!
    Will BMX2 be released as a BlitzMax-Update or is it a single product, for which I must pay a second license fee?

  20. Hi Mark. Will there be a networking module? I'm thinking browser-based multiplayer games here.

  21. I like Kris's idea. Blitz-Babel, Or maybe Blitz-peronto.

    I'm not sure about Flash, but I'm fairly certain that the rest of the languages support "delegate" (i.e. method signature interfaces) style function pointers. I know the .Net stack, python, java and javascript do for sure (though I'm admittedly not familiar with Dalvik enough to know if Android's "java" framework supports it. Don't know why it wouldn't if Oracle's lawsuit against Google is to be taken seriously).

    Perhaps that would be a good compromise for function pointers, especially in the "slower" languages such as JS/HTML5 and Python.

  22. Hey Markkkkkkk......... drop me a line


Note: Only a member of this blog may post a comment.