That’s another year over and it’s once again time for me to recap what I’ve been up to over the past twelve months and look forward to the next. It’s also an opportunity to see how close I came to achieving the goals I’d set out for myself at the beginning of the year. I always feel doing so helps motivate and push me to learn new things.
The Flash Platform
It was bound to happen eventually. This was the first year where my professional workload involved more HTML5 than Flash. My ActionScript skills were almost exclusively reserved for the maintenance of legacy projects.
The only real exception was a new update to Match Mee, which is an AIR based iOS app we released at WeeWorld last year. We added a bit more functionality, made some gameplay changes, and also squished a few bugs. In addition to that I spent a morning getting Match Mee running in the web browser. It really is a testament to Flash’s strengths when some slight modifications to your code can have something that was originally intended for iOS running quite happily in a web browser. We’d also had Match Mee running on a handful of Android devices with minimum fuss. Unfortunately neither the web or Android ports made it onto WeeWorld’s roadmap for the year but they were fun pieces of work nonetheless.
I did do a fair amount of ActionScript development outside of WeeWorld, some of which I’ll cover a bit further down.
I did a fair amount of Objective-C too and also tinkered with AIR native extension development. I didn’t actually write an extension that was of any use to anyone but spent enough time experimenting so that I can write my own extension if the need arises. Of course, there’s a good selection of native extensions out there but they tend not to get updated as often as the third-party Objective-C libraries that they’re based upon. So being able to get my hands dirty with any open sourced ANEs or simply write my own should come in handy for future AIR projects.
Just for fun, I also revisited my X-wing Targeting Computer app and re-wrote it in Objective-C. People to this day still email me asking about my app. I have no intention of releasing this one but thought it would be a good coding exercise to rewrite it. I haven’t bothered blogging about this new version because I was hoping to give it a new coat of paint and make the UI look a bit more modern first. My sister in-law has offered to help out with the visuals so hopefully we’ll get those dropped in there in the coming months and then I can show it off to you guys.
Monster Dash Clone and Tutorials
I had a great time creating a clone of Half Brick’s Monster Dash game, which originally appeared for iOS, Android, and web. I wrote it in ActionScript 3 and thought it would be a good opportunity to spend some more time with Box2D and the excellent Starling framework. I picked the Tomb Town level from Monster Dash and did my best to recreate it. Personally I think I got damn close to the original and was pretty pleased with the end result.
I’ve got one more tutorial in the series to do, which I’m about to start this week. After that, I may go on to write a few more tutorials explaining the Box2D side of things for those who want to add a game character and platform collision detection to proceedings. However that probably won’t happen until the second half of this year.
I’ve been working on and off with my buddy Alex on a game concept called Bunny Vengeance. The plan was to knock together a few prototypes over the course of the year, however we only found the time to produce one. Even though it contained some beautiful animation from Alex (he’s worked for likes of Pixar and DreamWorks over the years) I never really felt that we had something that was going to make a great game. After spending some time with the first demo Alex also came round to this realisation and we’ve now agreed to explore a few more concepts. The plan is to try and produce another few quick prototypes over the next six months or so and see if we can create something that others might want to play.
3D Games Programming
Every year I promise to do some 3D programming and just about every year I completely fail to find the time. I’m pleased to announce that I did actually spend all of December looking at three.js – Ricardo Cabello’s (AKA Mr Doob) excellent WebGL-based 3D library. Of course, there are many ActionScript 3D libraries I could have opted for, and there’s also Unity, but I felt that three.js had the lowest entry barrier. Its API is fairly mature now, it has a growing community around it, and there’s a wealth of tutorials and examples to work from. I’m also hoping to take a look at Unity before the year is out but three.js let’s me quickly experiment with things and push any work I do to the web without the need for a plugin.
I’ve also come to the realisation that I really need to learn how to use a 3D modelling package. There are plenty of 3D models floating around the web that I can use in my personal projects but they quite often require some tinkering with before I can import them into three.js. I’d also like to be able to build my own simple 3D models for my projects. While I could probably programmatically create some of these models directly with three.js I think I’d get things done a lot quicker if I simply had the right tools to let me be more creative. I’m seriously considering checking out Blender. It’s free and I’m already using it to make very quick adjustments to existing models. Blender’s a bit of a beast though so it may take me some time even to get to grips with the basics. We’ll see how I get on though.
Yeah, But Is It Flash? is four years old now! I originally only intended to run the blog for a year so I’m chuffed that I’ve managed to keep it going this long. However I have actually struggled with the blog’s name for a few years now. It did start purely as a Flash platform blog but the last couple of years has seen me work with an increasingly wider range of technologies. I have posted some of my non-Flash experiments here but have held back many more because I was afraid I might alienating myself from my original target audience. I’ve decided that I’ll just go for it this year and write about just about anything I happen to work on.
I had also seriously thought about changing the blog’s name but couldn’t think of anything that I liked, and I do think my blog’s current name is kinda cool. So for the time being, the name will stay.
So it’s all change for me this year. I’m really looking forward to experimenting more with three.js and hopefully I’ll find the time to tackle Blender as well. I’m also hoping to do some more small Objective-C projects including finishing off the port of my X-wing Targeting Computer app. Fingers crossed that me and Alex will also find the time to bash together a few more Bunny Vengeance prototypes too. Not sure if we’ll ever finish the game but even putting together a few demo levels should be fun. Finally, I’ve got my Parallax Scrolling tutorial series to finish. Actually, it’s just one more tutorial I have to do but as I said I’d like to also write a few more based on the Box2D side of things.
So, looking forward to 2014 and hopefully I’ll get lots done.