2D Versus 3D

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?

11 thoughts on “2D Versus 3D

  1. shadhex

    >>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.
    In my “real” work, I’ve created my own 2D engine on top of opengl (using orthographic projection). Most games ranges from 200-300 meg of textures. I might have at most 250 or so polygon on the screen, but since everything is pixel perfect running at 960×600 on an intel 915 mobile chip with 256 meg of texture (shared), it’s truly pushed to its limit sometimes. We did a port of one of our 2D game to 3D and difference is incredible. The cost of the project would also triple. The question that we then have to ask ourselves is “will the better graphic (same game play), translate to more sale?”. I personally don’t think we’ll make up the cost, but you also have to look at it from a long term perspective. If in 5 years, no one in my industry does anything in 2D, we might be left far behind with no product to sell.

    >> 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).
    Scaling is also “free” in 2D, when done on top of accelerated 3D. Blending has its cost, but nothing like when we had to do it in software rendering.

    So don’t necessarily discount 2D because it is not accelerated. Our next step will be to experiment between 2D and 3D mix, using different rendering pass. Market validation will decide if people are ready for it.

    Reply
  2. Programmartist

    3D has many advantages when it comes to art asset development.
    It’s much more modular than 2D. You can work on the animation and character model separately; improving or changing each independently. In 2D such changes require a lot of work. And you can achieve almost any style in 3D that you could with 2D. Games that come to mind are final fantasy III DS, or Ultimate Ghosts ‘n Goblins. These games feel 2D and are fanciful in appearance but benefit from the 3D pipeline.

    Just because you use 3D doesn’t mean you have to make incredibly complex art or games. The only thing about 3D is that the best tools , while worth it because of the time they save, are quite an investment.

    Reply
  3. Reives

    @Psycho:
    There’s a market where people actually prefer the style of 2D over 3D, because it’s less realistic per se – in some regards, they may find it more of an escape from reality and more relaxing, if that makes sense.

    Reply
  4. Michel Bartz

    @psycho : May be because they don’t have any skill in 3D, or the langage they use is not mean to do 3D. For example, i do games, but in Flash, yes it handles 3D, but i assure you that you don’t want to do that :D

    And 2D game rules \o/, also there is the 3D isometric, which can be 2d (Dofus i.e. ) or 3d (Disgaea i.e. ), but it open a lot of door when you don’t want to do it 3D, specially in level design i think. It’s simple as regular 2D with more options in level/game design.

    Reply
  5. psycho

    Huh, I’m not sure whether there is any pure 2D with shaders. I meant that you can use shaders when you are developing some 2D game (be it in opengl or dx3d or whatever).
    For example garry’s http://www.facewound.com/

    I dont get it, why anyone would make their game in pure 2D in year 2009, when even your watches have hw 3d acceleration :P

    Reply
  6. Jake Birkett

    3D is normally way too costly and time consuming for a small company. Your game may succeed by having some unique hook that makes it cult even though it won’t have the same level of graphics/content as a AAA game. That’s pretty much the only way you can do it as I see it (please elaborate if you have another plan :-))

    There’s an error in your last 2D point, I think you meant to say that 2D is an easier route right?

    Reply
  7. Juuso Hietalahti Post author

    @psycho:
    “shaders”
    - good catch. this was the impression of one pro game dev artist , and I’ve only touched shaders in 3D. Added your comment there. (And yeh, good thought on ‘not need to use shaders’. That’s indeed true. Similar to physics – there’s lots of games where you don’t need to handle physics whether it be 2d/3d. )

    “simpler level design – you are comparing painting with modelling, its simpler because you have less options”
    - yep.

    “shadows & lights”
    - yep, but they just look better in 3D :)

    “yep, its simpler to work with 2d, you need less code, simpler pipeline, and it might seem easier for beginners”
    agree on this one. I’d also say that ‘it might require less time to get things out’.

    @Ezequiel: yeh, 2D physics can be cool. (just think of Crayon Physics, World of Goo)… but maybe it’s just me but there’s something bit more coolness in seeing the stuff falling/rotating in 3D world compared to 2D :)

    Reply
  8. Ezequiel

    I think it also depends on what kind of artistic skills you (or whoever is going to do the art) have.

    I’m also under the impression that 2D graphics are more easy to handle.

    On the other hand, all the cool kids are using 3D, so people expects 3D on the games they buy. I personally like 2D. But I think on 2D you need serious artistic skills, while on 3D you can kind of get away by having technical skills. Or you can also take 3D models and render 2D from them.

    Oh, and I forgot about something… Physics in 2D can be cool too, but I guess that depends on what kind of 2D we are talking about. I think I saw some screenshots of your game, I can deduce that with “2D” you mean tiles?

    Reply
  9. psycho

    now i’m talking about 2d vs 3d regardless of technology..
    (however, every player has a computer with 3d support, even mobiles are starting to have 3d acceleration)

    - big studios – fortunately, games are not about graphics but rather aesthetics, and mainly the gameplay, so you CAN compete with AAA in making a great game :P
    - shaders – huh, you can use shaders for 2d, and you dont need shaders for 3d
    - simpler level design – you are comparing painting with modelling, its simpler because you have less options
    - shadows and lights – you can use them in 2d too, and shaders as well
    - physics – 2d is easier to control, less confusingm, and just more straight-forward (but 3d might look more ‘cool’ on first sight)

    – yep, its simpler to work with 2d, you need less code, simpler pipeline, and it might seem easier for beginners

    so 3d is just a 2d with one more dimension of options :)

    Reply

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Pro-Human Quiz: