Chancellor's Daughter Animation Demo Link

Chancellor's Daughter animation capture test from "The Light Princess". Character design by Katherine Chi, animation by Terry Hancock (this is a still, click to view the GIF animation).

This animation was done pretty manually, and it was very difficult. AutoManga will attempt to automate the steps involved in creating it (by scripting SKencil) and provide means of showing such animations on demand using PyGame.

AutoManga

AutoManga is a system for digital cel animation which can used for running animation scripts or for displaying game action in an interactive cinema game. AutoManga's control abstractions are designed with Manga ("Japanese Anime") style character animation in mind.

Since interactivity is intended, AutoManga will not have a lot of look-ahead buffering (as in playback-only systems), but will instead be designed to use fast enough display methods to maintain low latency with one-frame-ahead audio and visual buffering.

Key (Planned) Features:

Deliverables

As planned, AutoManga will not be a single package, but actually several quasi-independent tools:
Skencil Authoring Tools (Scripts and/or Plugins)
DigiTone
Digital screentones script to create procedural effects like the rub-on commercial screentones used frequently in Manga artwork.

FlipBook
Utility to classify and manipulate layers in a Skencil drawing, allowing a drawing to be animated in the editor by toggling layer visibility. Good for checking and tweaking animated bezier curves.

Inbetweening
An improvement on Skencil's existing Blend tool, which will allow for correcting path orientation (CW/CCW) and adjusting "key nodes" to match up, generating in-between nodes as needed (presently this must be done by hand in order to make the Blend tool do in-betweening).

SkeletalAnimation
A 2D analog to the armature or skeleton techniques used in 3D animation, this will allow a control curve to be attached to a curve object, allowing it to be distorted in a controlled way.

Manga Objects
A collection of objects and plugins of use to AutoManga animators, including such things as eyes (with tandem controls, etc).

Parametric Classification
A tool for creating and attaching cel sequences to "sliders" that the animator can control.

Skencil2AutoManga
A tool for converting the original Skencil drawing, along with the markup from the classification and learning stages, to an AutoManga resource file, using XML with embedded SVG cels.
Playback presentation (PyGame)
Smart Sliders
A neural net application, which will allow a set of animated facial positions (or other animations) to be matched to a set of input parameters. The net learns the relationships between the input sliders and the output sliders, allowing the input sliders to be used to control the face. This is how we will interface to Emerald "expressions". This allows the animator to control facial expressions by example, rather than trying to figure out the mapping themselves. Given enough correct answers, the net should be able to figure out a good enough mapping.

AutoManga Player
Playback library to render AutoManga characters to PyGame (SDL) surfaces, based on parametric input. Implements foveal zooming and clipping (from VarImage plugin), transparency, and other useful features for placing characters into PyGame contexts.

There will be no game engine based on AutoManga. The closest thing will be the Universe, which will be developed specially for "The Light Princess", and is really just a thin "glue" layer for already existing packages.

History

Originally, I had a somewhat more ambitious plan for AutoManga, as an entire game engine. However, the project was too ambitious, and it stalled. I am now working on a lighter-weight game engine, and developing AutoManga purely for aiding with digital cel animation in PyGame, with particular reference to paremtrically-controlled avatars for game characters, allowing them to show facial expression.

XML/SVG Resource Files

AutoManga will store cels as SVG when it is working properly. In order to make this happen, we'll need a tool to render SVG into a PyGame surface. It appears that it is possible to do this with
Cairo, using "libsvg-cairo" and the SDL backend. We will have to use C or Pyrex for this, however, as it appears not to be supported by the pycairo Python binding.

Project hosting by: SourceForge Logo