OpenMortal Apocalypse mirror
Sourceforge mirror
SourceForge.net Logo Support This Project
      News | Info | Characters | Arenas | Screenshots | Forums | Download  
Developer: Making of | Character-HOWTO | AI Design | Submit a Character | CVS
Documentation: Main Page | Modules | Class Hierarchy | Class List | File List

The Making of Mortál Szombat!!

The making of an OpenMortal character is a lot of work. Here I try to outline the process.

1. Shooting

IMG: Recording looks like this Shooting is the first step of character creation. You need at least three people to properly do it: one actor, one cameraman and a director. The cameraman's job is to keep the camera focused on the actor, and make sure that the actor doesn't accidentally get out of the picture. The director keeps a list of moves that the actor must perform, and always tells the actor what to do next. The actor then tries her/his best to perform everything as his 'character' would do it.

Equipment consists of:
Recording checklist
start
stand
walk
turn
falling
lay down
get up
hurt
leg swept
won
block
kneeling
on knees
kneeling punch
kneeling kick
kneeling punched
kneeling kicked
fun (something)
threat
high punch
low punch
high kick
low kick
groin kick
knee kick
elbow
spin
leg sweep
grenade
uppercut
throw
high punched
low punched
groin kicked
thrown
special moves
Tips for the director:
Tips for the actor:
Tips for the cameraman:
After the recording you will be left with a 5 to 10-minute DV footage per character. The size of this thing is horribly large, in the order of Gigabytes. The next steps ensure that it get smaller, and usable in the game.

2. Video Editing

IMG: Editing with KinoOK, so in the previous step you produced the footage. It's large, full of recorded mistakes, and interlaces - quite useless for the game. In this step you deinterlace the footage, and remove the useless parts, leaving a cut version, which should contain only the parts that you need.

Transfer the footage from the camera to the computer is usually painless. I used a program called dvgrab which works from the command line, and does the job just fine. I hear there are gui programs for Windows that accomplish this task as well, and I tried some too, but they didn't work without problems such as frame dropping.

Most nonlinear video editors (such as MainActor or kino) can be used to splice the footage, and remove the useless parts. In the previous step you recorded every move twice, now is the time to see which one came out best, and remove the other. You may also remove the second part of a move if it is the same as the first part, played backwards. This saves some work later on.

After you're done editing, export the video into image files (e.g. png format) at half framerate. The half framerate for PAL cameras is 12.5 frames per second, for NTSC cameras it is 15. At this point you end up with somewhere around 1000 pictures. Don't forget to deinterlace the images, this should be a feature of any video editor.

3. Background Removal

OK, now we have a lot of images, but these images are large (the DV resolution is 720 * something), and contain the background and other unwanted elements. Here's my contour program, removing them:

The original image[IMG] Probabilistic versionCropped version

Contour executes for the entire directory, producing a number of cropped and background removed images. In the unfortunate event that the actor was not entirely in front of the green part, cropping is not possible, but background removal is done anyway.

4. Gimping

GimpingThis is a long and tedious part of the character creation. All the contour'ed images are loaded into a multi-layer gimp file.
This example image looks like a mess because I turned all the layers on. Usually you look at only a few layers at a time...

5. Outline Detection

Outline detectionNow the last thing to do is to  mark the character's head, body, and leg. There's a handly little utility to do most of the work automatically, as shown in this image.

Red marks the head area, green the body and blue the legs. The yellow part is the "attack", if there is one for the current frame. In the game an attack hits if the yellow part intersects the opponent's red, green or blue part.