I'm so excited that I finally got to work on some experimental Flash at my professional employment. It is a nice change of pace to push an idea to the limits...and then some. In fact, I'm still not done working on the possibilities. This was only the starting point. Making text fall. Tie it into the Box2DFlash Physics Engine.
I want to give yet another shout out to Emanuele Feronato. If you are looking at this code, and are completely lost, he has EXCELLENT tutorials to get you started. Thats where I ended up taking my first steps in Box2DFlash.
Now in the guise of learning. I don't intend on going too indepth with the code...there is a lot going on. But hopefully, by breaking it down into phases, you can understand my building process. Something like this isn't accomplished in one chunk of code. It is build up by steps. At least the way I code. Read the rest of this entry »
Now feels like a good time to get back into it. Especially coming across this site:
Sure, it doesn't seem like there has been many recent posts. It can be hard juggling a life around experimenting. It doesn't make it any less awesome when you see something and get inspired. Here is what I found, a AS3 script that would not just draw a line, but so nice ribbon curving and add a glow around everything automatically. It is just begging to be multitouchable (that sounds a little dirty now that I think about it).
"This experiment uses the AS3 drawing methods to generate an organic mask formed by several pairs of points linked with curveTo.
The generated shape masks a simple radial gradient and the result has a GlowFilter and a DropShadowFilter applied to it."
It works great, no doubt about it. But the source is there, we can take it a little further. Now I got a lot further than expected working on it, and the night is starting to get late, so I'm going to try and condense the main ideas I want to remember that are the most useful.
Fire up the SVN, there's an new experiment to check out.
multitouch magnifier - AS3 from Chris Yanc on Vimeo.
If you don't have all the files, you can find them here: http://code.google.com/p/multitouchas3experiments/source/checkout
For this one, you are going to need Flash CS3 or CS4 as far as I know. I don't know how FlashDevelop or Flex will translate. We will be using assets from the Library which are linked to AS files. I'm thinking it'd be best to go through the files. Read the rest of this entry »
Fire up the SVN, Touchlib's AS3 TUIO library has been updated! Along with RotatableScalable. These files have been my introduction to developing Flash AS3 apps for multi-touch. This is a great thing, changes that have been mentioned in the NUIGroup Forum Threads have been added in. And even suggestions from this site has been added as well.
Addition of DX/DY event sending. Important for getting multi-touch FluidSolver to work
returnBlobs(); function was added into TUIO.as ~ a personal favorite of mine ~ read more
RotatableScalable scaling registration point bug fixed ~ read more
and TUIO debug mode ON/OFF bug fixed, all tracking diplays can be turned off without errors
Now that Touchlib is once again updated. I've integrated the new files into my own collection of experiments., and went through each one to make sure no problems arose. Another thing I began checking was using Flash Player's Standalone Debugger version 10. For those who don't have Flash to work with and do not have a stand alone player, that's where you can find one. Read the rest of this entry »
I do like the Flash and Math website. Is it a great place to find some tutorials and examples for actionscript. One in particular I'd like to point out is building a simple 3d cube, without needing APIs like Papervision. But, you will need to be able to compile SWF files with Flash 10 capabilities. Read the rest of this entry »
NOTE: The first video uses an unedited MSAFluid Processing example. But the example was saved intended to be used with the multi-touch iPhone app, where the screen is so small, to use normal velocities could make the display go haywire. The video later uses high velocities to produce expected results.
So the very first time I heard about it, it was called MSAFluid.
This is a library for solving real-time fluid dynamics simulations based on Navier-Stokes equations and Jos Stam's paper on Real-Time Fluid Dynamics for Games.
Which can be found at Memo.tv here, release 3 April 2009. At this point Memo (Mehmet) Akten was able to create a Processing app to create something simply amazing! If you have not seen it yet. GO SEE IT! You'll be blown away.
But it doesn't end there. A little time passed. May 12, 2009: At a blog titled, astatic notes took the Processing code and release an Actionscript 3.0 version! It was dubbed, FluidSolver.
Not even 24 hours of the release of the source, Seth Sandler of NUIGroup was the first to take the single mouse interaction and converted it to a full multitouch app. (If only I wasn't stuck at work at the time, hey myself, no excuses!) And get this, multitouch vs single mouse shows no drastic differences in performance. Eugene's inital development into Flash did a brilliant job managing resources. I'm going to have to learn as much as I can from it.
So that's the story I know. So what hasn't been talked about. Well, when I was playing around with both versions I definetly noticed a performance difference, which some of you may not see depending on the caliber computer you use for your MT devices. Here is the computer I use:
Windows XP Pro desktop
Intel Celeron Processor: 1.6GHz
2.0 GB RAM
NVIDIA GeForce 8800 GT Graphics Card
Projector: Dell 3300MP
Now I'll be the first to admit that this is Not a quick setup. It was actually my backup machine. My normal computer uses an Inter Core2 Quad 2.5GHz with 4.0 GB RAM. One reason is that I need the more powerful desktop for freelance gigs and it is much easier to code on a computer setup on a desk then integrated into a table. The other reason is it offers that little bit of extra challenge to make sure apps I develop work as best they can with minimal system requirements. But any time I feel left out power-wise, I'll swap towers (^_^)//
What are the results already?!
I have to say that on my setup, Flash blew away Processing. Which shocked and amazed me! Now the Flash doesn't make it to the full 30FPS. It only hits 10-15FPS. Processing? Well it worked great with the mouse, but touch integration? Forget about it. But I'm no fluent Processing user, I am capable enough to be able to use examples and libraries. So I could be missing files, I could have something setup wrong. I can only show you what I have running.
But in the end. I'll add a huge check mark for Flash in the world of multi-touch app development.
Looks like a spoke too soon. Take a look at this NUIGroup thread. I feared that I didn't have something setup right in Processing. Thanks to some quick guidance from theigor, Process is up and running how it should be. And like everyone theorized, Processing preformed circles around Flash. I wasn't that surprised in the end I suppose, but I know one this for sure; I can intergrate this into other SWF files and study and edit code I am much more familiar with. And Flash has a nice interface to chance the fluid attributes on at runtime.
MSAFluid vs. FluidSolver II from Chris Yanc on Vimeo.
I would also like to quote Memo from his Vimeo comment from the first video:
"On a note regarding performance comparison, I don't think the flash demo has the same number of fluid cells (was it 40x40?) as the processing demo (was it 120x80?), so to compare the performance of the two demos would be unfair. But I must add that I am very impressed with the flash demo's performance anyway, it flies on my macbook pro and looks great, so great job Eugene!"
So this comparison isn't exactly and apples to apples comparison, maybe not even apples to oranges. I'm gonna call it apples to waffles. But thinking about it more just now, maybe it is apples to oranges. Apples to waffles would be comparing FluidSolver to my app prototype - for 36 views of a bridge video project. But the video has already been rendered and uploaded, so I hope we can all just take it with a grain of salt. Dude I've been using a lot of catch phrases lately. Krikies, I'll try to give it a break.
I felt that it is finally time show everyone why there has been a bit of radio silence on the experimenting front.
So without further adeau.
Multi-touch Flash app prototype - for 36 views of a bridge video project from Chris Yanc on Vimeo.
Rock the vote!
Here's the long and the short of it. I've been collaborating with Alexander Boxerbaum for an upcoming event in downtown Cleveland Ohio called Ingenuity Fest. Alex's project is called 36 Views of a Bridge, take a look at the previews, I think it looks amazing.
The plan is, the audience should be able to vote on which video(s) they like the most to change the order of the final playlist of all the videos. So the initial options are, vote online, vote with mobile devices and vote at a computer interface at the event. But with the event being focused on ingenuity, there needs to be something a little more than just computer and mouse... but what?... wait for it... Multi-touch Table and multi-touch Flash interface.
So here is the rundown:
One computer runs the multi-touch table and the voting
Each vote is sent to a web server via PHP to a MySQL database
the same PHP script can also collect votes from webpages and mobile devices
A seperate computer reads the votes from the database to reorder the video playlist every time the full playlist has completed
And there is the base functionality, in addition to that. There is a multi-touch magnifying glass feature built into the stage. Touch on the map and get a viewport of 3X magnification of the map. Just a little bit of spice added into the app.
There is still much to do to get the app finalized for the event. So I'll be working hard to get it ready in time to get the proper videos in and any design revisions to the app. I'm also trying to get a new table prototype ready in time.
The is something powerful at your disposal in the touchlib library for AS3. It is called RotatableScalable.as
Now, it is a bit messy. And there is code in there that doesn't really need to be, but it is a Great place to start if all you want is to Drag, Scale and Rotate MovieClips. Unfortunetly, it's not without bugs to work through. Lets do a really quick test in Flash. Read the rest of this entry »