Here’s some rough ideas how I see 2D versus 3D. I must say that the points mentioned comparison aren’t necessarily always valid for all cases (for example, even though I 3D games usually require more power from computers, this is just “usually”. In terms of performance it’s possible to use things like Instancing in 3D – if the video card supports it – and get speed improvements compared to if the same effect would have been wanted to do in 2D). Anyway, here’s some of my thoughts about 2D versus 3D.
Strengths of 2D (compared to 3D)
- Compatibility: Older computers and laptops can run 2D games pretty easily. For 3D, you often require more horse power from your computer.
- Big studios compete in 3D: AAA gaming studios are working hard to get really good looking 3D stuff out – 2D can maneuver.
- Not having to deal with (complex) shader algorithms: although of course there’s a flipside – Shaders can help performance and give really good looking effects. (Update: I’ve only touched shaders in 3D but psycho pointed out that there’s shaders also in 2D. – And naturally you don’t need to use shaders in either 2D nor 3D)
- Simpler level design: Depends of course also about the game, but chances are that 2D can be easier to design. (Of course it’s also possible that a well done 3D interface can beat 2D system)
- No 3rd dimension which can sometimes add complexity (I personally think that most of the time there isn’t really much difference whether you have 2 or 3 dimensions, but sometimes the math can get trickier in 3D)
- Simpler camera view (This isn’t necessarily a strength, since in 3D you can change the camera view quite easily and stick to something what you want – but nevertheless, sometimes there can be problems with 3D cameras)
- Performance: Again not so black & white “truth”, but it’s true that you can draw quite much stuff in 2D with a good performance (also the polygon count doesn’t matter) – but of course heavy animations and big characters can have a big impact on this.
- Easier art content pipeline: This depends heavily on the 3D engine used, but from my experience – 2D has simply easier content pipeline than any 3D engine I’ve used. (And I’ve tested quite a bit of them)
- Easier learning curve: I think for beginner game developers, 2D might be an easier route to start with. (I guess I was one freaky example since I really wanted to do my first game in 3D, just for the sake of wanting to get nice looking 3D monsters on screen)
Strengths of 3D (compared to 2D)
- Looks better: This can be argued, but I think that in many games the 3D effects and realistic lights and shadows processed in real-time can simply look better. (Of course this is a matter of taste, but I think you get the point)
- Better shadows and lights: The real time lighting and shadow effects in 3D look better than in most 2D games. This can add quite a lot in how the game is experienced.
- Shaders: Even though it might require time to learn shader programming, they can be used to make the game look good.
- More advanced animations: Of course 3D can be used in 2D games too (pre-rendered for example), but doing things like blending cannot (or isn’t resource-wise to) be done in 2D.
- 3rd dimension in physics: I personally like when there’s also the 3rd dimension. Falling blocks become much, much nicer when there’s the 3rd dimension to watch.
- Renders: You can scale units as you want, and it won’t affect the performance. Some engines use really witty logic when doing renders, which can help in performance (like when doing post-processing effects).
- 3D can be as simple as 2D: in many game projects, I think whether you use 3D or 2D isn’t so much about “how easy or difficult it is to code”. I think there’s games where 3D can be used very well without giving any additional headache.
- More advanced camera view: You can rotate and move and do all kinds of stuff with the game camera, and it’s usually technically pretty okay (as long as you know what you want to achieve). Sure, 3rd dimension can give some headache, but if you get past any camera problems you have a more advanced camera (than 2D can offer) at your hands.
My bottom line:
This isn’t a list carved in stone and doesn’t represent the final truth. These are just some of my opinions, and I realize that there’s both 2D and 3D games where the above points don’t hold. While AAA studios are doing 3D games, there’s also big studios working in 2D. There’s casual games made in 2D, but there’s also some made in 3D. I think one should think of his own goals, skills, resources and plans he has for the future when thinking of which path to follow. (And in my experience – just check my yesterday’s blog post – I must add that it’s good to have pretty clear idea as early as possible if you wanna save time & money…)
What about you? What you think about 2D versus 3D?