What a load of news on the past few days, uh? I mean, Apollo is now AIR, a new beta version of the Flash Player includes plenty of goodness (including mip map support when resizing images, goodbye Moiré effects!), Apple presents a lot of stuff (including a glimpse of id Software’s next project!)… exciting times.
I’ve also been busy as hell lately (hence why I haven’t posted so much). So as I do once in a while, I’d like to show you the final product of those long hours.
Still Alive is a website the company I freelance for (Gringo.nu) has built for Companhia Vale do Rio Doce, a metal and mining company. Despite being a big client and all that, it’s a playful website, meant to teach people about some of the company’s reforestation projects. It’s also designed by Victor Sahate and developed by me.
In this website you can knit over a dead tree and while doing so, you reveal a new, lively tree, and find – “save” – a few animals in the process. Finding all animals means your name is saved and kept on a list on the website.
Now here’s the cool thing: this entire process, including browsing the website areas, is done with a multiuser environment. This means that while you’re reading the (few) text areas, you’ll see small tags (representing other people) flying around; and when you zoom in to knit the tree, these other people will be there knitting with you. They see what you knit and vice-versa; up to 8 people can be knitting the same tree – like a multiuser room – at once, and new rooms are created when needed.
A very nice website and my first big, commercial website using Flash Media Server (I usually focus on the user interface instead). Getting the multiuser protocol for this to work fine (considering it’d need a lot of updates so you could see the other users moving and knitting in real time) was a real challenge but still fun. And funny enough, it also contains some of the most difficult artificial intelligence I’d had to build to date: if you log into the website and there’s no one else there to knit with you, or if you’re visiting from a network that blocks RTMP messages (so socket communication won’t work), it creates a fake “bot” user that simulates a real user and starts knitting away. The bot leaves when a real user joins.
And while I’m at it, here’s some Tweener statistics for this project, as I’ve mentioned this somewhere else but didn’t go too deep into it:
- 272 addTween() calls;
- 2 addCaller() calls;
- 70 removeTween() calls;
- Transitions used: easeoutquad (47 times), easeinoutquad (1), linear (116), easeoutquint (4), easeinoutquint (10), easeinback (2), easeoutback (4), easeoutexpo (12; which is stupid, considering it’s the default one)
- Some parameters used: rounded (5 times), skipUpdates (6), onStart (3), onUpdate (24), onComplete (57)
Pretty much the reason why I like to keep my tweening development process simple and straightforward.
Update: Still Alive just got the FWA for 19/jun, and
into the Cannes (Cyber) Lions shortlist on the same day a bronze on Cannes (Cyber) Lions for the “Charities, Public Health & Safety, Public Awareness” website category a couple of days later. Awesome.