I’m back for another bi-weekly update.
I’m sorry to say It’s not been all that great, and if I’m honest writing this update is just about the last thing I fancy doing right now. Waaah, poor me.
Anyway, here’s what I’ve been up to.
Basically I’m just trying to get to a point where I’m making ‘the game’, instead of all this boring stuff which frankly isn’t very interesting, but unfortunately the parts of Flash I took for granted are taking a lot of time to set up this new framework.
My focus last week was on getting a basic UI system working, but unlike Flash, even something as simple as a functional textbox or a button requires quite a lot of work.
While the game engine I’m using is very good, some things (like GUIs) aren’t up to the standard that I’d hoped for.
It’s made me wonder recently how on Earth Flash is now considered a dying platform, when it can do so much so well and so easily.
I read an excellent article on this last week by one of the OpenFl framework contributors... but I’ve just spent 30 minutes looking for it in my browser history and can’t find any trace of it. Just take my word for it, it was great.
As well as getting some basic UI down, I started work on importing and playing animations.
Spine is an excellent bit of software but it costs a lot of money for a professional license.
Spriter is a lot cheaper but compared to Spine looks pretty third-rate.
DragonBones is something I’m familiar with as an extension for Flash, but recently it’s become it’s own standalone app, and very recently they’ve added some very cool features which make it rival Spine… And it’s completely free.
Ding ding ding! I like the look of that last one, I’m having that.
Right, so now I’ve got to have some way of playing DragonBones’ exported animations in my game.
I’m writing in Haxe, unfortunately the only relevant haxe libraries are 2 years out of date, so I decided to take the official AS3 library provided by DragonBones and port it to Haxe.
Remember when I said ‘oh god’ earlier? This is why:
18,000 lines of code.
And this was me:
I’ve spent just over a week on this so far and I'm still not quite finished. It took me the best part of 5 days to port it and another 2 to get it working. It’s an utterly tedious task to port code, and it's made all the worse when the complexity is such that the logic behind it is completely obscured. It’s like translating for someone using phonetics so they can say the words but they don’t understand what they mean.
For 80% of it I was literally thinking 'I don't know what I'm doing.' and coding blindly in the dark essentially.
A lot of annotation in the script was written in Chinese so that didn’t provide much help either.
Some of the sample animations that come with the software render nicely:
Some though… not so much:
I'm pretty sure my teddy bear isn't supposed to look like that...
Once it’s finished and working I’ll upload it on GitHub so others can hopefully get some use out of it, but unfortunately as I’m quite new to the language I’ve no doubt it’ll have plenty of room for optimization. I'm not the neatest coder.
I wish I had more to show than that, but apart from some really tedious, uninteresting stuff, that’s pretty much the bulk of the last 2 weeks developing.
I’m not gonna lie, this is taking so much longer than I anticipated and I haven’t really started yet.
Unless I go back to using Flash there’s just no way around this. It’s going to take a long time.
I’ve no doubt things will speed up, but to what degree I’m not sure. Something that’s been bothering me recently is realising the apparent lack of truly ambitious games made with Haxe. It makes me a bit suspicious...
Anyway, I hope this hasn’t been too boring to read. I wasn’t in the right head-space for writing this evening, I should have probably left it another day.
Thanks for all the encouraging comments on the last blog post. Sorry for not replying to any of you as all I can really say is ‘thank you’, but I really appreciate them and they really do help.
It’s nice to know there’s an audience for what I’m working on while I slog away on my own.
Hopefully I’ll have the main character running around by the next post. I think I said the same thing at the end of the last post 2 weeks ago.