“Them bits shall do what I tell them to”

Feb

4

Esoteric framework updates

I've been working on the Esoteric Framework, a tool to quickly develop 2D and 3D Flash apps. A lot has changed since the latest release. Here are some of the new features:

  • Updated for Flash Player 10, supports 3D coordinates for display objects
  • Now uses Away3D 10 lite instead of Papervision3D for advanced 3D functionality
  • New 3D functionality, such as loading scenes in formats supported by Away3D 10 lite
  • Import SWF content so you can design in Flash and program using the framework!
  • Improved scripting language, with support for objects and functions
  • Added the eQuery framework, inspired by jQuery, to make scripting even easier
  • Timeline element to create second based timelines
  • VideoFile element to load external FLVs
  • Cache for external images and files
  • Performance improvements
  • SDK to create custom elements

This thing is definitely not ready for a release yet, but it's a big step forward. Here's a little example that shows some of the new features:

Source code:

<MyApp>
	
	<Scene3D id="scene" rotationX="{-20 + mouseY / 10}">
		<Collada id="collada" url="assets/preloader.dae" rotationY="{mouseX}" />
	</Scene3D>
	
	<Camera3D id="camera" y="-850" z="-2000" rotationX="-20" rotationY="10" />
	
	<BlurFilter id="blur" blurX="100" blurY="{this.blurX}" />
	
	<Sprite filters="{[$('#blur').elements()]}">
		<View3D
			scene="{$('#scene').elements()}"
			camera="{$('#camera').elements()}"
			x="{stageWidth / 2}"
			y="{stageHeight / 2}"
			minX="{-stageWidth / 2}"
			maxX="{stageWidth / 2}"
			minY="{-stageHeight / 2}"
			maxY="{stageHeight / 2}"
		/>
	</Sprite>
	
	<BitmapFile url="assets/fg.png" />
	
	<Script>
		<![CDATA[
			// add a listener when COLLADA is loaded
			$('#collada').complete(function(e) {
				// tween camera
				$('#camera').animate({z: -1200, rotationX: -35, rotationY: 0}, 4);
				// dim blur
				$('#blur').animate('blurX', 1, 4, easing.bounce.easeOut);
			});
		]]>
	</Script>
	
</MyApp>

Comments [0]

Dec

4

Designing a desktop music app using the 8tracks API and the Esoteric framework

Comments [1]

Aug

10

Esoteric Framework 0.3.0 released

I just pushed version 0.3.0 of the Esoteric Framework. It adds while loops, if statements, and new methods to manipulate elements dynamically.

Here are the release notes:

===============================================================================
= E S O T E R I C F R A M E W O R K v 0 . 0 . 3 R E L E A S E N O T E S =
===============================================================================

__ New in this release ________________________________________________________

* Upgraded to latest version OF ANTLR and regenerated scanners and parser.
* Upgraded to latest version of PV3D (no longer GreatWhite branch).
* Implemented if statements in scripts.
* Implemented while loops in scripts.
* Added createElement() to application element.
* Added removeChild() and destroy() to elements.

__ Planned features for 0.0.4 _________________________________________________

The next release will focus on interacting with web services.

* Add a mechanism to load remote XML data.


Comments [0]

Sep

9

Esoteric Framework 0.2.0 released

I just pushed version 0.2.0 of the Esoteric Framework. It adds support for 2D lines and curves, among other things.

Here are the release notes:

===============================================================================
= E S O T E R I C F R A M E W O R K v 0 . 2 . 0 R E L E A S E N O T E S =
===============================================================================

__ Notes ______________________________________________________________________

* Template elements not included in this release because they rely on features
planned for later releases.
* Support for embedded fonts pushed back.

__ New in this release ________________________________________________________

* Added new Loader element to load external SWFs.
* Added new 2D line elements: LineStyle, LineGradientStyle, MoveTo, LineTo,
and CurveTo.
* Added new 2D drawing elements: Circle, and Ellipse.
* Added support for bitmap filters on 3D display objects.
* Added support for single-line and multi-line comments in scripts using
JavaScript/ActionScript syntax.
* Added NaN object to scripts context.
* Regenerated compiler lexer and parsers with Antlr 3.1.

__ Features planned for 0.3.0 _________________________________________________

The next release will focus on the manipulation of nodes using scripts.

* Add support for basic control structures in scripts (if, for, etc...).
* Add methods to dynamically manipulate nodes: clone, create, remove, move.


Comments [1]

Sep

1

Cover flow using the Esoteric Framework, take 1

I created a new demo this evening and added it to the Esoteric Framework website.

'This application is the first attempt to create a 3D interface similar to the cover flow feature found in Apple iTunes using the Esoteric Framework. It was built to test the features and limitations of the first preview release of the framework. Drag the slider's handle at the bottom to scroll the pictures.'

I'm pretty happy with the result, especially given the primitive nature of the first release of the framework. It was easier to implement than I expected (I wasn't sure if I could pull it off), and the source code is pretty short. I was also able to identify the features I need to implement in the short term. One of them being the ability to dynamically create elements, so that the application tree can be manipulated by scripts. Also basic control structures in scripts would be nice.

Give it a try online right here. You probably need a decent CPU for this to run smoothly. Flash can't use 3D acceleration at the moment =(

--

Edit:

Just fixed a bug when dragging outside the movie clip. Also improved the source code with recursion.

Comments [3]