Saturday, August 19, 2017

What to consider when deciding on 2D vs 3D for a game?




How much "harder" is 3D than 2D in terms of:



  • Amount/complexity of the code

  • Level of math skills required

  • Time involved in making art assets


Original title: How hard is 3D game development versus 2D?



Answer



3D is an order of magnitude harder than 2D:


Programming:




  • The math is significantly more complex for rendering, physics, collision, etc. Hope you like matrices and vectors!

  • Because of the previous point, good performance is much more difficult to attain. With today's hardware, you can make a nice-looking 2D game without having to think about performance at all beyond not being actively stupid. With 3D, you will have to do some optimization.

  • The data structures are much more complex. Because of the previous point, you'll need to think about culling, space partitioning, etc. all of which are more challenging then a simple "here's a list of everything in the level".

  • Animation is much more complicated. Animation in 2D is just a filmstrip of frames with possibly different positions for each frame. With 3D, you'll need to deal with separate animation assets, bones, skinning, etc.

  • The volume of data is much higher. You'll have to do intelligent resource management. Games ship with gigs of content, but consoles sure as hell don't have gigs of memory.

  • The pipelines are more complex to develop and maintain. You'll need code to get assets into your engine's preferred format. That code doesn't write itself.


Art:




  • The assets are, of course, much more complex. You'll need textures, models, rigs/skeletons, animation, etc. The tools are much more complex and expensive, and the skills to use them harder to find.

  • The set of skills needed is wider. Good animators aren't often good texture artists. Good lighters may not be good riggers.

  • The dependencies between the assets are more complex. With 2D, you can partition your assets across different artists cleanly: this guy does level one, this guy does enemies, etc. With 3D, the animation affects the rig which affects the skeleton which affects the model which affects the textures which affect the lighting... Your art team will have to coordinate carefully and constantly.

  • The technical limitations are more complex to deal with. With 2D it's basically "here's your palette and your max sprite size". With 3D, your artists will have to balance texture size (for multiple textures: specular, color, normal, etc.), polygon count, keyframe count, bone count, etc. The particulars of the engine will place random weird requirements on them ("Engine X blows up if you have more than 23 bones!").

  • Asset processing takes longer. Pipelines to convert 3D assets to game-ready format are complex, slow, and often buggy. This makes it take much longer for artists to see their changes in game, which slows them down.


Design:



  • User input is bitch. You have to deal with camera tracking, converting user input into the character's space intuitively, projecting 2D selections into world space, etc.

  • Levels are hard to author. Your level designers basically need the skills of a game designer and an architect. They have to take into account players getting lost, visibility, etc. when building levels.


  • Level physics is tedious to author. You'll have to check and recheck and recheck again to make sure there aren't gaps and bugs in the level physics where players can get stuck or fall through the world.

  • Tools are much harder. Most games need their own tools for authoring things like levels. Since the content is so much more complex, the tools are more work to create. That usually results in tools that are buggier, incomplete, and harder to use.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...