Wednesday, 10 December 2008

Code you can believe in! Vote Iain on 25lines.com!

Here's my entry - Trigonometry Wars (requires Flash Player 10). Thanks to everyone who has voted for me so far, I'm about 5th out of 12 at the moment, which is cool by me. Here's the source code.



Here are my thoughts on the process and the contest:
  • Keith is dead right that we need to put the Flash back into Flash.
  • Flash is the perfect technology for this contest. I can't imagine many other languages where you could do something like this. JavaScript? Processing? Lingo? (if you know any more, post in the comments).
  • Having a constraint was a great spur to creativity, but I think I spent more time squeezing the code than making something cool.
  • Lines aren't a good metric for measuring amount of code written. There are too many little tricks for squeezing things onto one line. A 3k of ActionScript challenge, for example, would have been more fair.
  • Limiting how much code you write encourages bad coding, so reading the posted source code isn't the best way to learn the techniques each demo uses. I'm tempted to rewrite my demo in an OOP style and post the source code, to show how it should be done.
Well done to Keith for organising a really fun little contest, and thanks to everyone who took the time to enter - the finalists are all pretty awesome and I bet they'll also be some gems in the other 70ish entries when they get posted.

Thursday, 4 December 2008

5 tips for Flash developers in 2009

I've got lots of unused holiday to take this December, so I'm starting the end-of-the-year posts early. I have consulted my magic crystal ball, and here are my tips for Flashers in 2009
  1. Get out of the Flash ghetto. While I predict that Flash will own the plug-in space until at least 2011, it still seems like an exciting time to learn something new. One place to start might be learning C# - which you can use with Flash competitor Silverlight, XBOX360 game development framework XNA and the amazing Unity3D plug-in (which also lets you target Wii and iPhone). The spirits tell me that Java will also be having a renaissance, with the emergence of Flash rival JavaFX finally bringing native sound, video and vector graphics to the Java plug-in, along with a new scripting language JavaFX Script - which is spookily similar to ActionScript. If you really want to try something different (and you own a Mac) you could check out iPhone development and its scarily alien language Objective-C where square brackets are function calls! [yikes]! Not scary enough? With the mind-boggling Alchemy tool for Flash, could it even be time to learn C or C++?
  2. Learn some 3d modelling, animation and maths. PaperVision3D skills will still be in high demand throughout 2009, and of course CS4/FP10 brings limited native support for 3D, so expect even more gratuitous cover-flow interfaces on websites. I expect both Away3D and PaperVison3D to gain some new APIs for character animation, like the new bones support for Away3D. I'm increasingly of the opinion, however, that Adobe should not rely on Flash developers to do their work for them, and that an ActionScript-powered 3D solution will never be good enough compared to next-gen engines like Unity3D. The next versions of both Silverlight and JavaFX are going to have native 3D, and if Adobe doesn't pull their finger out soon, and beef-up the player with support with native 3D models, they are heading for an old fashioned ass-whooping.
  3. Listen to Grant.
  4. Learn Regular Expressions. When I say you should learn regular expressions, what I really mean is I should learn them - they've been taunting me ever since AS3 launched, but I've never got round to it, other than a quick /n here and there. Of course, you should use, not abuse, regex.
  5. Be a better engineer. As both the scope of Flash projects and the size of Flash teams get bigger, it is increasingly important to write readable, well-structured code, and in 2009 we should all take the time to try and improve our understanding of the core principals of object oriented programming - while not forgetting the creative side that makes Flash so much fun.
Have an awesome 2009 everyone! Remember to leave comments if you (dis)agree with me.


Creative Commons image by ambergris