Calendar

February 2010
Mo Tu We Th Fr Sa Su
<< >>
1234567
891011121314
15161718192021
22232425262728

Langs

Blog

  • Posted on Feb 03 2010

    I'm trying every year to speak at least at one international conference. Attending to a conference is a good way to keep me updated with what's happening in the real outside world, and I also like to talk about my work while I'm there ;)

    I don't have much free time, I dislike airports, and I'm married : three good reasons why I'm also limiting a bit my involvement within the "conference loop" compared to some of my good Flash friends which are doing something like five (or more) conferences a year.

    Since I like to meet new people and learn new things, I think it's best to go as much as possible to different conferences. This year I will be very happy to speak about haXe at the Flash Gaming Summit conference which takes place in San Francisco next month !

    This is a bit a side-event of the bigger Game Developer Conference 2010 so I'm sure I'll have a lot of fun there, and meet people that want to hear more about how to develop Flash games with haXe.

    See you (maybe) there !

  • Posted on Jan 26 2010

    The haXe community is having an IRC meeting on Thursday 28, make sure to make it if you want to know more about haXe and different ways you can use it !

    All details about the meeting are published here : http://haxe.org/com/meeting

  • Posted on Jan 22 2010

    In case you don't know about it, Sfxris a very nice library used to general sound effects, perfectly suitable for independent game developers :)

    Sfxr was then ported to AS3, which was itself ported to haXe

    I wanted to use it for one of my projects, but I was not very happy with the way it worked for Flash9 : you had to load a SWF (containing a sound and generated in-memory) each time you wanted to play a sound.

    So I modified a bit the code in order to create a SWF that contains a Sfx class extending which is binded to the sound data. This way you can now :

    • build a SWF from wave bytes
    • load it using Loader.loadBytes into a new empty ApplicationDomain
    • retrieve the Sfx class
    • create a flash.media.Sound instance
    • cache it for further usage

    The code uses some static data to define the AS3 class. I could have done it manually by using the haXe Format Library which have full SWF+ABC support but I didn't want to add one more dependencies so did something more simple instead.

    Here's the source code fo...

    (more...)
  • Posted on Jan 21 2010

    Some people often ask me what are the advantages of haXe in terms of speed.

    Of course, there are many runtime optimizations in haXe that make your program run faster, but one of the very important thing to me is also the speed of the compiler. Compiling quickly help you to test some minor changes more often, to find and fix errors faster, and prevent you from losing your concentration and your time waiting for the compiler to be done with its work.

    So what about comparing haXe and AS3 compilers speed ?

    First, haXe starts with an obvious disadvantage : because it has type inference, structural subtyping and generics, the compiler needs to perform much more type checks that in more classical type system such as AS3 one.

    But let's see how it rates anyway.

    I tried the following : compiling the whole hx-format library, which is 64 files / 10.000 lines / 300KB of haXe to Flash9. Here's the commandline for that :

    time haxe -swf9 format.swf -cp hxformat/tests/all All.hx

    On my QuadCore (haXe co...

    (more...)
  • Posted on Dec 27 2009

    First, merry christmas, and (soon) happy new year too all of you !

    Seems like Adobe recently made some pages about game development in Flash as part of the Developer resources. Named Flash Platform Game Technology Center, they list some "featured" games that were made in Flash and are showing good use of the technology.

    I was surprised that the first featured game was ScaryGirl : not because this is a bad game - Scarygirl is a very nice game, congratulations to the TouchMyPixel team for it - but because it's entirely written in haXe as stated on the developers page :-)

    Anyway, have a look a the game, it's a very good one, and it shows that serious people are using haXe for "real stuff" (so do I, and many other developers as well).

    Oh and just a small note : we have recently been moving haXe from its old CVS repository to a brand new google code SVN. You can browse the source code and report issues / features requests there.

    Enjoy !

    EDIT maybe I was a bit too fast, s...

    (more...)
  • Posted on Oct 10 2009

    As announced at Adobe MAX conference, Flash CS5 will have the ability to output iPhone binaries directly (read FlashMagazine Article about it).

    I don't have much details on how it's done, but here's my guess based on what I've been reading : Adobe have built a SWF Bytecode-to-C converter (maybe using LLVM which was already used for Alchemy), then are using a cross compiler such as a modified version of GCC in order to link together this C code and a static library containing the Flash Player for iPhone.

    This way there is no runtime interpretation of the SWF Bytecode, everything is "native".

    haXe already has a haXe/C++ target which enable in particular to target the iPhone, so what are the differences between the two methods ?

    First, I'm pretty sure that you will be able to use SWC in iPhone projects in CS5 (or else that would be a too much crippled feature). And since haXe allow you to output reusable SWC, it means that you will be able to use haXe together with this CS5 feat...

    (more...)
  • Posted on Sep 30 2009

    Joa Ebert is questioning on his blog whereas having an open source decompiler/obfuscator software would make sense.

    I can maybe help a bit with this choice, since I was confronted to the same one a few years ago. At this time I wrote an AS2 decompiler as well as a SWF obfuscator that we are still using at Motion-Twin.

    People that have met me know that I'm a big proponent of open source and open protocols, so why didn't I open sourced these software after writing them ? There are good reasons behind these choices.

    Decompilers

    While decompilers are a very good tool for the expert to learn about the way a given compiler can optimize code, in the hand for the average user they are mainly used to look through other people code.

    I'm all for open source and code sharing, but I think that someone should get the original developer agreement before looking at his code. I don't consider that decompiling is the same as stealing, since the original code is not lost in any way (this is somehow simil...

    (more...)
  • Posted on Aug 08 2009

    Back in October 2005, Macromedia (later bought by Adobe) announced the Flash Player 8.5 Beta which would include support for a new programming language : ActionScript3 (AS3).

    The player 8.5 - which was named this way not to frighten customers that just bought Flash 8 IDE - will later be renamed as Flash Player 9 and AS3 became the default programming language for Flash and Flex - replacing the previous AS2 - with the release of Flash CS3 Pro in April 2007.

    Now, more than two years later, it's maybe time to check if AS3 was a success, or a failure.

    AS3, a proprietary language ?

    One of the promises of AS3 was to get out of the whole "proprietary language" thing.

    Traditionally, Flash has always been criticized of being a closed-source platform (which it is) thus threatening one of the most beautiful and important things in the Web technology today which is openness : openness of protocols (TPC/IP, HTTP), formats (HTML, CSS) and browsers (Firefox and many others). Versus a full p...

    (more...)
  • Posted on Jul 29 2009

    Hugh Sanderson have blogged a complete step-by-step Guide to get started developing on the iPhone with haXe :

    Read it here

  • Posted on Jul 26 2009

    Today haXe 2.04 was released.

    Thanks to the hard work of Hugh Sanderson, haXe now have support for the C++ platform.

    It then mean that you can compile any haXe program directly to C++, and get the performances of the one of the world fastest languages ! C++ support open also a lot of new possibilities for haXe targets, including huge progress on running haXe on iPhone

    In order to use the C++ platform, you will have to use the -cpp target, but before that you need to install the hxcpp library that contains all things needed to compile. This is easily done by running the following command :

    haxelib install hxcpp

    Now, you can simply write a small haXe program :

    class Test {
        static function main() {
            trace("Hello World !");
        }
    }

    And compile it with :

    haxe -cpp out -main Test

    This will give you a file out/Test.exe that when run will simply display Hello World.

    Easy, isn't it ?

    In order to go further, you can use the APIs that have been made accessible from haXe/C++, ...

    (more...)