Moppi Demopaja is a demo authoring tool. It has a interface similar to the popular 2D animation tools such as Macromedia Flash and
Adobe After Effects. Many of the user interface functionality is imitated from After Effects.

User Interface

The Demopaja Interface.

The demo consists of effects and importers which are loaded from plugins. The demo is built on layers, which are groups of effects. A layer doesn't have any other tweakable parameters than visiblity. Effects on the other hand have multiple parameters which can be animated using keyframe animation. Multiple parameters are grouped into gizmos.

The user interface is divided into three parts. In the left is the file inspector. The user can import files to the inspector and drag them to the layer list shown left in the timeline window. In the middle is the main view where the actual rendering is shown.

Animating with Demopaja

A closer look of the timeline window.

Animating in Demopaja is done using keyframing. If a parameter supports animation (not all parameters do) there's a wave button on its left. By pressing the button you can enable the animation of a parameter. By pressing it again you disable the animation and all the keyframes are cleared.

If a parameter is animated, you can see the curve of the parameter by expanding the parameter from the arrow left to the parameter. You can also edit the value of a keyframe by dragging the keyframe values. Adjusting a keyframe's position in time is done by dragging the keyframe.

There are currently three ways a keyframe can be interpolated: linear, smooth, and hold. Values between two linearly interpolated keyframes are are interpolated linearly. Smooth interpolation is done using TCB-splines. Anyone familiar with 3D Studio MAX knows this interpolation. A keyframe with hold interpolation doesn't get interpolated at all. The value of the keyframe is used until the next keyframe is found in the timeline.

Visibility of layers and effects is controlled via time segments. A Time segment can contain multiple keyframes which determine when an effect (blue) or a layer (red) is visible. If a layer isn't visible all the effects inside the layer aren't visible either.

Plugins

Anyone with C++ skills and a compiler (currently only MSVC is supported,
in the future maybe others too) can code plugins for demopaja.
The API is designed to be simple and extendendable.
The effects rendering API supports multiple device interfaces.
Currently there's only the OpenGL interface. I have plans to
support at least a software rendering interface and an interface
which can access the music system in Demopaja. See the SDK for more
information.

Using Demopaja in your own productions

The SDK also include source code to Demopaja player. See the SDK for more
details.

[new!]Demopaja SDK Version 0.71B. You will need the latest FMOD to complile the examples.
Also STLPort 4.0 (or later) was used to develope the Demopaja. It may be good idea to download it.
See links below where to download the libraries.

FFWD by Moppi Productions.
The demo FFWD (fast forward) was made for Lobotomia'00 party held in our local town Lahti.
The demo came 2nd in the demo compo. The latest Demopaja (0.5b) is capable of loading the demo file.

Further by Moppi Productions.
Moppi Productions made a demo to Assembly'2k called Further.
Unfortunately it wasn't shown because of a missing DLL
(I bet it would have otherwise been shown). The demo also includes
the Demopaja. Just press the close button in the start dialog.
Be sure to watch the demo too!

Kubik by Marshals.
Kubik was first seen at Fiasko 2001 demoparty held in the Czech Republic (2/4 place in demo category).
The "Kubik demo resources" contains also some additional info on the demo such as plugin source.
Check it out.