Strengths and Weaknesses of Using Haxe for Audio Development

At the Haxe Summit, I did a talk about doing audio programming in haxe. Here are the slides. Edit: here is a link to the video in case you feel like watching me spill water. And below are elaborated notes for the first two slides.

Continue reading Strengths and Weaknesses of Using Haxe for Audio Development

Non-Intrusively Adding Haxe to Your Javascript Setup

Installing haxe is very easy coming from the javascript side. In fact, the way I recommend to install haxe generally is to use lix, which is an npm package (also available on yarn). The only time I’d advise against that is if you don’t want to have npm on your system.

Continue reading Non-Intrusively Adding Haxe to Your Javascript Setup

Automated Testing Haxe Libs on Travis and Gitlab CI

In being able to target so many other programming languages, Haxe presents a unique challenge for testing. You say your Haxe code is “pure Haxe” and hence compatible with all targets, but to truly know that, you need to actually test on all of the targets. That includes languages I’ve never used like lua and languages I hope to never have to use again like php.

Continue reading Automated Testing Haxe Libs on Travis and Gitlab CI

Create Inline Data from csv in Haxe

One of the things that makes haxe really powerful but can be intimidating is their macro system. With it, you can write code that generates code at compile time, allowing you to do useful things like checking the validity of data files or even transform them into literals in the code. There’s much more you can do with it, but loading data at compile time is something I see a lot in game development (including castle, which I blogged about previously).

Continue reading Create Inline Data from csv in Haxe

Developing Castle on Mac

The instructions in castledb‘s README.md don’t cover Mac. I might suggest to ncannasse to add some but only after I’m sure the way I’m doing it is the best way to do it. Or, conversely, if this is now how it has to be done regardless of platform because of changes to nwjs. In short, just like for other platforms, I compile first:

haxe castle.hxmlCode language: Bash (bash)

Then change to ./bin and I directly run the executable. It doesn’t matter if you copy it to that directory or just install it in /Applications and run from there but here I do the latter:

./nwjs/nwjs.app/Contents/MacOS/nwjs --load-extension . .Code language: Bash (bash)

Also two of my minor fixes have been merged in as of this morning so now ctrl+Q actually quits, etc. Stay tuned for a bigger improvement that I need for a game I’m working on.