In this series of articles I’d like to invite you to meet the library I’ve been working on during last few years: Moderatrix (with a small help from other support libraries).
It started long before I joined Falanxia, but Moderatrix made a good leap lately: it was heavily used in our recently launched Bzoonk Bar game.
So what’s going on here? Basically all you need to see is in the video screencast below – all the effects, animation and so on (it was used in other projects as well, but let’s stick with Bzoonk Bar). There’s a lot more under the hood I’d like to talk about.
You may ask why I didn’t use Flex (or any other user interface library). But first you need to know the requirements I needed to meet.
Everything started when I was in Cyprus for my one year trip to Sideshow. I just moved from AS2 to AS3 and I really needed a strong library to allow me fast prototyping, while not using Flash (you may know Flash IDE is nearly unusable on OSX).
I got to create a feature-packed video player for Involver, and there was a huge list of requirements I had to satisfy:
- fast and easy GUI skinning and rendering,
- skins should be built and used without rebuilding of the player core SWF file,
- so the premium clients could build their own skins – without Flash, just using regular graphics app and a text editor,
- color theming of the existing skins for regular users and not-so-premium clients,
- advanced 3D animation.
The list was somewhat longer, you can check it out on my Involver portfolio page, but I think it’s now clear the requirements were pretty tough.
Actually it was even a bit worse: there were some other challenges I also needed to solve: data and processor consumption should be minimal.
So now you know why Flex was not an option for me:
- Flex apps are usually pretty large (and the Involver player had to be compact; it has to load fast, start fast and act fast),
- they are usually a bit sluggish, honestly,
- it’s not really easy to deploy pixel-perfect graphics in Flex (I got a feeling this could be a reason for a flame war),
- it’s not really easy to add animation, Flex components are too slow to animate smoothly,
- in 2007 it was difficult to skin a Flex component, and if you needed a runtime skin, you needed Flash or Flex to build one,
- no 3D possible – we needed to animate UI containers in 3D and it’s really not possible in Flex even now, few years later – Flex simply doesn’t think you’d ever need to put a subcontainer in a parent container (which may be rotated), but puts it on the stage again
I tried a few user interface libraries available at the time, but nothing was really useful for my scenario. So I decided to build my very own system. It started as a part of my vancura-as3-libs package, but when I started to work at Falanxia, I refactored the libraries into Falanxia suitable ones. And now the libraries are open again – so you can use it right now.
This series will show you how to use them. If you’re interested, please be sure to follow me on Twitter, so you know when a new article is out.





















WWF – My World