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. Voting for the Unity Awards are OPEN! We’re looking to celebrate creators across games, industry, film, and many more categories. Cast your vote now for all categories
    Dismiss Notice
  3. Dismiss Notice

Is Unity a good choice for a sport game like FIFA?

Discussion in 'General Discussion' started by gorgiaunity, Jan 19, 2018.

  1. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    Hello,
    I am a young Unity programmer and I want to develop a field hockey sport game, based on FIFA model (like FIFA 14/15) but is Unity the best way to do that? I can make all kinds of games with it because of its very simple tools, but I've heard that complex game made with Unity have bad performance due to the low computing capacity of the engine.
    What's your opinion?
     
  2. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    The best way depends on many things. The time, skills and resources available, the budget of the project.

    eg Perhaps in an ideal world the worlds best field hockey sports game might be made using an engine that was developed for just this very purpose. An engine that contains just exactly what this game needs and optimised for these tasks and the platforms you want the game to run well on.

    But obviously that ideal world doesnt usually happen, and we have to make do with other options.

    Bad performance can be caused by many things. Every system has limitations and bottlenecks, many different problems and different solutions or ways to try to avoid the problems. Unity has some bottlenecks and performance gotchas of its own for sure, and this can make certain projects better suited to other engine choices.

    Personally if I were making a sports game, I would make my first engine selection based on the physics needs of my game. Am I hoping to use existing general game physics systems to control the sports ball, puck, etc? Or an add-on someone else may have already written for an engine? Or am I writing my own system to deal with physics (or fake physics) for this aspect of the game? Based on that, and my own existing skills (or lack of) with different engines, I would expect to have ended up with which engine looks best/easiest/least risky.

    Anyway there are so many other aspects of making the game that can end up being the real trouble, and sometimes performance issues are really a symptom that some other part of the development process went wrong in a project, or that it was too ambitious a project to execute successfully. Sometimes when things like this happen people want a simple answer for the failure and may single out the choice of engine when in fact the reality was more complex than that.

    The positive news I'd give someone who is already happily learning unity or has existing knowledge of it, is dont be put off using Unity to start developing your idea, even if there are nagging doubts that alternatives might be able to do some part better. You could even think of the Unity version of your game as a prototype if you like, and even if you completely fail to end up with a finished game that lives up to your original dream, think of all the detailed stuff you will have learnt and been able to experiment with along the way.
     
    theANMATOR2b and scvnathan like this.
  3. BrewNCode

    BrewNCode

    Joined:
    Feb 17, 2017
    Posts:
    372
    I guess do-able. I mean, as far as I'm concern, this kind of games is just adding forces. right?
     
    Spartanv likes this.
  4. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Try it out.
     
    chingwa and angrypenguin like this.
  5. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,091
    For the most part this rumor is spread by people with little to no actual game development experience. There are going to be games that were not optimized properly and they'll try to use that as evidence that it's a problem with every game made with Unity.

    For the record this is the game with the largest number of on screen units (at least a hundred thousand) that I'm aware of and it was made with Unity. Somehow I doubt that you'll need a hundred thousand for a sports game.

    http://store.steampowered.com/app/616560/Ultimate_Epic_Battle_Simulator/
     
    Last edited: Jan 20, 2018
  6. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    This used to be 'true' when Unity was constrained to a single thread and single threaded rendering systems. It would have been harder to make a AAA sports game without having some very skilled programmers.

    Currently Unity is multi-threaded and has multi-threaded rendering systems DX12/Vulkan. So lots of characters are not a problem.

    The 2018.1 new transform compiler job system opens the doors to massive unit count games. (demo below).



    Probably the largest hurdle to any modern sports game is setting up a per limb physics system to more accurately simulate impacts. This is probably the core of any sports game engine or lots of blended Mocap animations.



    Mind you Gang Beasts manages a physics based combat system with multiple players using Unity's default physics and animation system.



    Now if Unity had a bionic animation system built in or as an asset it would be much easier to make realistic looking sports games with Unity.
     
    gorgiaunity likes this.
  7. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    Can be used a physics engine like Euphoria? If it were not possible how am I supposed to do? Pre-generating every possible animation?
     
  8. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Euphoria is more than a basic animation system as it sets up characters with biophysical behaviours and more natural reactions to real world events e.g. impact/collision/balance responses.

    Gang beasts uses the Unity Physics and Animation system in a unique procedural way, but this is a bespoke solution they have produced themselves.

    Most games use a combination of animations with IK and rag doll physics. Inverse Kinematics allow player controlled motions that blend with animations.

    You can probably get away with a good set of animations some IK and ragdoll physics for knocked out/down players.

    And if you look at sports often the players movements/animations are common for most of the action.
     
    gorgiaunity likes this.
  9. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    I'm not sure what are IK, can you explain it better? And If euphoria is a set of physics and behaviours tools, why doesn't Unity add it?
     
  10. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Inverse Kinematics, where a jointed system e.g. an arm's joint positions is animated/driven by controlling where the hand should be.



    It would probably cost a lot for Euphoria to be licensed and integrated well into Unity. Most people manage with mix of animation, physics and IK.

    Also Unity has a new physics animation recording system so you could probably rig and record some good physical collisions on ragdoll characters that could then be tweaked to look more natural.
     
    gorgiaunity likes this.
  11. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    Wow, IK is a fantastic solution, there's an official Unity toutorial to use it? However Unity's ragdolls "haven't hands" indeed when I create one there isn't hand box, so are ragdolls sufficiently accurate for the project?
     
  12. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    IK is built into unity but really, people are giving you advice that's meant for 2 years experience you. Try doing Learn section to see if you can get that far first then build up to it.
     
  13. Amon

    Amon

    Joined:
    Oct 18, 2009
    Posts:
    1,361
    I don't think Unity can do it. It's more suited to the point and click types of people who don't want to code. Yeah it has c-- but it's not OOP based more like the DarkBasic of 15 years ago.

    So, yeah. It's not really worth researching it as Unity can do the basics games with shadows and stuff. If you want to make a quick game with the shadows then yep, unity can do it coz only good games have the shadows.

    I hate though one thing about Unity. You have to click File >> Save As to save the scene. That's just too many clicks.

    I'm leaving the community anyway as Unreal Engine is awesome and has better shadows than Godot.

    [edit] Oh, Unreal has a good editor but not as good as Blender. Unity has editor but you need to practically rewrite the editor in code as it requires masses or rewrites because boilerplate code has not bee integrated much to my wants.
     
    carking1996, theANMATOR2b and Ryiah like this.
  14. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,732
    You almost had me for a second, which is really depressing.
     
  15. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Nah, I did IK after just a week or two of picking up Unity... :D
     
  16. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Were you a beginner with no experience at all in programming?
     
  17. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    No but completely new to Unity and game development in general though :D
     
  18. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Well congratulations on being clever then :)
     
    AndersMalmgren likes this.
  19. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    I like todo things different. Its like everybody say, start small, do a very small game as your first.. F*** that! :p
     
    theANMATOR2b likes this.
  20. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Even so I would tend to recommend attempting an arcade type sports game rather than a proper sports sim as a first project.
     
  21. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    As a indie I would focus on the mechanics, what can you do different from the Triple A ones
     
    gorgiaunity likes this.
  22. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    Yeah, but just the idea is different from the AAA games, beacuse for now there isn't any good field hockey game in the world. Anyway I'm focusing on animations and mechanics and I'll work on the graphics' quality in a later stage of the project...

    How have you done? Can you suggest me any tutorial or video tutorial about that?
     
  23. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    I just bought Final IK and played around with the different demos, read the docs etc

    edit: About field hockey, I think animations and mechanics are key here. Otherwise it will just feel like a NHL ripoff with green ice
     
    theANMATOR2b likes this.
  24. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    It's too much for me... so there isn't any IK system integrated in Unity? am I forced to buy one?
     
  25. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    No there is one built in too
     
  26. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    Do they do discounts sometimes?

    Do you know a good way to learn it? Because I didn't find anything about IK in the Learn section of Unity.
     
    Last edited: Jan 22, 2018
  27. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
  28. Laiken

    Laiken

    Joined:
    Nov 18, 2015
    Posts:
    50
    gorgiaunity, make sure your model is mecanim configured before you try the unity IK. I think it's needed for it to work.
     
  29. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    Thank all of you for the answers! At the end I decided to use the classic FK for the animation and I've begun developing FPS version of the game to study arms motion (there are only the two arms, the rest of the body is missing). it works well until I add Rigidbody Component, indeed when player turns right or left or it plays an animation, It lose balance. It also happens with Rigidbody rotation freezed long X and Z axis and with "Use Gravity" OFF. Did anyone known how to keep it in balance? I'll take IK solution too.
     
  30. JohnHudeski

    JohnHudeski

    Joined:
    Nov 18, 2017
    Posts:
    126
    Wait before you start
    The guys who built mecanim worked with HumanIK.
    HumanIK is the foundation for EA's Ant system I even think one of them worked on FIFA
    Needless to say all the animation features you need already exist in mecanim (Except for the foot planting system)

    Watch this talk from the FIFA 2010 team https://www.gdcvault.com/play/1012342/Animation-Warping-for-Responsiveness-in
     
    gamefish likes this.
  31. gorgiaunity

    gorgiaunity

    Joined:
    Jan 19, 2018
    Posts:
    9
    Thank you I'll see it, but I'm going to develop a field hockey game so I think there aren't animations yet.
     
  32. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Check out umotion i haven't used it myself yet,but it seems pretty awesom. You can make your own animations from scratch or based on exiting animations. It uses keyframes and IK to drive the animation and then you bake it to a normal animation. For example if you find a football animation pack you could retarget it for your purpose.