Emma Roadmap
From Emma
Emma Development Path
Emma's vision is to deliver real-time rich media synthesis over the web.
Generating a video-quality presentation on the fly, Emma composites a range of media assets delivered across the web. The result is not a traditional clickable page layout, but rather a steerable interactive video "broadcast", unfolding under the user's continuous control, as authored using Emma's declarative markup. Core System
Emma's foundation is a set of object-oriented conventions structured around an efficient Lua interpreter. This framework is readily extended, using native c++ modules, Lua scripts, and/or the author's own reusable declarative content Prototypes. Emma's core is designed to be cross-platform, although we have only established Windows builds so far. Core development plans for Q3 2005 include:
* Linux build * MacOS X build * Advanced media cache management
Leveraging Emma's extensible media framework, we aim to systematically integrate an open-ended range of high-quality media and dynamic behavior vocabularies into this full-motion interactive platform. Once any new component has been integrated into the Emma architecture, authors can selectively choose to introduce its capabilities into the content title at hand, or avoid its overhead altogether. New components are envisioned along a number of parallel development tracks: Presentation Track
Our first step is the integration of Ogre's advanced game graphics engine, to provide an excellent core for 3D modeling, animation, and rendering. Still to come: support Internet-distributed Ogre assets.
The next rendering subsytem we plan to integrate is an broadcast-quality 2D rendering package, which brings SVG-style vector graphics, typography, layout, animation and anti-aliased rendering to both 2D screens and immersive 3D scenes.
Beyond these foundation rendering libraries, a full suite of multimedia components is anticipated, including sound, image, and video codecs, mixers, and compositors. These will seamlessly integrate with the texturing and alpha-blending capabilities of Emma's architecture, and unify with the core animation playback and interactive event controls. Behavior Track
Object physics and other behavior kits are slated to provide mix 'n match support for various mainstream policies. In addition, authors and programmers can readily extend these vocabularies with custom solutions of their own. Written with reusability in mind, these can grow the library of off-the-shelf solutions available to the larger community over time.
* Navigation kits for object viewing and for in-scene navigation, including policies based on collision detection and terrain-following. * Layout kits to support automated and dynamic spatial layout for objects in 2D and 3D. * Physics kits for the efficient application of physics properties for in-scene objects. * Multi-user kits provide a common infrastructure for avatar tracking and multi-user server interfaces.
Authoring Track
Emma is not just a runtime presentation engine. With authoring components plugged in, Emma grows to become a powerful and extensible platform for graphical media authoring, production, content debugging, and interactive simulation. Future investments in this capability include:
* Serialization: any scene in the engine can be saved out into markup. * Importer/exporter modules: XML, Collada, and other file format conversions are slated to integrate Emma-based authoring with mainstream modeling, animation, illustration, and media tool suites. * Debugger: Extensions to the core for debugging content structure, scripting, and routing are in the works. * Authoring tool framework: We have already integrated WxWidgets to provide cross-platform support for tool interfaces. This work will be followed up by further investments in tool infrastructure, to assist the developer of Emma-based applications. * Assembly editor: a GUI framework for interactive scene assembly and behavior composition is planned for Q4 2005. * Composable production tools: Emma's framework supports rapid development of both custom and re-usable production tools throughout the production pipeline. A library of "mini-solutions" is expected to accrue over time.
