Is There Any Reason To Use Pure 2D Engine Any More?

Blog post about 2D got several comments. The discussion got me thinking that is there really need to use 2D engine for games? If you can create 3D models and render isometric/top-down views – what’s the benefit of using 2D engine?

One obvious advantage is that you can render very high polygon objects in 2D (as in Lylian game for example). Another reason could be if you are doing a physics based game and want to stick in 2D (thinking of Crayon Physics)

Besides these, is there any reason? Why not use 3D engine, and then render stuff in 2D?

(I’m talking about downloadable indie games, not Flash games for example)

15 thoughts on “Is There Any Reason To Use Pure 2D Engine Any More?

  1. TomQS

    I have been developing a 2D engine for a couple of years now.
    By engine I mean the code, various editors and an overall refined workflow for building games.
    And only now I am able to prototype a high quality side scroller in 3 days, by writing only a 100-200 lines of C-ish code and doing some little work with my editor.
    If I had the ability to work on it full time, the time could have been probably halfed, meaning maybe 1-2 years of a single man development.
    It is not easy to roll your own engine, but the pleasure and rewards are high once it reaches more mature stages of development.

    Reply
  2. Spunkmeyer

    I use my own engine based on OpenGL most of the time. I don’t know how long it would take to program such an engine fulltime with experienced coders around. Maybe some months?

    Reply
  3. Juuso Post author

    @guy: Jake (whose comments you can see for example in this blog post) has done that more than once. From what I know he did not approach BFG as “what if I get ripped off?” attitude. He has published several games with them and ended up getting hired by them.

    I think BFG might have pretty standardized terms for developers. I think the “rip off” part is not the first thing to worry about.

    Back to the original topic…

    … what engines are you guys using? Libs?

    Reply
  4. guy

    @Fili:
    I think you misunderstood Juuso’s original comment. He means that you could render any 2d graphic with a 3d engine(just using two polygons and put a texture on top to display the image plane).
    Also the graphics-cards compatibility is not really an argument against 3D engines. It always depends on the feature-set the engine uses. For example if the engine would use the Fixed Function Pipeline rather than shaders(where you have compatibility issues with the different shader models: SM 1.1, 2.0,3.0,4.0, …) to render stuff then it’s pretty much guaranteed to work on older hardware too.

    btw. anyone feels like answering my other question above?

    Reply
  5. guy

    well, I use DirectX9 only no other stuff but it takes like a year minimum to even build a small engine. So if you need some special feature in your game that other 2d engines won’t give you writing your own engine is always an option.

    Reply
  6. Greg

    Great comments. It’s definitely opened my mind back up to 2d a bit. Coming from doing a particular game written in C in 2d (Amiga) and then trying to (sort of) remake it with a 3d engine (JME) I find a lot of the ‘challenges’ I faced with 2d aren’t there so much (animation, movement, etc).

    However — all the comments got me thinking that I’m really comparing 2d tools and apis (and I use that word lightly) of the 19xx.. well we won’t say exactly when :) with today’s way of doing things and available libraries.

    So, out of curiosity, what 2d frameworks/libraries do some of you build off of?

    Reply
  7. Kris

    This is assuming we want to use models for 2D games… all my games are pixel art-ish and created in Photoshop. I have no need for a 3rd dimension… why complicate things?

    Reply
  8. guy

    I wrote my own 3d engine together with a pal and now we’re only doing 2d stuff with it. I think it’s better because it’s not sprite based and you can render and deform polygons(don’t know if that is possible with most 2d engines).

    But I have another question, it’s not really related but since the forums are closed I didn’t know where else to post it(maybe someone can give good links for some indie forum for general questions such as this one?):

    Say you made a game. Say you want it to
    sell on a portal like BFG. You sent them a mail and
    they are interested. I never did anything like this before
    so how do you manage to get out a good deal and not being
    ripped off. So for someone like me this is entirely new
    territory and I don’t want to take them advantage of that.
    So how do you do it?

    Reply
  9. hermitC

    - 2D engines have less problems with all the different graphic cards
    - start point for game dev newbies, 3D would be overkill
    - cheaper than 3D engines in most cases (if any costs)
    - conversion to web, 3D in browsers is still immature
    - simpler physics/maths/camera

    Reply
  10. Shane Marks

    As a programmer in my opinion having a 2D engine strips down a lot of unnecessary functionality [The 3D side]. I think it also decreases the learning time for a new member because only the core 2D functionality is there.

    Reply
  11. Fili

    Well, if you’re doing a cartoon-ish game, you’ll have a lot of work to make your 3D characters look 2D. A graphic artist might spend 2 or 3 days modeling a cartoon character in 3D (and it will still look like crap), compared to 30 minutes it would take to draw the same character in 2D.
    If we start talking about mobile platforms like the iPhone, the arguments in favor of 2D are even stronger. Think about a strategy game that has to display 50 units on the screen. If you model those units in 3D and considering that a good-looking unit should have about 200 triangles, you’ll be drawing 10,000 triangles per frame. In 2D you’d be drawing only 100 triangles (2 per each quad used for one unit).
    So no, the 2D is not dead yet.
    (disclaimer: I love 3D, most of my games are 3D, but there are times when pure 2D is better)

    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: