Remoting with BlazeDS from plain vanilla Actionscript 3 class

Thursday 21 August 2008 | Labels: , | 77 comments |

I wanted to use BlazeDS from within my plain AS3 project (no mxml or Flex, well of course I need to use the Flex remoting and rpc classes on the client). I found a number solutions on the web, unfortunatly none of them worked. After much effort I got a example almost working but I kept getting this error on the client:

TypeError: Error #1034: Type Coercion failed: cannot convert Object@13e9921 to mx.messaging.messages.ErrorMessage.

and this error on the server:

No destination with id 'null' is registered with any service.

Fortunally Peter Farland over at the Adobe product forums gave me a (rather obscure) solution:
http://www.adobeforums.com/webx/?13@618.wIQPiTpvUo4@.59b6384e/0

I thought I'd document the full solution here in case anybody else ran into the same problem.

Environment

  1. BlazeDS, the recommended turnkey installation (my file was blazeds_turnkey_3-0-0-544.zip)
  2. Flex 3 SDK
  3. Flash Develop 3
Setup

  1. Unzip the BlazeDS zip file and start the sample DB and then Tomcat as the standard instructions say.
  2. Check the sample 3 in the "Take the test run", you should get a grid up with a load of camera data.
  3. Go to the [BlazeDS install directory]\tomcat\webapps\ROOT\ and copy the crossdomain.xml file there
  4. Now open you AS3 dev enviroment, I used Flash Develope, but Flex builder, Flash IDE or FDT will do.
  5. Create a project and copy the Main.as source file at the end of this post as the main class.
  6. Check the url in the code is correct for you
  7. Run it, you should see a load of trace. In that trace there you should see the same information as when you ran example.
My next post will be about configuring your own services and classes on the server, and maybe a more general solution...

Files
Main.as
crossdomain.xml


glaze Physics engine code released

Wednesday 6 February 2008 | Labels: , , | 19 comments |

What had a working title of pEngine is now part of the glaze engine. It now only comprises of the rigid body dynamics engine, I'm going to now slowly port over the other features such as tile support, AI, line of sight etc. I was going to wait with this release until the code was complete and I was happy - which was probably going to be never so I though I'd get it out there a see what people might make with it.

The source is available at http://code.google.com/p/glaze/

The latest demos can now be found at http://home.planet.nl/~borst595/glaze.html

Good luck with it, post any questions, comments of links to anything you make on the group: http://groups.google.com/group/glaze-engine

Broadphase now added...

Wednesday 23 January 2008 | Labels: , | 2 comments |

I was a little skeptical about broadphase with tightly packed bodies. After some playing around with Sweep&Sort I came up with a very efficient version that Actionscript likes. I also implemented my own inline Insertion Sort on the shape list to take advantage of spacial coherence (anybody know that the built in AS3 Array sort algorithm is?).

Result? A bump to 425 bodies - not all that stable sometimes. The stack just disintegrates at various points sometimes - I'll have to take a look, maybe bump up the iterations of the solver...

Find it here: http://home.planet.nl/~borst595/pEngineStressDemo.swf

or through the link at the bottom of the main page:

http://home.planet.nl/~borst595/pEngine.html

Now I really need to start fixing stuff for a release rather than seeing how fast I can make it....

Showing off...

Wednesday 16 January 2008 | Labels: , | 5 comments |

Same demos as the other version of pEngine, only this time demo 1 (press 4) is a tower of 246 individual blocks.

Don't forget, you can aim and fire a block by clicking the left mouse button...



Play here:http://home.planet.nl/~borst595/pEngine246.swf

A reasonably decent computer required as well as the latest flash player - get it now!

New Actionsctipt 3 Physics / Game Dynamics Engine - Port of Chipmunk

Tuesday 15 January 2008 | Labels: , | 1 comments |

After trying to a number of ideas for my tile engine, I decided I really wanted rigid body dynamics - my existing glaze engine is really only a particle dynamics engine. The trick with rigid body dynamics is to get it stable (aka no jitter). Fortunately there is a solution for this (SI) as shown in the Box2D physics engine (also ported to Actionscript 3) and the Motor2 engine. There is also a rather elegant implementation in C called Chipmunk.

After a few marathon coding sessions I ported the bulk of the code to Actionscript 3, and once working rewrote large chunks so that it was more optimized for the AVM.

The initial result can be seen here: Chipmunk Port - pEngine Alpha

I've still got a long way to go - I'm working a very simple API at the moment that allows you to describe a scene using tiles. I'll be updating this blog more frequently as I progress.

ICK

Friday 30 November 2007 | Labels: , , | 2 comments |

After some playing around with various physics engines I decided to write a Verlet/Particle Physics Construction kit. Let people play around with building things out of not-so-steady materials. Anyway after some experimentation I ended up with something that played not unlike Tower of Goo (http://www.experimentalgameplay.com/game.php?g=17).

For some reason or other I decided to recreate the look and feel of Tower - mainly for the challenge of creating a native game into Flash/Actionscript.

The result is here:

http://www.100percentcode.com/ICK.html

See how high you can get!

If you like it the guys a 2D Boy are making a full games out their original - It also been entered into the IGF 2008 - good luck guys...

Exile Remake Update

Wednesday 26 September 2007 | Labels: , , | 0 comments |

The latest demo of the engine & game can now always be found here:

http://home.planet.nl/%7Eborst595/Exile.html

Controls and Instructions can be found on the page. Its worth noting that this engine runs much faster with the latest Flash 9 Beta found here:

http://labs.adobe.com/technologies/flashplayer9/

This demo is running at 30fps.