Today didn’t go exactly as I’d hoped, but it was still fantastic.
I had forgotten that I had already made plans to do some Christmas shopping today, so, after a few hours of shopping and a Chinese buffet-induced coma, there wasn’t as much time to write code as I would have liked. That said, I’m still rather pleased with what I did manage to do in the short time I had left.
For whatever reason, I decided that I wanted to instantly switch to Haxe for this project and those that follow. I experimented with Haxe a few months ago when I couldn’t get a dynamic tile-based lighting system working well in AS3. Haxe proved to be about 8-12 times faster with the same logic, which was incredibly mind-blowing to me. On top of that, I had read that it compiled to a bunch of different platforms with relative ease with the help of the NME library, so I knew I wanted to switch over to it eventually.
So anyway, when I finally roused from my coma, I decided to ease into it by grabbing HaxePunk, the Haxe-equivalent of FlashPunk, and start writing some code. It took me about 2 hours to figure out which bits go where, mostly due to the conflicting information I got from Googling, but I finally got a Flash SWF to compile.
This was great, but I still needed something more. This game wasn’t going to require any complex calculations that would make performance an issue, so I needed to further justify the switch. I searched around for another half hour or so looking for a tutorial on how to compile it to a Windows executable, but to no avail. I was just about to give up when I saw a little drop-down box that said “flash”. When I clicked it, I was greeted with a list of platforms I could compile to, including Android, HTML5, Windows and WebOS. I set it to Windows and compiled again and it was as simple as that!
I’m really excited about this project now. Being able to compile a stand-alone game with a demo that I can just embed in a web page is pretty cool. As of this writing, I’ve got keyboard movement, platforms, collectibles and collision detection all working. Next I’ll add the title menu and game-over conditions before fleshing out the mechanics a bit more. Woo!