2
\$\begingroup\$

I read this, and I also see that using FlashDevelop you can make an Adobe Air project with Haxe and compile to exe.

I begun to wonder from a game making perspective:

Are there any additional advantages in performance when using Haxe instead of AS3 for games development (for the web)?

\$\endgroup\$
11
\$\begingroup\$

At our studio we are working with Haxe and NME, and the advantages are great. Performance and cross-platform are the more important points (at least for us).

Pros

  • Even with only a few people in the forums, you can receive a lot of help. It's a very active community. Check at haxenme.org, haxe.org, and haxe group in Google groups.
  • Numerous people helped port the many APIs. They can also help you to do your own.
  • If you make a simple game, without many "social" features, then cross-platform is like doing ctrl-enter in Flash. You can target the following platforms with Haxe and NME: iOS, Android, BB PLaybook, WebOS, HTML5 (with some limitations), Windows, Mac, Linux and Flash.
  • The very best of the best: In FlashDevelop for Windows, you can do Haxe projects targeting C++, Java, and NME (a framework that brings flash methods to Haxe). Also, you can use MonoDevelop 3 with a Haxe add-in. It's not as good as FlashDevelop, but it does the work. Another option can be FDT, though it's not free.
  • If you have experience with ActionScript, then Haxe won't be a problem for you. Of course, there are some language differences, like how they handle for loops and iterators.
  • Haxe is great if you want to be able to transition from one platform to another, like from web games to mobile games.
  • The performance is really, really great. However, we didn't test it against stage3D. You will need to work with different methods according to the final target, but it is not a big deal.

Cons

  • There is not much documentation, and existing documentation is not very detailed. There are only a few books on Haxe, many of which are outdated.
  • If you are a flash game developer looking for sponsors, then you'll face some troubles when you need to add their APIs. The same applies for mobile development (iOS GameCenter, iAds, Google, etc)
  • There are times that you'll need to know how to code in native Obj-C, Java, or C++. BB Playbook also requires a device (I don't know if this has changed).
  • There are not many cross platform IDEs
  • We've only worked with single-player games, so I can't recommend Haxe for multi-player. I guess it won't be a problem, but I don't have the experience to confirm that.

I hope you find this answer useful, and don't hesitate in trying Haxe. It is not hard to port code from Actionscript 3.0 to Haxe and NME.

\$\endgroup\$
  • 2
    \$\begingroup\$ And fast memory access : philippe.elsass.me/2010/05/… \$\endgroup\$ – Sidar Sep 27 '12 at 5:36
  • 1
    \$\begingroup\$ This is exactly the answer I needed. \$\endgroup\$ – wolfdawn Sep 27 '12 at 7:39
  • 1
    \$\begingroup\$ On six you mention (with some limitations) please give examples? \$\endgroup\$ – wolfdawn Sep 28 '12 at 0:05
  • 1
    \$\begingroup\$ Sorry if I created a confusion, I don't have experience with HTML5, those limitations are with HTML5 targeted from NME (haxenme.org). I gave it a shallow look when I was working with haXe+NME. The limitations are principally because the target is builded on another project called Jeash, a similar library but with not all the features that came with NME. So, you can read about some limitations here: haxenme.org/documentation/features I hope someone can give you a better answer to your question. In my case, I was using bitmapFill in my tests, and it's not supported by html5 target \$\endgroup\$ – Jose M Pan Sep 28 '12 at 5:10
1
\$\begingroup\$

I don't think so until now our developers still now facing with VERY LOW performance of HAXE compare to (native on android , iOS, flash) .

\$\endgroup\$
  • 1
    \$\begingroup\$ Could you give a benchmark example that can be reproduced? I heard this before from some people but I also have seen examples that contradict it so if you could quantify it with a script and the results it would be informative. \$\endgroup\$ – wolfdawn Aug 6 '14 at 11:39

Not the answer you're looking for? Browse other questions tagged or ask your own question.