What tools do you use to create cutscene movie?

Miscellaneous Forums/Content Creation Tools/What tools do you use to create cutscene movie?

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

For Blitz3D machinima, a few years ago I experimented with using Blitz3D itself. What I did was create room setup, character movement, and camera movement functions, along with text display ones. I then read from a script (just a plain text file) and called those functions (passing a single number to tell it which pre-coded portion to run) based on the number of seconds elapsed.

For example, here's the start of the Hungry Guy script:
3
 disp 1
6
 disp 0
 Cam 1
7
 Cam 0
8
 disp 2
11
 disp 0
 Cam 2

While this worked, it made the script rather hard to understand. So for the Shootout script, I improved the text file reader function to support more options. The parameters in most cases are just passed directly to the appropriate Blitz command, though sometimes several Blitz commands are used together for complex actions. Shootout's script begins:
0 Initial Setup
  Cam -30,15,0,0,-120,0
  AmbientLight 120,120,120
  anim Good1, 13, 1, 0.3, 0
  anim Good2, 13, 1, 0.4, 0
  anim Bad1, 24, 1, 0.35, 0
2 Soldier 2 asks question
  disp 0,255, 0,500,500, "Did you hear something?",2  
5 Soldier 1 replies
  disp 128, 128, 255, 300, 500, "No, nothing.", 2
7 Start the bad guy creeping forward
  anim Bad1, 28, 1, 0.25, 10
  move Bad1, 0, 0, -.15, 6
8 Move camera to show bad guy
  cam 0, 25, 5, 20, 180, 0

Here are the compiled results for you to look at: http://neonavis.com/HungryShootout.zip (3.7 megs).

The only other tools used here are XLnt ii GUI for the playback controls, though those aren't needed in actual cutscenes (be sure to hit "Play" to start Hungry Guy; Shootout auto-starts). The animated models' pre-done animations are called with the usual LoadAnimMesh/ExtractAnimSeq/Animate commands. Camera movement is via MoveEntity/TurnEntity (and PointEntity to follow a character's movement).

So, Blitz3D can serve as a capable cutscene engine. Its flexibility is especially nice for things like substituting characters (if one were dead and another took its place) and otherwise changing things to match what happened earlier in the game.