Why can’t HTML5 and Flash co-exist?

This post is a comment in reply to user sentiments on a recent Mashable poll titled “HTML5 Knocks Out Adobe Flash in Reader Vote”, with some minor changes for clarity.

I’ve mentioned to people before, Adobe is at a critical point here. They can choose to sit on their arses and ignore HTML5, which will steamroll Flash when it does come into play. Or they can choose to do something better with it. Adobe’s strategic advantage will be that they have control over the progress of the Flash platform, and they need to use that to quickly make itself relevant in a HTML5 world.

In the meantime,

Read the rest of this entry »

Papervision3D: Materials and Collada

Today I spent a little of my spare time playing with Papervision3D, in order to participate in a Papervision3D Competition. I quickly ran into a problem, to which I couldn’t find the solution the usual way (i.e. Google). However, I finally got it working, and I’m glad to write up my findings here for those of you who might face the same problem.

The Problem

The problem I faced was simple. I downloaded a few Collada files from Google 3D Warehouse, expecting it to work in my project out of the box. It did work, but it gave me a completely untextured model, like so.

Image1

After a little looking around, I spotted a post which suggested looking inside the DAE file, to check if its materials are pointing to the right locations!

Read the rest of this entry »

Interesting Flash Game: Auditorium

Auditorium is a game which, while not completely unique, blends complex particle physics together with beautiful colours and great music together to create a addictive experience for the player. The particle physics is quite similar to another Flash game Speck Oppression, however Auditorium takes it a step further by introducing other unique features like colours, and different ways to manipulate the direction of the particles.

The game is simple enough. There are multiple “meters” positioned around the game area, which gains power as particles flow over it. However the particle colour must match the meter’s colour. There are also circles on the game area which changes the colour of the particles. The player must then position various manipulates to direct particles in the right direction. There isn’t much else I can say about the gameplay, other than you should play it to find out!

The link currently only shows a short 4 act demo, amounting to over 20 levels. but I think the game is quite promising, and I look forward to the full version.

Revisiting Papervision3D

I subscribe to the Papervision3D RSS feed, and once in awhile something interesting comes along and gets me thinking. This recent entry was as such: a gallery of sites that utilise Papervision3D to create new, innovative graphical user interfaces for their users. Looking at them got me psyched up to start on my own (long overdue) site.

However, going through some of the sites raised a common issue, and that issue is one of userability.

History

As someone in the comments noted, History repeats itself. Looking back to the early days of gratuitous .gif animations, unusable Flash websites, and then to the more recent AJAX revolution of Web2.0. Whenever something innovative comes forward, people struggle to find “proper” use for it, and instead end up throwing it all at the user in the hope that they will be “shocked and awed” by it. Perhaps, in the Dark Ages of Web1.0, this strategy would have worked (and it did, for a time). However, people on the internet are now tech-savvy: they want their stuff, and they know how to get it. To prevent them from doing so in any way would be a death-sentence to any website.

Read the rest of this entry »

Labs: Line-Of-Sight

Did a quick little experiment with Line-Of-Sight Calculations in AS3.0. I’m not too happy with it at the moment, and trying to find a balance between performance and accuracy, but you can see what I have done so far in the Labs.

Experiment Focus:

  • flash.geom.Point;
  • Line of Sight

View Experiment

My FlashDeveloping Tools

Came across a post by Wayne Marsh today, documenting the tools he uses to develop in Actionscript 3.0 without his wallet being set back by a dollar. And it is exactly the same as how I do it as well, with the long awaited release of FlashDevelop 3 looming.

So be sure to go over for a look at how you can start developing in Actionscript 3.0 for less than a penny.

Abstracting Assets from Actionscript in AS3.0 – Asset Libraries and DuplicateMovieClip

Introduction

I write this article because it seems to me that quite a few people still have no idea how to duplicate external assets (such as duplicating MovieClips, for example). Thus, I decided to take this opportunity despite there being quite a few articles that document this. If I haven’t bored your by now, read on!

First, Some History

Assets in Flash are normally quite coupled with the SWF. This is probably a result of the long years of timeline scripting that has been burnt into our memories. In Actionscript 2.0, however, the process of abstracting Assets from Actionscript was slightly alleviated through the copious use of duplicateMovieClip(). I too, used to be an avid user of duplicateMovieClip(), until I made the transition to Actionscript 3.0, But before then, duplicateMovieClip() was my quick and dirty solution to many situations I came across in Flash.

Abstracting Assets from Actionscript in Actionscipt 2.0 was relatively simple. One need only separate his/her assets into separate swf files, and simply loadClip() them into the SWF, and employ the use of duplicateMovieClip(). In Actionscript 3.0, however, this situation has changed as Adobe saw fit to remove (or shall we say, omit) the duplicateMovieClip() method.

Now, Adobe recommends the use of the “new” keyword to instantiate multiple instances of a Class. From the Actionscript 2.0 Migration reference:

In ActionScript 3.0, use the new operator to create a new instance.

This doesn’t really help us abstract our Assets from Actionscript. Most of us who have played around enough in Actionscript 3.0 would know that this requires that the Class be part of the SWF calling it, and in facts forces us to embed our assets within the SWF. Using the Loader class to import external SWFs does not expose any classes that we may use to invoke the “new” operation. At least, not obviously, as we shall see later.

Read the rest of this entry »

Papervision3D Clipping Issues

Gah! What is with all the clipping issues I get? The problem arises specifically at angles close to multiples of 90. I suppose these are problems arising mathematically due to some special trigonometric properties, and seriously hope they get fixed soon.

Again, of course, the library is still currently in Beta status. So it is probably not perfect. However these are the kind of things I’m hoping they will iron out as time goes along.

Unfortunately, I can’t seem to grasp 3D Rendering techniques, and I won’t be making my own engine anytime soon! There goes my Rubik’s Cube idea…

Papervision3D is impressive, but…

I’ve been playing abit with Papervision3D recently, and I’m seriously impressed with their work. However, there were some parts I had trouble with, but I’m willing to let it pass, as it is still in Beta status. Seemingly trivial things like “changing the textures of each side of a cube” seems to require some subclass. And in some cases, I still found evidence of bad clipping. Though that is probably my fault.

Over the next few days, look out for my wonderous journey in learning Papervision3D.

Flash on iPhone?

Recent speculation suggests that the Adobe Flash Player plugin would be coming sooner for Apple iPhone’s Safari sooner than we’d thought/dreamed.

I can’t even begin to speculate the amount of possibility this opens up to flash developers. This is perhaps far more revolutionary than WiiFlash! Imagine the touchscreen capability of the Nintendo DS, opening up to the Flash platform, allowing for a whole new slew of creative works for Flash. One thing I’d definitely want to see, if the above does turn out to be true, is a port of Ouendan!.

That aside, though, there will be a number of things to think about. Firstly, public adoption of the iPhone seems rather low at the moment to me, due to price and also network restriction. Not to mention its only only available in the US. The other interesting thing I’d like to see being taken advantaged of would be the iPhone’s Multi-Touch technology. Most “WiiFlash” games that take advantage of the WiiMote are no more than glorified Flash games using the mouse. How would Flash developers be able to take advantage of the different Multi-Touch capabilities?

Although this may never come, its still something worth keeping a tab on.