Tech and pipeline – why 3D?

On the tech side, we knew very early that we would be rendering a graphical gameworld as a way to engage the player.  One of the first discussions we had all together in terms of art direction and pipeline was whether we would render our world in 2D or 3D.  We knew we didn’t want to even be thinking about exploring 3D worlds or any kind of spatial action game – the language focus immediately pointed us towards dialog, and dialog means varied characters and a few different contexts/environments.

Why would we choose 3D for this, especially on a mobile device?  That was the first reaction of our engineering team, too.  The following points explain why the decision was clear:

  • Scene and skeletal animation (frame/spritesheet out of the question because of avatar customization) editing in 2D would require special tools.  Quick research indicated we would have to write these ourselves – not only that, but our artists would have to learn them.  Working in 3D allows our artists to create animations and organize scenes in the tools they already know: 3ds Max and Maya.
  • One of our artists (Reid) is an expert in 3D environment design – the choice to go with 3D was partially motivated by the chance to have him exercise those skills to give our world unique and attractive flavor.
  • The whiz-bang factor of 3D environments that shift with perspective is something that will likely present a strong draw for our players, who on Android aren’t yet accustomed to 3D.

And so it was decided – both tech and art agreed that 3D presentation was the way to go, despite the challenges.  We had to get up and running fast – after considering a number of Android-compatible 3D rendering libraries (including Unity) we hit on jPCT, which is small and quick to pick up, has extensions supporting skeletal animation (which in 3D isn’t completely necessary for us but is a way to save significant amounts of storage space and loading time), allows us to work within the Java Android SDK (Unity failed this requirement), and has one of the most mature Android ports among any we’ve seen.  Ninjas jumping skeletally at high framerates and polycounts on our target platform quickly proved that we’d made a viable decision.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *