When I first discovered Kha and experimented with it, the ride has been really bumpy. At the time, the author, Robert Konrad, had just started overhauling some parts of the Kha API, and it made things more frustrating as I was still transitioning between HaxeFlixel to Kha.
However, it seems that my decision to persevere is paying off. Not only did I learn a bunch of new things with Haxe itself, I managed to write a little game framework (or library, whichever the politically correct term is) on top of Kha, called Wyngine. Although Wyngine has been constantly evolving, the framework is starting to stabilise, and I have made two games out of it: Pollen and Hurdles.
I have also found it more comfortable to write code the “Haxe” way, as in raw code that’s not part of any library. When I started learning Haxe and HaxeFlixel, I was overwhelmed by the size of the HaxeFlixel API that I thought using anything outside of the library would cause something to break (yes, I made a very bad assumption, but who could have told me otherwise?).
After using Kha, I realise that I could literally write a game with just the basic APIs, without the fancy utility classes that came with OpenFL/HaxeFlixel. In a way, I felt liberated and gained a better understanding of the Haxe language itself. I’m no expert yet though — I still refer to the Haxe documentation on a daily basis.
Hopefully, the articles after this will dive a little on Kha, Wyngine, nuggets of wisdom in my journey of learning Haxe, and possibly simple tutorials on using Kha. For the moment, there’s other resources you can refer to, thanks to the die-hard Kha fans:
- Jamiltron’s blog (contains Kha shmup tutorials)
- Triplefox’s Kha Beginner Guide (github, contains beginner tutorial)
- The Kha wiki (github)
I know I’m missing out some links, but I’m sure if you Google it, you’ll find some resources or tutorials on Kha. The problem we have now is that the Kha community is really small, but on the bright side — they’re very dedicated! I’ve been hanging out on the IRC channel for the past few months, and I have been seeing the same names on the channel almost daily, and they are very helpful (whenever they’re not AFK, that is).
If you’re uncomfortable with Lime/OpenFL/HaxeFlixel/HaxePunk, Flambe, Snowkit/Luxe, or any other SDK, I highly recommend giving Kha a try — and if you like it, contribute to the github repo with bugfixes — because Robert is only one guy after all. 🙂