If you’re not interested in the thoughts behind our technical development choices, this post is definitely not worthy of your attention. Just look at the pretty pictures and ignore the rest.
First off, to clarify things: The Journey Down does not feature real-time rendered characters such as say, “Grim Fandango”, or more recently “Gray matter”, but rather uses pre-rendered 3D characters such as the ones in the “Runaway” games. This means that technically speaking, the game is still in full 2D, BUT we develop and animate the characters in 3D, before inserting them into the game engine.
So on to the first obvious question:
Why not just paint and animate the characters in 2D? It looks awesome!
To be frank, there’s no room in our schedule or budget for it. Painting and animating characters in 2D such as, say, the “Broken sword” games takes crazy amounts of resources. Working with 2D animations was fine and dandy when we worked on the low res prototype of the game, but when you up the resolution, all the cheating shows, and there has been A LOT of cheating involved in the prototype, I can tell you that. Creating and animating the characters in 3D not only goes a lot faster, it also gives us a whole lot of stuff for free. Animate Bwana doing something in one angle, and all you have to do is rotate him in 3D, render it again, and bam! you’ve got him doing it in another angle. This becomes especially handy when it comes to frame heavy stuff such as walking and running.
Another good reason for going 3D on the characters is the fact that we, while working with Nord for the past four years or so, have worked up a wonderfully efficient pipeline when it comes to creating and animating 3D assets. There’s nothing as valuable for an independent game production studio, as a well honed, efficient production pipeline that you KNOW will yield good results in good time.
In our tiny four four man studio, with only ONE animator (Henrik) Nord has challenged us to work out a butt-crazy efficient pipeline when it comes to animation, which is something I am glad we are now making further good use of.
So why would anyone bother with real-time 3D then?
Make no mistake. Real-time 3D has A LOT of good things going for it. For one thing you can have dynamic lighting and cast shadows, thus helping your characters blend better into the scene they are in. Also, when in real-time 3D, you’re not restricted to the camera angles of your rendered sprites, you can use any wonky angles you desire. Another neat trick with real-time 3D is that you can blend your animations, thus making your character feel a lot less jerky when switching between different animations. Sounds lame, but it goes a long way in creating an immersive atmosphere when things don’t pop and snap so much.
Autumn moon’s “A Vampyre Story” did a great job at combining 2D backdrops with real-time rendered 3D characters. Those bastards must have had a way juicier budget than we do! (read “they must have actually HAD a budget”)
Why are we dissing real-time 3D if its so cool and all?
First off, if there’s one thing we’ve learned from working with Nord, it is that real-time 3D ALWAYS adds another dimension (this is, technically, not really a pun) of things that can go wrong in one’s production pipeline. Creating the assets and displaying them on screen, is in theory not really a big project (hey, we’re doing it in Nord already). In practice however, we know from experience that the added bits in the pipeline that would be required, small as they are, could still potentially be disastrous to our work flow. Few things have slowed our production down through out the years as much as importer/exporter woes. We’ve understood by now that anything that’s a threat to one’s established pipeline, should be thrown out the window asap. (Preferably before you go and get all excited about all the pros of the feature you are considering, which by the way happens to us all the time.)
On another note, now that we have bent AGS to our will and made it 720p compatible, there’s virtually zero tech left to develop for TJD since we are going with pre-rendered characters, meaning that our pipeline is as wonderfully clean as we could possibly wish it to be. Apart from some minor theora-codec hurdles to overcome, there are no dark tech clouds looming on the horizon threatening to halt our flow of work. That, as an independent developer is a very, very reassuring fact.