Archive for the 'Project' Category

Sandy 3.1.2 release

Friday, December 4th, 2009 by Niel :: Project, Releases, en :: 2 Comments

History has something to say about sandy – that cannot be said for every flash engine. In the early days when the first demos were shown at the end of 2006, sandy claimed the well-deserved crown of being the first fully fledged 3D engine to run on flash.

It was clear though, that there was a lot to be done, the API was refined, parsers were built. Since then, the market for flash 3D engines has exploded, both in the open source world, and in the commercial world. Sandy has undergone 3 major release cycles, several branches for different compilers and programming languages. To honour Sandy’s great history, Makc has created a video:

youtube-sandy-history

Without further ado, the team presents release 3.1.2, which represents a final minor point release to round off the Sandy 3.x development timeline. The main features of this release are:

- experimental BSP object sorting (Makc)
- plenty of bug fixes (mainly on caching system, some better garbage collection, and clipping)

Special thanks goes to Thomas Pfeiffer for creating Sandy and making this project feasible. Without his support, Sandy and it’s many variations would not be possible.

AS3 source and API documentation download: sandy3-1-2_src (SVN revision 1141).

There is also a haXe version, that features an MD3 parser by Russell Weir. This is used with haXe compiler to create Sandy applications for Flash and potentially other targets.

haXe download: sandy-hx-haxelib-3.1.2.zip.

RedSandy-0.9 is out

Tuesday, October 20th, 2009 by Petit :: Releases, en, games :: No Comments

A major update to RedSandy is here.

redsandy

According to Andy:

- If you have looked at the package before, you would  not recognize it now.

There must have been 30 classes in the old version and countless vectors to make it all run. This version, I think has 5 or so, and the scene is left to the developer. I just bring the remote transform groups and remote messaging/passing of object maps.

The end result from the old package was was similar, providing a shared transform group for each client, however it left little flexability, and was a large complicated body. In this version, I have rewritten it from scratch, and most importantly, cut out the need to use it’s world and scene. Before, the scene was created by the package, and you lost most control over the rendering.

Now, using the package, you provide everything. Your world, your root, your render routines. All the package brings is the other client, and a host of communication methods. Of course, the ‘SharedTransformGroup’ is the most important aspect of the new package.

Picture this: You have a scene and a charater already , and you want to make a multi-user environment. You construct a ‘RedSandy’ object which will deal with the network. You set a handler as it’s client.

RedSandy creates a ‘SharedTransformGroup’  for you and notifies the client when it is ready. Let your client alter the position and orientation of this extended TransformGroup, and it will propagate to the other clients.

When a new user loads your swf, the RedSandy class calls your client to notify it that there is a new SharedTransformGroup available in the same Red5 ‘room’. You then load another character primative and place it in the new  SharedTransformGroup  .

Of course, you need to add these special transformgroups to your world. And based on the server granularity, you will start to receive a stream of data which is processed in the background.

Clients are scoped out in rooms.  rtmp://server/sandy/roomName.  Only clients in that room share data streams.  The top level is also a ‘room’  rtmp://server/sandy

There is a project that is going to go to public beta testing very soon, at whirled.com.

Sorry for the inconvenience

Tuesday, June 23rd, 2009 by kiroukou :: Project, en :: 1 Comment

The flashsandy website has been unreachable for few days, our appologies for that.

Seems that our host made a small mistake and erased all the domain files.

Hopefully they gave us few minutes ago a backup (thanks for the reactivity) , and now we are working to put back the wiki IS back online. The forum and the blog are already doing their job again as well :)

The Sandy3D team

Bringing Physics to Sandy

Saturday, May 9th, 2009 by Petit :: Contributions, demos, en :: 2 Comments

Falling Debris

We have seen physics in Sandy 3D before, using the WOW physics engine. We also saw some examples of using the jiglibflash engine by muzer. You may not know, that we also have adapter classes ( jiglibflash plugins) for knitting together the brilliant visuals of a Sandy 3D world together with the physics aware  objects of jiglib.

This simplifies things a lot, as it helps us create these twin objects – a Shape3D and a RigidBody and add them to the Sandy scene as well as the jiglib physics engine.  The engine is an amazing piece of code, capable of creating belivable as well as unbelievable motion. The library is under development, as one might expect, and has so far not much of a documentation.

It has gravity, body mass, collision handling and ways to apply spring constraints between bodies.  For a game developer this is gefundenes fressen.

I’ve started to write a tutorial on how to use the jiglibflash physics engine withe Sandy.  Go there and get some introductory advice, and start experimenting.
/Petit

Sandy AS3 3.1.1 release

Saturday, March 28th, 2009 by kiroukou :: General, Project, Releases, en :: 4 Comments

We are happy to announce a new version of our engine, tagged as a 3.1.1 since this release comes with some improvemens and bugfixes withotu any API change. [Edit] A 3.1.2 release in sync with the 3.1.2 haXe version is now available under download.

We are really recommanding to make the upgrade, since there’s a better memory management with the addition of a smart reference counting system. Basically this system allows material ressources to be disposed automatically as soon as no polygon reference it. You don’t have to care about that manually, Sandy does it for you. If you need to keep the material alive for some reasons, just set the property of the material autoDispose to false.

We also added more examples to help users to get started with the library. In this examples you can learn the best practises and rapidly give a try to the feature you need while preparing a project.

Here is the change log: (Access complete changes list)

  • fix of a bug with visible property and cache system
  • change in the skybox class and orientation of the roof texture
  • addition of a dispose method to materials
  • advanced reference counting system on material which makes the dispose method to be called as soon as no more polygon use it (if the autoDispose property of Material is set to true which is the default value)
  • fix memory leak when clipping was enabled
  • improvement of Mode7
  • fix sorting issue with clipping and useSingleContainer = true modes
  • minor improvements

Now you can go to the download page and get that new power into your Sandy3D apps !

Sandy 3.1 released!

Wednesday, March 4th, 2009 by kiroukou :: Project, Releases, en :: 1 Comment

We are proud to annouce that the 3.1 version of Sandy3D is now available as a stable release.

After some good testing since the Release candidate, the API is now very stable and quite faster!

Most of the rendering process has been redesigned to gain few ms here and there, and to give more and more flexibility and reliability.

The version number step means there are some backward compatibility issues, but check the article on how to port your code from 3.0.2 to 3.1, and you’ll see how simple it would be for you to get that brand new power.

Now go and download it !

About the major features:

  • parsers improvement, and automatic texture loading added to all parsers
  • extrusion package with several utility tools
  • Really smart cache system to save a lot of cycles, without adding a single line to your existing code.
  • Startfield class, to create pixels based 3D effects, check our tutorials list
  • MD2 animated models format support.
  • addition of visitor pattern to smoothly integrate and customize Sandy into your complex apps
  • Mode7 renderer to render infinite planes/floors with high quality and good perspective correction for very few rendering cycles.
  • Better management of interactivity and handling of the requested MOUSE_OUT event.
  • and lot more…

This is the result of a long and quiet work with several people, so thanks to all people involved into this release (Makc, flexrails, Max, Petit, etc.. and all mailing list people ;) )

Sandy3D is also haXe powered !

I would also thank the haXe team (Niel Drummond, Pedro Moraes, Russell Weir, Justin Lawerance Mills) who are working really hard to get the haXe version Sandy 3.1 ready. If you want to give it a look,check the haxe branch in sandy svn.

For those who are looking for a stable haXe version, you can get the official stable 3.0.2.

If you don’t know haXe yet, it is a great language with amazing set of features, and the magic is that your code can target muliple platforms.

That mean Sandy is ready to target Javascript, and in the future Neko, and even more?.


jiglib for Flash, AS3 3D Physic engine

Tuesday, January 13th, 2009 by kiroukou :: General, Must see, Project, demos, en :: 12 Comments

A very interessting project is on the road, it is a port of jiglib from C++ to AS3.

What is jiglib, basically a 3D rigid bodies engine, so different from what Wow offered to us until now.

Here is a fast port of their official demo to Sandy 3.1, use keyboard directionnals keys to move, and space button to apply vertical force.