AS3 3D Engine Alternativa Platform Officially Launches

The Alternativa Platform has officially launched. It is a 3d engine for Flash/AS3. It has been announced on their blog today and this is an exciting development for 3d in flash, especially if you are a game developer or game company.

They have offered it free for non-commercial use in the form of SWC files. It is well oganized and lots more good stuff to come it seems in the GUI and some information on setting up the gaming platform on the server as well. It looks to be a complete package.

This is not an open source release but the Alternativa Platform is an extremely well done and amazing looking engine. It has configurations for 3d and isometric 3d.

Here is a shot from the engine.

Sputnik has been launched!

Here are all the classes in the package (SWC):

All Classes

Alternativa3DLabel
Alternativa3DVersion
BitmapUtils
Box
Camera3D
CameraController
ColorUtils
Cone
Engine3DError
Face
FaceExistsError
FaceNeedMoreVerticesError
FaceNotFoundError
FillMaterial
FPS
GeoPlane
GeoSphere
InvalidIDError
KeyboardUtils
Loader3DS
Map
Material
MathUtils
Matrix3D
Mesh
MeshUtils
MouseUtils
Object3D
Object3DHierarchyError
Object3DNotFoundError
ObjectExistsError
ObjectNotFoundError
ObjectUtils
Plane
Point3D
Scene3D
Set
Sphere
Surface
SurfaceExistsError
SurfaceMaterial
SurfaceNotFoundError
Texture
TextureMaterial
TextureMaterialPrecision
TextUtils
Vertex
VertexExistsError
VertexNotFoundError
View
WireMaterial
Advertisements

Amazing New Feature for Flash 10 – FileReference Runtime Access

I have been consuming all the great additions to Flash 10 this weekend and one that really jumps out after you get past the visual, text and sound features (which are spectacular btw and most of what the community was asking for). But one feature snuck by, this is the one that ByteArray (Thibault Imbert) mentions/pointed out for managing files directly within Flash.

File Reference runtime access — Bring users into the experience by letting them load files into your RIA. You can work with the content at runtime and even save it back when you are done through the browse dialog box. Files can be accessed as a byteArray or text using a convenient API in ActionScript without round-tripping to the server. You no longer have to know a server language or have access to a server to load or save files at runtime.

This greatly lowers the bar to using Flash as a photo editor, document manager, customized application experiences, marking up content and saving locally, all without the need for server side script. I am a big fan of server side technologies and develop with them but even for bettering performance this could be huge.

Scenarios where this might be useful is editing applications, note taking (download a book with your notes), editors for docs/games/3d/textures,,, the possibilities are endless really.

Flash 9 just got mainstream and production ready (flash 9 penetration) at the tail end of last year but there are so many great things in the new version that I hope it comes out very soon. Flash it turning into quite a platform.

Alternativa Platform also has updated their engine for Flash 10 already (they must have had some inside early accessibility to it) and there are great possibilities here.

It is only beta (Flash 10) but there are great market opportunities to prepare for when this launches. Keep your eye on where the puck will be, not where it is currently at. I was concerned when Adobe bought Macromedia and the future of Flash but it appears they are taking this bull by the horns.

If you are ready to play with Flash 10 here is Flex and FlashDevelop updates to help you get started.

Also here is some code posted at ByteArray from Pleh for testing the new FileReference runtime access, usage is extremely simple and rests on this

var data:ByteArray = fileRef['data'];

/*
  FileReference Load Example By Pleh 17/05/08
*/

package {
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.net.FileReference;
	import flash.net.FileFilter;
	import flash.utils.ByteArray;

	public class Flash10Test extends Sprite
	{
		private var fileRef:FileReference;

		public function Flash10Test()
		{
			fileRef = new FileReference();
			fileRef.addEventListener(Event.SELECT, selectFile);
			fileRef.addEventListener(Event.OPEN, openFile);
			stage.addEventListener(MouseEvent.CLICK,stageClick);
		}

		private function selectFile(e:Event):void {
			fileRef['load']();
		}

		private function openFile(e:Event):void {
			var data:ByteArray = fileRef['data'];
			var loader:Loader = new Loader();
			loader.loadBytes(data);
			addChild(loader);
		}

		private function stageClick(e:Event):void{
			fileRef.browse([new FileFilter("All Formats (*.jpg,*.gif,*.png,*.swf)", "*.jpg;*.gif;*.png;*.swf", "JPEG;jp2_;GIFF;SWFL")]);
		}

	}
}