Archive for September, 2009

Flash on the Beach 09 - Links

Monday, September 28th, 2009

Below is a list (and some brief explanation) of links with interesting stuff found at Flash on the Beach this year.

Joa Ebert (from hobnox) talked about one of the geekiest subject known to man : Compiler optimization. Good to know some people care about those  things. This is how you can get cooler stuff on the screen. It have the potential to made our work run 10 times faster.
http://code.google.com/p/apparat/
http://blog.joa-ebert.com/2009/08/05/turbodieselsportinjection/

Some good optimization techniques from Grant skinner too: http://gskinner.com/talks/quick/

Contrast’s presentation about breaking design convention:
http://www.contrast.ie/blog/
Some good arguments here. Especially about the end of portal pages and brand over sale (yes we don’t need a massive logo on every single page).

Live feed visualization by Trevor Boyle during the elevator pitch:
http://blog.trevorboyle.com/wp-content/uploads/twittersphere/Twittersphere-Visualizer.html

What can be done with sound from various presenters:
http://www.hobnox.com/index.1056.en.html
http://www.frogdesign.com/
Ruben’s tube + propane: http://www.youtube.com/watch?v=HpovwbPGEoo
http://blog.drwoohoo.com/
designmind.frogdesign.com
www.openframeworks.cc

We saw some really cool live drawing session from James Jarvis:
http://www.youtube.com/watch?v=oZHBSBG7RSs
http://www.amostoys.com
James Patterson: www.presstube.com

And Art made with flash:
http://www.joshuadavis.com/
http://hype.joshuadavis.com/

As well, Joel Baumann from Tomato introduced us to some early century artists who being playing with generative art way before flash came about. And shown us us some of his work, some of it still remain really cool like the TV-Asahi indent - sound generated logo !

Stacey Mulcahy, talked about how devs and creatives can work together
better: www.bitchwhocodes.com
Some good technologies that can facilitate that:
- SVN: http://versionsapp.com/
- Version Cue: http://www.adobe.com/products/creativesuite/versioncue/
- Catalyst: http://labs.adobe.com/technologies/flashcatalyst/ (Though I don’t believe in it too much…)

Learn OOP in Flash: www.lostactionscriptweekend.com
And Automate publishing of .fla files: www.deleteaso.com
Koen de Weggheleire: www.newmovieclip.com

Union multiuser Flash platform: www.tryunion.com
- documentation + tutorials: www.unionplatform.com
- cool example: http://clockmaker.jp/blog-en/2009/08/union/
Multi user experience cheap and easy

MegaPhone, using mobile phones as controllers for billboards:
www.playmegaphone.com

Flash on the Beach 09 - Play with Vectors

Thursday, September 24th, 2009

This year I was only able to go to Flash on the Beach on the very last day. Never the less it was once again a really awesome experience and I learned a lot and got a lot of inspiration as well. I'll try and post my notes from all the talks I've seen, but it might take a while...

23-09-2009 9.00 Koen de Wieggheleire - Play with Vectors
Koen did a very in depth talk about the Vector class in AS3.

The Vector class is a dence array which means that it can't have any gaps, so something like the below would throw an error:

Actionscript:
  1. myVector[0] = 'bla'; // See how we're skipping positions 1 and 2?
  2. myVector[3] = 'something else';

You can you an array as a 'data provider' to populate a Vector:

Actionscript:
  1. myVector = Vector.<String>(myArray);

Using the Vector class will give you a performance boost of about 40 to 60%.
Unfortunately you can't directly bind to a Vector in Flex, you can however write a wrapper class and bind to that. ;)

How to use in 3D

The Matrix3D class is somewhat complex to understand, but the image below should clarify it a bit

You can use myDisplayObject.transform.matrix3D to retrieve a DO's Matrix3D or assign a new matrix3D to it. There are also build in methods to user rather than creating a new Matrix3D all the time, see http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/geom/Matrix3D.html

Nice thing I only found out now about matrixes: You can skew objects with it! Rock on!!! \m/

How to use with 2D

Pretty much the entire graphics API in Flash relies on Vectors. The drawPath() method below (which is pretty much the core of drawing vector shapes) takes two Vectors (the Vector data type) as arguments.

Actionscript:
  1. graphics.drawPath(commands, data)

  • the commands argument is a Vector containing GraphicPathCommands
  • the data argument is a Vector containing x and y pairs that determine the path to draw.

The new Illustrator can export to FXG and you can actually import this FXG data on the fly in Flash, parse it and draw the exact same.

Some notes on UVT (texture) mapping:

  • U matches up with the x location
  • V matches up with the y location
  • T determines the focal length

The right value for T can be calculated with the following formula: T = focalLength / (focalLength + z)

Useful links:

MXML and code behind

Friday, September 18th, 2009

I'm a big fan of keeping MXML files clean by not having any code and style information in them. You can get rid of the style information by using a style sheet. A nice way to get all of your code out of the MXML is by using the code-behind method.

Code-behind encourages developers to build applications with separation of presentation and content in mind. In theory, this would allow a web designer, for example, to focus on the design markup with less potential for disturbing the programming code that drives it.

There is a good article by Aral Balkan at the Adobe Devnet on using the code-behind method with Flex.

Links:

MXML without Flex

Thursday, September 17th, 2009

Rock on! \m/

http://www.ryancampbell.com/2009/08/26/using-mxml-without-flex-example-and-source/

WebGL

Wednesday, September 16th, 2009

Got a reminder about this very interesting technology today, definitely going to keep an eye on it, 'cause it's going to be really cool!

WebGL™ working group for enabling hardware-accelerated 3D graphics in Web pages without the need for browser plug-ins

Interesting links:

BF:H Random tip

Tuesday, September 15th, 2009

Whenever you join a BatlleField: Heroes server a 'Tip of the day' is displayed. I was wondering where I could find all the tips and if anybody had already done something with them (i.e. create a service to get a random tip).

I couldn't find anything after a Google search, so I started looking around. It turns out that all in game copy is stored in a file called 'strings.csv'. If you have BF:Heroes installed in the default location, you can find it here: 'C:\Program Files\EA Games\Battlefield Heroes\mods\bfheroes\Localization'. This file is a comma separated values file which you can open with Notepad and even Excel.

The bits I needed to have tips displayed are the rows starting with 'WEST_FE_Loading_tip_ingress_' and 'WEST_FE_Loading_tip_text_'. What I've done for now is copy those fields over into an XML file: http://ansuz.nl/php_lib/bfheroes/tipoftheday.xml. I guess a next step could be a little script (or AIR application) that takes the 'scripts.csv' file and converts it to XML in the format I need.

I then created a small PHP script to load the XML file and display a random quote, see here: http://ansuz.nl/php_lib/bfheroes/tip.php?method=randomTip
The first line is the 'tip header', the second the 'tip body'. Both are wrapped in a 'span'-tag with a unique class name so you can style it the way you want.

The final bit I did is loading a random tip on a site with my BF:H stats and applying some styling to it: http://ansuz.nl/bla/bfheroes/.

Interesting PV3D finds

Monday, September 14th, 2009

It's been a while since I've used PV3D. I ran into a couple of very interesting PV3D related post some time back, completely forgot I had bookmarked them somewhere and now ran into 'em again.

PaperVisionX

PapervisionX is the next version of Papervision3D built from the ground up based on Flash10’s new 3D api.

An article explaining what PVX is and what it isn't: http://blog.papervision3d.org/2009/03/16/papervisionx-what-it-is-and-what-it-isnt/

3D fur

Using (old) gaming techniques to create a faux fur effect in 3d: http://kode80.com/2009/06/25/papervision-fur-3d-texture/

VisualPV3D

VizualPV3D is a Flash Visualization Application that provides a GUI interface to create and manipulate objects in 3D scenes using Papervision3D.

More info and download here: http://www.juxtinteractive.com/work/vizualpv3d/

Git

Tuesday, September 1st, 2009

I've been meaning to look into Git for a while now and I've finally found some time to do so.

Git is a free & open source, distributed version control system  designed to handle everything from small to very large projects with speed and efficiency.

I've been using SVN for some time and MS Visual SourceSafe before that. SVN was a big improvement over VSS and Git looks promising by claiming it's faster than other revision control systems.

Working on a Windows machine made it a tiny bit harder to get Git up and running as it is developed for Linux. Luckily there are a lot of open source developers and some of them built MSysGit to have Git running on Windows in an easy way.

Another point is that a lot of developers have an SVN background and are switching to Git. As a result you can plenty of guides telling you how to use Git compared to SVN. The one I liked best is the "Git - SVN Crash Course" by Petr Baudis.

Obviously as Git is becoming more and more popular there are services popping up like Google code. GitHub for instance is one of them offering a variety of deals, from completely free to very large packages for businesses.

Links:

SourceBinder

Tuesday, September 1st, 2009

SourceBinder is a node based visual development environment for Flash 10.

Instead of writing code you assemble a set of building blocks on a canvas and wire those blocks together. This allows you to rapidly create Flash applications.

You can export those applications into regular Flash SWF file.

SourceBinder will be available free of charge for any purposes.

It reminds me a lot of Lego MindStorms ;)

Links: