Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Isometric game, whats best 2D or 3D?

Discussion in 'General Discussion' started by Hittauru, Sep 10, 2014.

?

Isometric Game

  1. 2D Unity

    29.2%
  2. 3D Unity

    70.8%
  1. Hittauru

    Hittauru

    Joined:
    Aug 22, 2014
    Posts:
    15
    Well after reading around the forums I have found a mixed view on what would be best...

    Basically see this example


    When making this sort of layout game in unity, would it best to make the game in:

    • 2D and do the shadows etc myself
    • Make it in 3D with an isometric locked camera so you can only move up,down,left,right
    I look forward to people feedback and opinions!
     
    User10101 and BrandyStarbrite like this.
  2. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,943
    I'd suggest 3D. You can get the engine to do more work for you that way. Though I don't know if I necessarily believe the camera should be locked completely to isometric. You could include the option for a more free aiming camera but have it default to isometrically locked.
     
  3. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    It maybe depends what art style you want. If you do it in 3D, then you're dealing with `objects` ie meshes that represent each building etc... so if you have like bits that stick our or little fiddly details then you need a more complex mesh or extra normal maps or whatever to represent it. If you do it in 2D, you're working at a per-pixel level so can have as much variegation in the shape etc as you want, because then you don't have to worry about how to get the 3D camera to put the details in the right place. or something like that. But each has their merits and downsides.
     
    User10101 and Hittauru like this.
  4. inafield

    inafield

    Joined:
    Feb 26, 2013
    Posts:
    281
    What's your target platform? For the number of objects on screen, can the hardware you're targeting handle 3D?
     
  5. Deon-Cadme

    Deon-Cadme

    Joined:
    Sep 10, 2013
    Posts:
    288
    Start with investigating the limitations of the platform that you are going to publish the game on.
    Are you more comfortable with creating your own graphics in 2D or 3D?
    Will the player be able to change the view in the game? Maybe to make it easier for the player to place roads and other, small objects behind large buildings and terrain?

    It is just my personal opinion but I would make it a 3D game if possible. Give the player full control of the camera, low-poly buildings with normal maps, advanced lighting and other cool stuff that is much harder in 2D.
     
  6. Grimwolf

    Grimwolf

    Joined:
    Oct 12, 2013
    Posts:
    296
    Actually if you lock the camera angle, you can do what they did in Diablo 3 and cut out all the back sides of models that you'll never see. Basically reduce the performance cost of your objects by nearly half and allow you to fit much more detail.
     
    Ryiah and Hittauru like this.
  7. Hittauru

    Hittauru

    Joined:
    Aug 22, 2014
    Posts:
    15
    I'm mainly going to target PC and MAC OS to begin with then maybe expand onto phone apps but that would be in the distant future.

    • At the moment I'm more confident with 2D graphics although I'm in no rush and have the time to perfect 3D modelling.
    I agree that making it 3D and giving the user full camera control would enhance the game experience, although it may take longer to finish the game it would be better in the long term.
     
    User10101 and Deon-Cadme like this.
  8. Hittauru

    Hittauru

    Joined:
    Aug 22, 2014
    Posts:
    15
    Come to think of it, that actually could work very well! :)
     
    User10101 likes this.
  9. Grimwolf

    Grimwolf

    Joined:
    Oct 12, 2013
    Posts:
    296
    Not necessarily.
    Doing it in 3D would remove the need to create multiple angles of objects, it'd allow you to easily tweak and reuse assets, most of your lighting and post-processing would be automated instead of painting it out by hand, you wouldn't need to create different versions of various assets for different environments or lighting conditions, etc.
     
    User10101, Deon-Cadme and Hittauru like this.
  10. AnomalusUndrdog

    AnomalusUndrdog

    Joined:
    Jul 3, 2009
    Posts:
    1,551
    That's what Pillars of Eternity did too:

     
    hyphenbash, User10101 and Hittauru like this.
  11. Doadie

    Doadie

    Joined:
    Sep 13, 2014
    Posts:
    1
    An isometric game has to be 2D. Isometric is a 2D projection.

    Also, that Simcity game pictured above is trimetric, not isometric.

    With trimetric or isometric, every tile is the exact same size. You can't do that in 3D.
     
    User10101 likes this.
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,943
    You can do it in 3D. It is called orthographic projection and is as easy as setting the below circled property to Orthographic.

     
    Last edited: Sep 13, 2014
    ChrisSch, User10101 and Hittauru like this.
  13. TheSniperFan

    TheSniperFan

    Joined:
    Jul 18, 2013
    Posts:
    712
    I recommend you to go with 3D.
    Some time ago I read an article about Project Zomboid. It's an isometric game that used the 2D approach, but ran into massive problems. Massive enough to make them write a new engine from scratch. Now it's in 3D.
    I cannot seem to find the article anymore though.
     
    ChrisSch, User10101 and Hittauru like this.
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,943
    You probably mean the "Iso Revolution" post they made. Basically it came down to rendering speed and texture space limitations.

    Graphics cards are primarily designed for 3D and any 2D capabilities are technically faked by loose wrappers around 3D APIs. Those 2D capabilities are also fairly limited and anything advanced usually has to be done manually. Such as isometric rendering.

    They ran into the issue where they had to determine the rendering order manually because z-buffering wouldn't work and then determine the exact sprite to place. So it actually ended up being slower than 3D would have been.

    As if rendering speed is not bad enough, they were running into texture space limitations. Compressing the textures to improve the situation was causing artifacts on certain hardware (namely Intel HD) that normally wouldn't be very visible with 3D but was showing up rather easily with 2D.

    It is definitely an interesting read, but I mostly skimmed through it to find the culprits.

    http://theindiestone.com/forums/index.php/topic/1844-iso-revolution/
     
    TheSniperFan, ChrisSch and Hittauru like this.
  15. Kawaburd

    Kawaburd

    Joined:
    Jul 22, 2013
    Posts:
    16
    Having dabbled in this a little for someone else, 3D will treat you far, FAR better than 2D, at least in Unity.

    Especially if you're not sure whether you want outright models or just sprites/flat/cube meshes, 3D will let you do both pretty easily. If you decide to go olskoo and flatten everything out, just have all the relevant prefabs facing the camera and displaying the right things.
     
    Hittauru likes this.
  16. Ness

    Ness

    Joined:
    Oct 1, 2012
    Posts:
    182
    I would go with 3d, because it gives you more flexibility. However I`d rather play 2d;).
     
    Hittauru likes this.
  17. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,910
    I made a prototype city-building game a while ago in 3D:

     
    uxworldwide, Ness and Hittauru like this.
  18. c-Row

    c-Row

    Joined:
    Nov 10, 2009
    Posts:
    847
    One thing 2D does better than 3D in my opinion is faking depth without the need to actually change the underlying terrain. Say, if you want to add a public swimming pool to your city in a sprite-based 2D environment all you have to do is place a sprite of said pool and it looks fine. In an object-based 3D environment you would have to either cut out or change the terrain underneath at runtime so you don't end up with a swimming pool filled with rocks and rubble.
     
  19. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,943
    Or disregard the depth buffer's current state while rendering the object. Specifically by saving the buffer's current state to another texture, clearing it, rendering the object, and then restoring the state.

    At least that's how I'd try to do it in OpenGL. It should be doable in Unity too though it probably requires more effort.
     
    Last edited: Sep 15, 2014
    Hittauru likes this.
  20. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    I know it's just adding to the consensus but 3d all the way. It's easier (at least for me) to understand and interprete. Most hardware is set up for it these days. It's more flexible. It requires less "finagling".
     
  21. c-Row

    c-Row

    Joined:
    Nov 10, 2009
    Posts:
    847
    Yeah, that sounds like fun. ;)
     
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,943
    It may or may not be that involved depending on whether or not each Unity camera has its own depth buffer by default. It may very well be as easy as rendering the object through a second camera.

    Edit: Ran a quick test. Its as easy as positioning the object in front of a second camera as needed, that camera's depth set higher than the normal camera's and its Clear Flags set to "Depth only".
     
    Last edited: Sep 15, 2014
    Hittauru and c-Row like this.
  23. c-Row

    c-Row

    Joined:
    Nov 10, 2009
    Posts:
    847
    Nice - gonna try that.
     
    Hittauru likes this.
  24. c-Row

    c-Row

    Joined:
    Nov 10, 2009
    Posts:
    847
    One possible downside would be that you would have to restrict camera movement to prevent players to see underneath such objects rendered by the secondary camera so they don't see what's supposed to be underneath the terrain.
     
    Hittauru likes this.