Search Unity

How To Make a 2D Isometric Game

Discussion in 'General Discussion' started by Thomas.Amundsen, Jun 12, 2014.

  1. Thomas.Amundsen

    Thomas.Amundsen

    Joined:
    Jun 1, 2014
    Posts:
    10
    Hi folks,

    Can anyone give me some pointers to the general approach to making a 2D isometric game in Unity? Two titles developed in Unity: Braveland and Shattered Planet come to mind. I want to make a game that is similar to these. After doing some basic research, it seems like I'd be better off doing full-blown 3D for a game like this. But apparently these guys did it in what certainly looks like 2D. Any thoughts? Should I be using a specific package from the Asset Store? Is Unity2D capable of making this kind of game, or should the 3D features be used to make this in 2D somehow?

    Bonus Questions:
    1. I want to be able to rotate the camera to four different viewpoints. If I don't use 3D, I assume this means having 4 different versions of each animation and sprite and then swapping them out accordingly. Is that the best way?
    2. I want to do 2D for two primary reasons:
      1. I like the way 2D pixel art looks. Disgaea and Wafku would be some good examples of how I want the game to feel.
      2. I assume it will perform better and I'd be able to support lower-end mobile devices - is this a valid assumption?
     
    Last edited: Jun 12, 2014
  2. Member123456

    Member123456

    Joined:
    Oct 17, 2012
    Posts:
    237
    Straight 2D can be cool. Ever think of mixing 2D and 3D like Bastion?
     
  3. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
  4. Thomas.Amundsen

    Thomas.Amundsen

    Joined:
    Jun 1, 2014
    Posts:
    10
    That is a neat style. I'd probably just go full 3D though if I wanted to have 3D characters. It seems like a lot more work to mix the two.
     
  5. Thomas.Amundsen

    Thomas.Amundsen

    Joined:
    Jun 1, 2014
    Posts:
    10
    Yea I have found this resource and other similar ones. I was looking for something more specific to Unity that might make it easier.
     
  6. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    782
    You would need 4 spritesheets per character for each animation sequence, unless you use something like smooth moves, that can be a lot of textures. Smooth moves would reduce your texture memory requirements quite substantially. A quick way I use to make isometric tiles for a 2D game is this http://www.inet2inet.com/InetSoftware/World-Creator/WCv2/NewFeatures_Form.asp this is a set of tools to create isometric tiling, including walls etc.
     
  7. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    It sounds like you're looking to do something like Fez. That's easy, just use the ortho option under the camera's inspector tab. Then rotate it like you would any other camera.

    As far as it being "cheaper" to render it really all depends. Believe it or not, but polygons are actually very cheap and most modern 2d games are made with 3d engines because there's way more documentation and graphics cards are just set up for them.

    What it really will boil down to is textures. Anything above 1024 and you'll start having to worry about performance on different platforms. That the other thing, the way textures are handled it's best to use multiples of 2 for dimensions (2, 4, 8, 16, 32, 64, 128, 256, 512, and 1024). And make sure to use PNG, and not JPG.

    Then when you import the texture select "point" in the inspector if you want pixel art and attach it to a material. For sprites click on the material tab to set the render option to transparent diffuse to make sure the alpha channel is transparent.

    Then to do animations use a "sprite sheet" that has all of your animation frames on one texture. Attach it to a "quad" and adjust the position on the quad to the different frames. This is done to save resources as creating and destroying textures is expensive as well as making a different quad for each frame then rendering them on and off.

    Attach the quad to a controller and delete the pill and you've got a working character.
    You may want to switch the collider to a box since the pill collider tends to hang on edges and is really made for FPS games.

    Oh, and if at any point you're struggling with the position of a model or object, remember that you can make an empty object the parent and use it as the center.

    Other than that, Youtube, Answers, and docs are your new best friends.

    Best of luck and keep having fun with it.

    EDIT: I almost forgot. Use the FPS controller and mover the camera to where you need it. And make sure to delete the camera rotation script and set mouse look to 0 on the character controller to stop it from rotating with the mouse.
     
    LunarBlacksmith likes this.
  8. Member123456

    Member123456

    Joined:
    Oct 17, 2012
    Posts:
    237
    Believe it or not, but the character in bastion is not 3D. It looks like it because of the amount of animations he has, but its actually just a massive set of HQ 2D sprites. He was deisgned, textured and animated in a 3D package, but each frame of the spritesheet is a frame from the 3D software renders. Really cool way of getting super high detail in your 2D charaters, with really smooth animations.
     
  9. Xaron

    Xaron

    Joined:
    Nov 15, 2012
    Posts:
    379
    I'm in the same boat and have similar questions. I think it depends what fits for you better. Having real 3d can have it's benefits, no z-order issues in 3d, shadows and lighting, animations don't have to be split for every direction.

    Otherwise 2d will perform better if you have lots of objects. And it can look better if you have a good artist.

    For my next game I'm still not sure what would be the best... 2d might be easier to handle when it comes to positioning of buildings, path finding and so on...