For the next part in Gamasutra’s ‘Tooling Around’ feature, which profiles and interviews middleware and tools developers about their products, today’s interview is with Torsten Reil, CEO of NaturalMotion, developer of animation engine morpheme
Launched in February, morpheme is currently available for Xbox 360, PlayStation 3 and PC, with Reil revealing that a Wii version is being developed and will be released “soon”.
The product is composed of two core components: the morpheme:runtime engine, which features blend techniques, hierarchical animation state machine, physics support and compression algorithms, and morpheme:connect, which “lets animators and animation programmers author blends, transitions and many other things in an intuitive graphical way”.
“As we supply the full source code for the run-time engine, animation programmers are free to fully customize the system; for example, creating their own custom nodes, which are then automatically exposed in morpheme:connect,” explains Reil.
At this point, NaturalMotion has not revealed any of the developers using morpheme, though Reil notes that it has been licensed for “several AAA console titles and MMOs”, with news of these titles to be announced “very soon”.
Gamasutra spoke to Reil about the company, the morpheme engine, and its development.
When and why was NaturalMotion formed?
NaturalMotion was founded in November 2001 to commercialize research at Oxford's Zoology department into human and animal locomotion. Our core technology is called Dynamic Motion Synthesis (DMS). In our flagship product euphoria, DMS uses the processing power of Xbox 360 and PS3 to simulate 3D characters at run-time.
What were the aims and goals of the company at this time?
The original aims of NaturalMotion were the same as they are now: create much more interactive and believable 3D characters for the entertainment industry. The dream has always been to use the increasing processing power of consoles and PCs to simulate humans in real time, and let users interact with them.
How did you realize the need for a product like morpheme?
We had the idea for morpheme when hearing lots of animators and programmers say that it was difficult to get their in-game animation quality up to par with that of the original animation clips, whether key-framed or mocapped.
People were asking for a much quicker way to author and preview all aspects of run-time animation playback, such as transitions, blending, compression etc.
What was the development time on the product, and what challenges did you run into in preparing the product for industry use?
Development was rapid as we were able to fully utilize our EAT application framework used in our other products such as euphoria:studio. We showed morpheme behind closed doors to selected customers as early as GDC 2006, so we got a lot of useful feedback that went straight into the product.
How has the product developed over the time you've been producing it?
Our early alpha testers were invaluable in feature suggestions and prioritizing. We learned a lot from them.
How have you acted on feedback to improve morpheme?
Any feature ideas we've received were evaluated against various criteria and prioritized to fit into the development schedule. It's fair to say that we implemented a whole lot of feedback!
How does the product work on a technical level?
The runtime engine is optimized for Xbox 360 and PS3, as it runs on the SPUs, but - as with euphoria - there is no black box approach. We ship the full source for both the runtime as well as the asset compilation pipeline, so clients can customize it as they wish.
morpheme:connect itself simply exports the data for the transition logic, blends etc., which is then read by the runtime engine. Also, morpheme:connect can communicate via TCP/IP with the runtime on the target platform in real-time, so you can modify parameters and see the results instantly in game, e.g. on a PS3.
Do you feel your product works best when combined with other middleware?
morpheme has been designed with other engines in mind, so it's easily combined with physics, graphics and AI engines - whether 3rd party of in-house. It also provides a great basis for euphoria integration.
What are some of the more notable examples of morpheme's use?
The most interesting thing is that our clients have quickly extended morpheme:connect, the authoring application, through its integrated “Lua” scripting to hook up game controllers, prototype AI, analyze networks and much more. We also have a client who is prototyping the game play before the main games engine is even written.
What do you see as the next evolution of morpheme?
I think we'll see morpheme grow along the lines it started on: ease-of-use, run-time performance and in-game animation quality. We have a lot of ideas for this product, but we're not yet ready to talk about them.