Search Unity

Top recommended assets to buy for making large 2D game?

Discussion in '2D' started by frekiidoochmanz, Apr 29, 2016.

  1. frekiidoochmanz

    frekiidoochmanz

    Joined:
    Feb 7, 2016
    Posts:
    158
    with say huge maps, and zones, and entities (akin to something like say GTA 2 or the Sims (Sim city)).

    I was wondering what you're recommended assets were for not only making 2D games, but also large ones with huge worlds such as Chrono trigger and other games out there.

    I am having a tough time sorting through all of them and would love recommendations (beyond 2D toolkit, which I got when it was on sale , still learning to use it but the UI system is very simple, functional and nice.. )


    Sadly, I should also say I'm almost tempted to just develop 100% in 3D and simplify modify my camera and constraint axis, it seems much simpler since I'm still working with Vector3s all the time anyway even in 2D....
    thoughts?
     
  2. LiterallyJeff

    LiterallyJeff

    Joined:
    Jan 21, 2015
    Posts:
    2,807
    Unity is a 3D engine regardless. It's just an illusion of 2D no matter what you do. There will always be depth factored in somewhere.

    You'll probably want to have your environment be a bunch of tilemaps that you can show/hide as the player moves, so look for tile sets for environmental art on the internet. I like OpenGameArt.
     
  3. frekiidoochmanz

    frekiidoochmanz

    Joined:
    Feb 7, 2016
    Posts:
    158
    Hmm, I realize depth is factored but, I guess my problem is visualized 2D rects inside unity 3D space. for overlap events and such.

    I'm guessing I just compare rects like
    Code (csharp):
    1.  
    2. if (a1rectleftBound - a2rectrightBound = value < a1rectleftBound) //should be less than since the distance has to be going from right to left  from positive integer space to negative to reach the leftbound check and be considered within, I had it right the first time but changed it wrong
    3. {
    4.    interects == true;
    5. }
    6.  
    I'm used to working in engines which constrained everything on one plane of view. Unity uses, or can use, 4 views or more because it is viewing a space with rotation and depth so I guess its much more than that and that uses matrices math doesnt it?

    The functions for manipulating 2D is something im kind of familiar with but when it comes to hit detection in Unity space im kinda confused. I guess I'll research it. I was told to use raycasts that are always launched from my mouse pointer or event pointer location down to a transformed world point to get hit information.

    The reason hit information is important is because all my games require overlap information all the time, i use it for Mouse Buttons, UI elements, input, triggered events, everything. Anyway, I'll check out OpenGameArt and hopefully someone can recommend me good assets for learning 2D hit detection in unity or implementing systems that teach me in an interactive way.
     
  4. der_r

    der_r

    Joined:
    Mar 30, 2014
    Posts:
    259
    For making large tilemap worlds in Unity, my current recommendation would be the Tiled map editor + Tiled2Unity ( http://www.seanba.com/tiled2unity ), both of which are free. I made a pretty huge map for my Ludum Dare entry and it's working flawlessly ( http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=55643 ).

    When it comes to making the world seem huge and connected, what you probably want to do is destroy and load maps and objects based on where the player is going. If you use a simple fade to black transition and load the new map when the screen has reached pitch black, you can make it appear seamless.

    As far as hit/collision detection goes, here is what I'm using in my game:

    All moving objects get a RigidBody2D component with "Is Kinematic" set to true. I also add a BoxCollider2D and set them to act as triggers as I implement my own movement and don't need the physics stuff.

    To get collisions, implement the OnTriggerEnter2D (and possible OnTriggerStay2D) on your scripts. Inside those functions I check the other object's tag to see if the collision is relevant or not.