Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Beat'em up revival: 2D or 3D?

Discussion in 'Game Design' started by Xavy_clay, Oct 2, 2015.

  1. Xavy_clay

    Xavy_clay

    Joined:
    Oct 2, 2015
    Posts:
    20
    Hi there!

    New to the community and a bit new to Unity (at least, flying alone :p).

    Longstory short: I gathered a couple of friends and we want to make a classic Beat'em up, something like the good old Streets of Rage, Alien Storm, Final Fight, BattleToads, TMNT Turtles in Time, etc. The old classics made anew.

    The thing is our artist is not so good at 2D animation, but we both know 3D animation.

    So here's the first question: will it look good if we make the game in 3D with an ortho camera and making constraints so the characters can only look in the X axis? that way, all models in 3D and making "walkable" plane as a floor to control how far the characters can walk in either direction.

    The other option is turn the 3D models into sprites and making all 2D with a "fake 3D" to give depth movement, create a plane to limit how "deep" (up) the characters can go using some kind of "check if inside" function.

    Thanks in advance for all tips, tricks and rocks you can give or throw at me.
    I'll be making test with both approaches meanwhile.
     
  2. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,848
    Yeah, I think it's well worth trying both approaches. 2D sprites made from raytraced 3D models can look really good (how 'bout this for dredging up an old page?). It's a fair amount of work, but doesn't require nearly as much skill as making good 2D sprites by hand.

    On the other hand, I've played around with 3D models in an essentially 2D world, and I think it looks fine. You just have to take care to make all your models and backdrops visually consistent.

    If you do decide to go the sprite route, this article may be helpful to you.

    Welcome to the community, and good luck with your game!
     
  3. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    Do some tests. I used 3D models in a 2d orthographic test game & cubes were shown as flat objects but spheres & cylinders had shading due to the non flat sides facing the light source. It isn't a big issue but it can change the way the game looks depending on the 3D models you are using if you aren't expecting it.
     
  4. Prototypetheta

    Prototypetheta

    Joined:
    May 7, 2015
    Posts:
    122
    I've been using 3D models to help me draw 2D sprites. I basically make the model (don't necessarily have to texture it), set all the animations up, render the frames I need then use that as a basis to build up a stylized sprite.

    I'm having some success, need to work on my technique a little but it's a method you might find useful.
     
  5. Xavy_clay

    Xavy_clay

    Joined:
    Oct 2, 2015
    Posts:
    20
    Thanks you all for the insights.

    For the conversion of 3D models to 2D sprites I found a very nice tutorial for Blender. I had it tested and the results are very nice, so I may just go the 2D pixelart way in a 3D fake scenario.
    The page is in japanese but the translation is good enough: http://initialsgames.com/main/?p=1360

    Right now I'm testing rigid bodies against player controllers, see which adjusts better to my needs. The game do not have forces nor gravity, the jumping, throwing and such can be simulated; doing research about it.
     
  6. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    Good luck, thanks for that link. I'm reading it now
     
  7. Xavy_clay

    Xavy_clay

    Joined:
    Oct 2, 2015
    Posts:
    20
    Hi there!

    Making some progress with the game (in 2D with fake 3D scenario), but when coding the whole "attack" thing, I realized something.

    The objects (players, enemies, etc) will need to interact between each other , but they will certainly be in diferent "z" or depths. In 3D is fairly easy as all objects have volums , but in 2D I have my doubts.

    It is advisable to order the world in "layers" so interaction could be made between layers that are not far than (number), or is it better to make a "fake 3D" boxCollider at the feet of each object?
     
  8. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,848
    OK, let's see if I understand your question correctly. You're using 2D physics, but you want to ignore collisions between characters that are in a different virtual depth.

    In that case, yeah, you have a bit of a problem; the 2D collision detections completely ignore Z. You'll have to check the character's Z position yourself, and simply not react when they differ in Z by more than some amount.
     
  9. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The question is answerable by: what can you guys achieve? This will generally be the only sane course of action.
     
    Martin_H likes this.
  10. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,848
    What? Did you accidentally post this to the wrong thread? I don't see how "what can you guys achieve?" answers the question "How should I approach collision detection for in my 2.5D fighting game, given that the characters may vary in Z?"

    On the other hand, I just noticed we're in the Game Design forum, and this is an implementation question, not a design question. @Xavy_clay, you might want to ask this again (more clearly, perhaps?) in the Scripting forum.
     
  11. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Generally the topic title indicated their actual choice was based on what they were able to achieve.
     
  12. Xavy_clay

    Xavy_clay

    Joined:
    Oct 2, 2015
    Posts:
    20
    Mmm not quite. I'm using 2D sprites and graphics, and want to avoid using physics (gravity, forces and such) if I can.
    The plan was to use boxColliders and such to have onCollideTriggers. Being a project that won't have any kind of physic interaction (no push or throw or fall), I though going 2D could be easier.
    But yep, this is somewhat a scripting issue, so I'll move this kind of stuff to the other thread I have (in scripting xD)

    Our aim is something like this

    And this:
     
  13. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Well the 2nd one is easier, requiring only something like Spine for keyframe animations and static imagery. Streets of Rage will require an accomplished pixel artist and I'd imagine it would take longer.

    I'd also recommend just making the game use Physx. I have done so with many mobile titles, box2D isn't a requirement. The reason I recommend it is you can use Character Controller and 3D colliders for the isometric viewpoint or forced 3D perspective in the above games and code becomes enormously trivial with arcade movement, sorting order etc all done for you, not to mention decent collisions.

    Merely requires a little fiddling with the camera until it's right.

    ie make it 3D in code, and artwork is 2D.
     
    theANMATOR2b, Xavy_clay and JoeStrout like this.
  14. Xavy_clay

    Xavy_clay

    Joined:
    Oct 2, 2015
    Posts:
    20
    I plan on doing the whole art in 3D then render it as sprites (animations included) and put it in the game as 2D sprites. I've seen some shaders and tutorials form blender that makes very nice pixel art renders from 3D models.

    Thanks, that's what I though :)
     
  15. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Oh any chance of linking those tutorials/resources? I have a friend who wants to author sprites in blender :)
     
    BrandyStarbrite likes this.
  16. BrandyStarbrite

    BrandyStarbrite

    Joined:
    Aug 4, 2013
    Posts:
    2,068
    Gasp!! O.O
    For real?!
    In Blender?!
    As hippocoder said, put links, put links!
     
    hippocoder likes this.
  17. Xavy_clay

    Xavy_clay

    Joined:
    Oct 2, 2015
    Posts:
    20
    BrandyStarbrite likes this.
  18. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,848
    I'd like to discuss that tool more, but so as to not hijack this thread, I started a new thread about it over in the 2D forum. :)
     
    Xavy_clay likes this.