Syncing Papervision and WOW Physics with PhysicPV3D

One of the most common requests on the WOW physics mailing list is how to get the WOW engine working with paper-vision.

Often people are directed to Bolt3D which is a wrapper library. As an example of how to implement such functionality bolt is great, however it uses the Away3D Library to bind to, leaving many less technical PV3D users without any real guidance.

To begin to fill this void, Thomas Reufer has released a basic PV3D/WOW syncing framework on google code.

From a quick scan of the code, the classes allow you to define a quick WOW sandbox, and populate this with WOW cubes/spheres and planes, each of which are mapped and rendered as PV Objects.

Its perhaps not an equivalent of the feature rich Bolt3D, but should be a pretty good start for any PV3D user who's having trouble how to integrate the two engines.

3D RTS Flash Game

While the gaming world holds it breath for the player created massiveness of little big planet, Jerome Birembaut the author of WOW physics has just released a beta of a new 3D RTS/Tower defense type game which features player built maps.

If you can decipher french (and by gods you should be able to!) have a look through the blog announcement.

Now thats what i call Spam!

Got this in my email this morning. Probably the most creative spam i've seen in some time... Its a company who scan your email address and extract the domain name, then generate a 3d Photo of the url mapped onto a car...

they sell ,er, galvanized chrome letters...

My Last.fm profile



Random Source folders exported in Flex Builder - TIP

When building a project in Flex Builder. The source folder (usually 'src') is checked and any folders containing files other than .as files are copied into your output directory.

This would mean you could include a file structure by creating asset folders in 'src'. However FB seems a little buggy here, and often you will find a number of folders copied that should not be, i.e they are just actionscript folders.

I've found a cause of this is FB does not ignore hidden files. On the Mac this especially bad as viewing the contents a folder in Finder will tend to create a hidden .ds_store file. This causes the folder structure to be replicated in your output folder.

Not great, but you can manually delete these .ds_store files in terminal. This should stop the extra replication.

HTC Touch Diamond Game

I recently had the pleasure to work with Good Technology, (current revolution Agency of the year), on little game to promote the HTC touch diamond phone.

It makes use of Papervison and WOW physics. You can play it here.

Building a realtime Flash 3D animation (Part Two)

Now I have my models and textures (see part one), simple though they are, in place. The next stage is to write some code to make of use them. In this section I will take a look at setting up papervision and the Tweener engines and gathering my models and textures into a AS3 Project (via FLEX Builder).

(read on)

Building a realtime Flash 3D animation (Part One)

I posted last month, a new game I had just completed. One of the primary reasons for building this game was to try and get to grips with the new work-flows required in a 3D project.

Over the next couple of posts, i'm going to take a look at how I achieved this, focusing on the end of game moon animation.

I'm a beginner with all these 3d technologies, and it was very much a learning process, but one which was immensely satisfying also. I'll be taking a look, at Preparing models and textures, Collada file format, Loading into AS3/Flex, rendering with Papervision3D, and animating with Tweener.

First up models... (read on)

View Source now illegal

Crazy people out there. This story on techdirt tells of a nasty little law firm - which is claiming it is both illegal to link to their site and view source of their webpages!!! Wow i wonder what a user of lynx the linux text based browser would have to do - just look away quickly. Oddly with one of code :
file_get_contents("http://www.cybertriallawyer.com/")
, i can grab the entire home page of the site - and place it into a text box (which ive done below) - i wonder if that is allowed as im not using the view source 'feature; of my browser.. hmmm

Music Producers I know and love

Music plays a big part in most of my projects, and im always looking to make new colobarations with producers.

Recently ive been collaborating with some great producers and i thought id share a link back to their other works.

First up Kolektor1. Kolektor is very active in both the French and Brazilian underground scenes, and donated the short loop I have used on the outro scene in Space Invaders - Episode IV : A new hope. The Tune is part of his recent live set, and brings a fantastic twisted retro feel to the animation, its melody is almost chip music in its tones. Hopefuly I will get hold of the full live set this is taken from soon, in the meantime check out his brazilian crew here

Secondly, Esther Ofei. Musically Esther presents a classic split personality, as she branches out of genres refusing to be pigeon holed by any of them. As Estehr Ofei, shes a well respected DJ/Producer of banging but genuinely soulful techno. Recently as Rehtse, shes turned not just her name inside out but the tempo and flavor of her beats - producing some achingly beautiful down tempo vocal excursions.

DJ N-TYPE - is a pioneer's of the current hottest underground rave sounds in london, namely dubstep. When he's in the UK he's a regular at the groundbreaking FWD in London, as well as Dubsteps number one pirate station, Rinse FM.

Les Trolls, hail from Toulouse in Southern France and have been producing bizarre and wonderful underground noise and sonic tapestries for ever (or so it seems). Recently they have been active in bringing the underground flavor to the middle east, including beirut!! Check out some latest middle east inspired goodness here

New Mario Game!




Space Invaders - Episode IV : A New Hope

Its Space Invaders, Jim - but not as we know it. Actually, its my new game that ive just put up on a relaunched 99lives site (needs flash 9). Have your microphone handy as well so you can record a voice clip for the high score table!

123reg.co.uk have no customer service

Its always a shame when you have to leave a company you have been with for some time. It happened to me a while back when my webhost, a lovely little outfit called geekhosting got bought out by siteocity. After this I could never get decent support or resolutions to problems.

Domain name registrations is one those areas where its nice to use one company, otherwise the management and renewing of URLS can get too complex. Ive always used a company called 123reg.co.uk , initially because i had a mate who worked there - but continually because they had great value for money - and importantly a fantastic web interface for management of DNS.

However they are now part of the pipex group. Not a bad thing in itself, but it seems like so many other smaller companies they seem to be transforming into a purely email based support system.

I can understand this for support - come on - its only domain names -however, theres not even phone number to contact sales. This is a crazy thing! Instead you have to navigate a bizare web based system - and leave a support ticket, in this case my payments are being continually refused. After this, anywhere between 3 days and one week later you will get an automated email informing you to, for example, check your details. You do follow the advice, and after the 20th time of checking - look for a way to follow up the inquiry.

There is none. You have to open a new ticket. You do, and get an identical automated response (worse im sure the automated repose is actually chosen by - a massively overworked im sure - human being).

This is to try and PAY - to give the company MONEY!!

The sad thing is, ive spoken to a few other people who use 123 and they report a similar problem with making payments also. Id be happy to help - but who do you speak to? Bring on the Kafka.

Ironically - I then went straight to to their biggest competitor UKREG and registered my domain in seconds with the exact same card and details.

Sorry about the rant - but other than this I feel so hopeless when confronted with such a wall of corporate mismanagement. Final leaving email included below . Bye 123reg :(

Well i'm sorry to say I've had to leave your service.

All of your (very late) late responses to my requests for help have been extremely purile in nature - for example "ensure you have entered your details correctly" or todays "check use stored card details"

I am an adult, and find these responses insulting to my intelligence, however the reason it has degenerated into making me unhappy, is the sheer inability to reach a human being in decent space of time to discuss things.

Unfortunately when you chase the bottom line - its usually the case you end up on the floor.

I Am a technical Director of a web design company, and have always in the past recommended your company to both clients and friends. However like so many smaller internet companies it seems you have been unable to survive your recent acquisition with anything resembling workable customer service.

Interestingly - I entered the *EXACT* same card details into UKREG and had NO PROBLEMS. As I have mentioned previously (although im sure you have ignored it) - I have spoken to other contacts within the Web Industry, and i'm not alone in having problems with your payment system.

It would be interesting to see some figures on how many payments are being REFUSED by your system - and how many come from stored card details.

Please feel free to send me a final automated response to this mail

Back from outer space

Wowsers. No entries for a while...

I took a little break from all things flash for a while and had a focus on a few other things i'm interested in.

I help maintain a site called network23 - and have made a documentary film for that site. If your interested, in some UK free party action - you can check it out at http://www.network23.org.uk/basslinemovie

It was a massive learning process completing this - and although it tells fairly coherent story - technically it was a bit of a disaster - However it *was* all about learning - and now I know a fair bit about different HD film formats - AVID and Final Cut incompatibility's - and - well - if you think we have it tough in the web world matching pixels between IE and firefox - rest assured all other industries have their similar standard breaking propriety lock in scams going on... brilliant.

Ive got some new flash stuff about to be complete next week. See you then :)

WiiFlash Released

The WiiFlash project have just posted their first public release. Check out their blog entry here http://www.bytearray.org/wiiflash/?p=28.

External interface still too slow

I've been aware that using External Interface in flash 8 was rather slow, although I never had the need to test it myself. Unfortunately the general speed improvements in AS3/AVM2 . Don't seem to of helped external interface. I don't have any old speed stats to compare to, but in my recent tests AS3 external interface seems to begin to choke at around 3Kb/s . Once this limit gets hit, events start to queue up and fire at some (much) later time.

Fortunately Binary Socket rocks. With very little pain, i've manged to implement a Socket Server/Client solution, which quite happily flies along consuming 13Kb/s of Wiimote Data. This Has had no noticeable effect on frame-rate of the test movie, on my machine it belts along at a nice 55Fps.

The great thing here is I can cut the 13KB/s figure drastically by implementing smoothing of wii data at either the C or Haxe level of Flii. The current wiimote drivers only support one wiimote, but i'm imaging that with smoothing implemented like this, it would certainly be possible to support a full roster of four of them.

Controling Papervision 3D with Ninitendo Wiimote in Flii

Theres been a lot of action occurring in Flash / Wiimote integration while I was away on holiday. A couple of other projects have sprung up. Firstly WiiFlash Seems to be a collaboration between Joa and Thibault Imbert of ByteArray.Org. Ive been following the crazy experiments coming out of byteArray, and Joa's work on the Imageprocessing Library, is very impressive, so i'm very much looking forwards to seeing what these two produce. Secondly we have FWiidom.org Setup by Adam of Dusty Pixels. Hopefully myself and Adam will be merging our systems together over the next few weeks, and producing a cross platform solution. so this should be the final version of Flii.

Converting the Focus example to Flii

To get the current papervision Focus example working with Flii is pretty simple, requiring only two changes to the existing code. Firstly, all key handling code is removed from driveCar. The new version is simply,

	private function driveCar():void
	{		
		speed -= ( speed - topSpeed ) / 10;
		steer -= ( steer - topSteer ) / 2;
	}
Then two Flii handlers are written. Here we want to translate movement with the nunchuck joystick to movement of the car, while wiimote position will alter camera angle. Our handlers are,
//flii handlers
	private function onAC(e:FliiEvent):void {
		if (e.data["type"] == 0) {
			smoothX +=e.data["x"];
			smoothY +=e.data["y"];
			smoothCount++;
			if (smoothCount == 5) {
				smoothX /= 5;
				smoothY /= 5;
				camera.z += (128 - smoothX) *4;
				camera.y += (128 - smoothY) *4;
				smoothX = 0;
				smoothY = 0;
				smoothCount = 0;
			}
		}
		
	}
	private function onJOY(e:FliiEvent):void {
		topSpeed = e.data["y"]-128;
		topSteer = e.data["x"]-128;
		//Flii.fliiData(topSteer.toString());
		
	}
onAC is fired when Acceleration data is received, both the nunchuck and wiimote transmit this data, so a type variable is transmitted, which s checked first to ensure only the wiimote is processed. Here the data is also smoothed by averaging 5 values, this works very well, and will be moved out of the AS code in the next version, and into the driver code. onJOY, receives events from the nunchuck joystick position. Here X and Y values are translated directly into forwards/backwards motion (y) and steering (x). Finally we grab an instance of flii, and add our event handlers:
		flii = Flii.getInstance();
		flii.addEventListener("onAC",onAC);
		flii.addEventListener("onJOY",onJOY);
Heres a little video demo of the modified file in action. You can also see the current flii framework, which consists of FLEX based app, and some wiimote monitoring panels. If any body is interested in playing with this Mac only version drop me a mail for copy.

LcBroadcast v1.0.1

Added a small update to LcBroadcast class. Ive added a single string parameter to the constructor;

var my_lcb:LcBroadcast = new LcBroadcast("com.freesome.demo");	

The string is a unique identifier for your application. I would recommend a java style package string such as the one in the example.

Adding this identifier will allow different applications to use LcBroadcast without effecting each other. For example a podcast player and a video player may both use LcBroadcast to control their individual instances. In v1.0.0 messages would be broadcast to both podcast and players, the unique ID will ensure messages will only reach instances of your own choosing.

Holiday :)

Heading off to Argentina tomorrow!

Cant wait - i'm not even taking a laptop :)

Having said that - its an indication of how exciting things are at the moment that i have even a slight tinge of regret to be off the radar for three weeks.

Personally i've got a couple of projects very near to release. Work wise, theres some interesting happenings. And i'm constantly seeing mind blowing work in the world of open source flash.

Its been great to watch and be part of this platforms maturing from universal hate magnet - in its days of ubiquitous banner ads - to something capable of producing projects like papervision and HaXe.

Its a shame to ever have to come back from holiday. But i guess its not going to be *so* bad :)

Are you ready for a 3D web?

I'm not by nature a flash evangelist actually. I have in the past (and i'm sure in the future), had innumerable rows with creative directors who still believe things like flash based shop fronts are a good idea.

However where flash shines, it really shines. Web video delivery has been revolutionized thanks to youtube's flash based player, and myspace did the same thing for audio. Since last year though there has been a completely new Virtual Machine being shipped with the latest flash version 9 plug ins. This new VM has such incredible speed improvements over the old that I think we are on a cusp of a whole new set of web applications, which I think flash may come to dominate. There's three factors involved here as I see it.

1) Flex. Flex makes developing RIA's so simple, that anyone from pretty much any coding background, can have a beautiful looking RIA up in less than a week. Its a bold claim, but download the demo and try it.

2) The Flash Open Source Community. In a very short space of time sites such as OSFLash have evolved into mature hosts of some incredible open source software.

3) The emergence of high performance 3D API's.

Why 3D? The turning point for me is the demo at MacWorld of John Grden's Paper Vision 3D AS3 Demo. By all reports jaws had to be scraped of the floor, but why, its only 3D right? You would think that with every home having a playstation in the front room, people would be pretty unimpressed by 3D. However this is the web, and here we're still stuck 10 years behind the rest of the world in terms of real time 3D. Sure it can be done, we've al seen JAVA based apps out there do some wonderful things, however only flash right now has the near total penetration to truly deliver this to the masses. And before the new VM it just wasn't possible.

I don't think as yet the killer App for 3D Web exists. I would be tempted to say Second Life, but its still maybe too geeky and not mass market enough to fit. I do think there is a very real chance of the killer app being written in flash when it is written. Don't get me wrong, I believe we're gong to see a thousand unneeded and weird 3D interfaces and effects, but its going to be a learning process for everyone, as to just what we are supposed to be doing, and how best to do it. And if you want an environment to experiment, both quicker to develop with than other solutions and with less associated costs, then Flash with its propriety and OS tools is going to be a very tempting solution.