Motivation: Looking/searching for alternative Animation
scripting languages
Features: ActionScript 2 and many pretenders
A
colleague who had previously worked with Apple's Hypercard and now is working
with Macromedia Director and its Lingo language for scripting was worried
about the new direction Director Mx 2004 was taking. No not the new look
and feel and copying of the Mx and Dreamweaver interface; no my buddy was
worried
that ActionScript 2 was poised to takeover for Lingo and although he used
Flash animations and ActionScript from time to time he was not convinced
that ActionScript (see screenshot above) was the way to go as an animation
scripting language. Bob's concerns were fivefold:
1)The Flash environ, even the pro edition had not built up an effective IDE
for ActionScript;
2)ActionScript even though it is moving towards JavaScript 1.5 compliance
is still off the mark;
3)ActionScript still did not provide a clean interface to XML and database
objects;
4)ActionScript did not know SVG, SMIL - two open graphics standards - as
much as to be desired;
5)ActionScript is still too dependent on one vendor and their Flash Player
delivery technology - other modes of expression - video, 3D, 3D animated
are largely out of explicit control. In effect they are blackbox media objects
in Flash.
So
he asked me for more alternatives for making his Animation
Scripting
language
choice. So a search of academia and other
animation vendors was in order.
Animation MarkUp
There is a whole world
following the lead of W3C's SMIL-Synchronized
Multimedia Integration Language and defining animations and especially
human animation with XML/XSL derived markup languages. But
the whole problem with the XML/XSL approach is what has been seen in the
Web database development arenas. XSL and XSLT can be used to derive fairly
powerful transformations and queries but only of fairly restrictive XML markup
and objects. Call them the XSL languages - they have only the most primitive
of notions for conditional tests, functional/subroutine calls and iterative
control of operations - and forget notions of operators and operator overloadings.
The result is that XSL or XSLT based mark ups really require a XML-smart
scripting agent (think Groovy, Java, JavaScript with E4X extensions, JudoScript,
PHP 5, or
Ruby) to really get things done. Nonetheless, there are some fascinating
animation components and interactions being built up. But readers be forewarned
that
this is largely academic research and/or bleeding edge technology:
RRL -
Rich Representation Language (RRL) which is used in the NECA system.
The NECA system generates interactions between two or more animated characters.
VHML - Virtual Human Markup
Language is designed to accommodate the various aspects of Human-Computer Interaction
with regards to Facial Animation,
Body Animation, Dialogue Manager interaction, Text to Speech production, Emotional
Representation plus Hyper and Multi Media information. Given no small mandate,
much is going on but primarily declarative not programmatic.
Metaface -
provide a SouthPark-like faces with advanced speech and facial expressions
which can be used standalone or in a browser using Java technology and VHML.
BAML -
Body Animation Markup Language, like FAML-Facial Animation Markup Language,
and others in the VHML set are primarily declarative and then interfaced to
Java or other XML consumers.
AML- Avatar Markup Language encapsulates Text
To Speech content, Facial Animation and Body Animation in a unified manner
with appropriate synchronization
information. A top down VRML influenced markup.
In general, we found that most of the systems like Mentor or Interface were
taking a Java (one, a .NET approach)interpretation of XML-based markup with
MPEG-4 and other movie formats the target for most of these academic approaches.
The
predominate model was smart declarative XML-based markup and then any open,
XML-savvy language for delivery.
What Major Animation Vendors Are Doing
There are a number of major animation vendors and as might be expected of
such an iconoclastic lot each is doing its own thing in animation scripting. ToonBoom,
makers of ToonBoom Studio, Opus, Concerto and Symphony is one of the major
software suppliers to the animation industry. Their approach is to supply scripting
in their products as user macros - they aid in the production of animations
in Studio, Opus and other products. For example, the macros and/or wizards
are used to drive kinematics and "gluing" functions. Or some properties
or elements
are set for interaction and/or interfacing with other, third party
3D and animation
products
-
but ToonBoom output is largely user interface free. However, because ToonBoom
can be delivered in Flash SWF and other formats - adding a user interactive
interface is eminently doable but third party driven.
The same approach in the 3D animation field has been taken by Alias
with Maya using the MEL scripting language, 3DSMax with
MAXScript and SoftImage with
XSI
scripting - these
are really macro languages with some limited interfacing capabilities. In the
3D Animation world it is almost as if you need a product like ViewPoint to
make the Web and standalone interface for some of the 3D and cartoon based
animation tools. The problem with Viewpoint is that they don't support the
two fastest
growing browsers in thyme market right now, Mozilla FireFox and Opera. However,
Viewpoint does have the advantage of interfacing to all the major 3D players
along with being able to use Flash animations. Its own Web interface and programming
is mixed - very rich in some areas and then cumbersome in others - depending
on the calls and objects supported. But this is part of the challenge of being
3D, 2/12D and 2D/Flash aware - it is a wide row to hoe.
ActionScript is well represented in this world with two products. Swift3D from Electric
Rain and MindAvenue's
Axel 2 both offer dramatically improved 2D and 3D modeling capabilities
including smart output to Flash. But the programming interface to
both is primitive with only very basic Actionscripts. Developers must do the
advanced scripting within Flash using carefully constructed SWF movieclips.
Not the most effective of interfaces.
In contrast there are some vendors offering scripting and 2D/3D animation
but a number appear to be on the brink of solvency. VisViva appears
to have a very powerful 3D and animation creation system with a nifty language,
ScriptV, that is Web facing. But emails to the company received no reply. Small has
been made open source and is an elegant c-like language for animation and games;
but it appears continued development is limited.
Gaming: All Sorts of Scripting
When I checked out the gaming world, all hello of scripting tools were available.
Here is a list of some of the most interesting systems:
3D Games Studio -
a click together 3D animation and gaming system with C-Script - very good
Adventure Game
Studio - setup, script, deploy adventure games with full media compliment
Agast -
free adventure gaming system with clever scripting language, Windows only
Alice -
Carnegie Mellon's 3D graphics game development system for Windows
Anim8or -
freeware 3D animation creation environ
Arianne -
freeware Java game creation tool
Atmosphere -
Adobe's 3D development environ is JavaScript with object extensions enabled
BlitzBasic -
is a polished 3D game development system for Basic, Windows only
DarkBasic -
again a gaming Basic in Windows with all sorts of 3rd party support tools
Dimension 3 - Mac
based 3D gaming system using JavaScript, takes full advantage of Aqua
Game
Maker - free Windows board gamemaking system with full set of programming
features
Hephaestus -
Java based RPG-Role Playing Game creation tool
Hugo -
an interactive text/fiction game creation tool for Win/DOS/Linux. Like a Guilty
Bastard I just could not but help to include this game tool even though it
hardly fit the
mold for ......
Jamagic -
JavaScript based 2D/3D interaction and game creation system
Java Game programming books: Developing
Games in Java,
Advanced
Java Games
MacGame
Creators - several Mac only game creations tools
MediaForge -
a multimedia authoring tool closer to Director than all the products seen so
far
QuestML - Quest Markup
Language is a nifty system with neat web connections
Reality Factory -
free 3D game creation system with some for fee topend extensions
SCI Studio -
Sierra Game Engine studio with nifty feature
Sludge -
scripting environ for gaming with whole slew of facilities
Sphere - another
JavaScript role playing game creation tool
Stagecast Creator -
another I couldn't keep it off the list though not quite apropos
WinterMute
Engine - a game engine with complete scripting and editing tools, Windows
only
As can be seen from the long list of candidate systems, there are a lot of
resources available for game developers to choose from, many of which are free
and Windows based. However, the problem with many of these game systems is
that they are retro with respect to Flash - they fail to support cross platform
deployment, their scripting language is proprietary, or the support of 3rd
party animation and 3D tools is limited. Nonetheless we were impressed with
several tools including the strong number of Java and JavaScript tools and
references. Java as graphics delivery system is seeing a rebirth on mobile
and PDA games and applications.
Summary
There are a wide range of tools for animation and 3D modeling and game development.
The XML based tools starting with SVG, SMIL, and VRML continue to attract interest
in a diverse set of communities while using Java and JavaScript as primary
engines. Adobe's excellent Atmosphere product is typical.
However, most of the 3D, cartoon and advanced animation vendors stuck to macro
use of scripting. Viewpoint does provide a good linking tool but it trips up
on lack of Firefox and Opera support. In short, my advice to Bob was to go
with a locally optimized solution for the specific problem he had and wait
for a more general solution to emerge in the next 2-3 years. With Microsoft
offering 3D graphics as a part of Avalon, there certainly will be stimulus
enough for the major players like Adobe, Alias, discreet, Macromedia, Softimage
and others to establish more comprehensive offerings.
©Jacques Surveyer see some of his Flash work at theOpenSourcery.com |