If you’re interested in experimenting with “machinima”–real-time animated performance using customized video games–a USD $25 shareware app called Machinimation, by Fountainhead Entertainment, is a good place to start. (The company has since appeared to shut down; I’ll keep it here unless I receive a request to remove it.)
The program comes with a generic character model and several locations to test out. It can also import assets formatted for Quake 3, or models that you create yourself. You record your action in “takes,” playing your character and up to 31 others simulataneously. (Each player will need their own networked computer; fortunately, Machinimation sets this up for you transparently.) If you have characters who won’t need to interact in real time, they can be recorded in subsequent takes and popped in afterwards, without needing any additional computers.
The included manual needs clarification on a few points:
1. Importing New Assets. The manual makes it seem like adding models and sounds is a straightforward process, but in fact it’s fairly tricky. Machinimation needs all assets dropped into a particular subfolder (which, a bit confusingly, is also named “machinimation”). They then need to be converted into PK3 format. Fortunately, this is nothing but a renamed Zip file–zip your sound or model with WinZip or WinXP’s built-in menu option, and then just change the name. Sounds must be 22khz 16-bit mono; you can convert them with Audacity or a similar program. Models must be MD3 files; you can convert them with Milkshape.
2. Making clean edits with no camera movement. As in most animation programs, when you set two camera keyframes, the computer gamely interpolates between them; the result is a camera that never stays still. There are several ways to stop it; the simplest is to right-click on each new camera keyframe as you create it and toggle “hold.” The camera will then cleanly jump to the new position.
3. Adding background music. If you add a background music track and then begin recording, it will only play to the last keyframe that existed up to that point! In other words, if the new material you’re recording runs longer than your existing project (which it almost certainly will, at least at first), the music just cuts off. There are two ways to fix this. First, you can add a keyframe past the end of your music track. (Machinimation counts by frames at a fixed rate of 30 fps; a 5-minute song will need a keyframe set at frame 9,000.) Second, you can insert the command music “pathname/filename” at the start of your project, which will cause the track to play through regardless of the length of your project. Use the command music, by itself, to stop playback.