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.

Open world game

Discussion in 'Getting Started' started by spiderman2015, Jun 17, 2015.

  1. spiderman2015

    spiderman2015

    Joined:
    Jun 16, 2015
    Posts:
    13
    My friend and I are going to create an open world game using unity. Which consists of 4 towns and 1 ruin between each of the places is a forest.
    I have 4gb ram, 4gb video card and 2.6GHz Quadcore.

    Each empires have lots of house, shops and a Palace. Where there are approx 10 AI (people just animating and the player cannot interact with them) and 10 AI (opponent roaming).

    We want our game to have a detailed assets but I read some on the forums that it might lag.

    I also read on some forums its good to use Level of Details(LOD) and some Normal Map.
    Some also say Occlusion Culling


    If you recommend us to use Level of details(which we will be using low, mid , and high poly), how many polycount should each of assets for the low poly,mid, and high poly?

    Please give us advice on what are the best thing to do in making this game.
    Thank You.
     
  2. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,242
    http://unity3d.com/learn


    The tutorials are very good, and they'll give you a clear idea of what you need to implement and what your art requirements should be. The game you describe is a large undertaking. You should be very familiar with Unity first, preferably completing most or all of the tutorial projects beforehand. Ultimately, you may want to invest in a plugin that will help you implement open worlds such as SECTR Stream or World Streamer. You'll probably also want to use Unity's built-in LOD and occlusion culling (or SECTR Vis for occlusion). Good luck, and enjoy the process!
     
    Last edited: Jun 17, 2015
    spiderman2015 and aiab_animech like this.
  3. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    if you're going for a large open world without having a strong practice of high to low poly process might be very frustrating and misleading.. maybe you should master the assets workflow, then see how to stream and use them properly.
     
    spiderman2015 likes this.
  4. sluice

    sluice

    Joined:
    Jan 31, 2014
    Posts:
    416
    You probably don't want to start with an Open World project if this is your first Project in Unity.

    I'm sure there are a few " Unity open-world" laying around on the internet (On Youtube), but still, I would advise on anything other than learning how to use the tool.

    I suppose one of you will be more of a programmer. Does that person have programming experience?
    The other will be the 3D artist. Does he have the proper experience?

    Also, remember that AAA Open-World game have really big teams with huge budgets...because, to put it simple, they imply a lot of work (from experienced people too).

    CPU: Your clock speed doesn't mean much without knowing the actual CPU.

    GPU: The video memory is not the only important stats about your GPU.. What is the clock speed? Memory speed? Memory type? How much Stream Processor does it have? Can it do DX11? Here knowing the actual GPU is important.

    RAM: 4GB is not a lot now a days... I consider 8GB to be the minimum you would want, especially for developing games.
     
    spiderman2015, antislash and Ryiah like this.
  5. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,483
    As this is your second post, I'm going to assume that you're shooting straight for the moon.

    Learning really is where you should start. Then make a little games. Then move on to more ambitious projects like this.

    That said, if you TRULY want to do an open world I can tell you the general concepts you'll need to know.

    You'll absolutely need to know how to do terrain as tiles. You can't just have one giant terrain, it doesn't work that way. What you'll need to do is use a program like World Machine to map out the terrain for the entire world. Then you'll need to save it as a splat map and apply it to Unity's terrain. Then you'll need to have multiple resolutions of the splat map for the LOD. Then, you'll need to stitch the terrains together with code or with an asset. Then you'll need to lay down models with LOD. Then you'll need to have an object to park and juggle other objects, items, models, and textures so that it doesn't kill your RAM. Then you'll need to optimize that object to load asynchronously so that it doesn't chug whenever you load a new object into it. Then...

    See how much stuff there is to doing an open world?

    There's a reason why games like Fallout, Skyrim, and FarCry have hundreds of people in the credits.

    That said, it's not impossible to do an open world with a small team just so long as you reel in you expectations. Such as maybe making sure that all game objects can be safely loaded all at once so that you don't have to juggle them around.
     
    Ryiah, spiderman2015 and antislash like this.
  6. sluice

    sluice

    Joined:
    Jan 31, 2014
    Posts:
    416
    @Not_Sure, good points. And after making ALL of this work flawlessly, you have to work on the ACTUAL gameplay and mechanics of your game.

    Another point to note: Is there enough things to do in your game to value an open world game? Do you need to connect the Cities?

    Not enough things to do, to explore or just too repetitive missions will just bored your audience. I have that Spider-Man open world game on the first X-Box that comes to mind. Exploring New York as Spidey was great.. playing the same missions over and over, really killed the game after 2-3 hours of gameplay.

    Do you really need to have the cities connected together with endless forest (and perhaps not much to do in them?)
    You could do like in the Witcher 1 & 2 route and still have a big alive world that is not necessarily open.

    You could have big levels (your cities). When getting out of the cities, depending on your direction (or activating sign? or map?), you "teleport" in front of another city. Just throwing another idea..
     
    Ryiah and spiderman2015 like this.
  7. spiderman2015

    spiderman2015

    Joined:
    Jun 16, 2015
    Posts:
    13

    Thanks we already know the basics of unity and made some mini games. thanks for the advice tho. We are 4 in our dev team. I'll take note of your advices.
     
  8. spiderman2015

    spiderman2015

    Joined:
    Jun 16, 2015
    Posts:
    13
    It's not actually open world. It has linear story and you can only roam around base on where the story is like onimusha 2.
    how many poly do you think can we use for our assets if we will be using LOD?
     
  9. sluice

    sluice

    Joined:
    Jan 31, 2014
    Posts:
    416
    There are no specific rules about how much Poly's a low poly or high poly should have..

    The main point is a Low Poly model should not have Polygons it doesn't need. Meaning, you have to cleanup your model to make it game ready. You should always bake your Normal Map from your High to Low Poly, it will save a bunch of polys.

    You can give depth and definition to small things like Screws with the baking process (to avoid having poly for showing screws). You can make something look more round with that process too.

    I'm a programmer and am no pro in 3D, but the workflow should look somewhat as follow:

    1-Make high poly object with great definition,
    2-Make a low poly version of that object. (the main model that will be used in the game)
    3-Bake the normal map. (depending on your 3D software it will be somewhat different to do)
    4-Make the other LOD models from your low poly model (step #2)

    There are a bunch of tutorials/videos on LOD as well as on High/Low Poly baking.
    And you will need to test it on the shortscale (1 or a few objects) to get the desire result.
     
    spiderman2015 likes this.
  10. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    in other words, learn modeling and texturing
     
    spiderman2015 likes this.
  11. Farelle

    Farelle

    Joined:
    Feb 20, 2015
    Posts:
    504
    I think what you could do, to find out how many polygons a scene can handle is make models with different amount of polygons and create a script to slowly increase the amount of each model in your scene, to find out how many models with specific polygon count you can have before the game starts crashing or lagging.
    On another note, you should always try and go for as few polygons as possible, but in a way that you feel comfortable with, that means, when you reach a point where it would take you more than half a hour to clean up the mesh further, it would be maybe good to stop there, since it won't improve enough anymore to make a significant difference.
    Then one thing you can also use to know how much polygons you need is keeping those things in mind:
    1. Is my models silhouette clearly recognizable?
    2. Do I have all polygons needed to create good animations/skinning? (more polygons around joints usually)
    3. Are those details I want to add, making the character more distinguishable?
    the last one is important, if you have a story and want your character to be clearly distinguishable from as example NPCs.
    Too much details can obfuscate the Personality/Appearance your character has, too few can be too bland.
    Don't be afraid to experiment :)
     
    Not_Sure and spiderman2015 like this.
  12. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Don't. Start small. By the questions you are asking no one in your team has the experience to even think about a project of this size.

    But since no noob ever listens to that advice, the other option is to grab the biggest, most difficult thing in your game, and build that.

    Fail fast and then come back to reality.
     
  13. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,483
    Nah, I think an open world is absolutely do-able for a frist game, I'm just saying that if you do go for it aim for a minimum viable product (meaning get it working first and formost).

    All said, it's REALLY hard to give better advice when we don't know what level of experience you have.

    If you want to get your feet wet, I would suggest starting with World Machine to make a large terrain, then cut it up into multiple splat maps, then make High res and low res versions of those maps, then slap them onto some terrians but nest the terrains in an object that swaps between the high res and the low res when it comes into contact with a trigger attached to your camera.

    SO what you'll want as an end product is a character controller with a huge sphere trigger collider. Several objects laid out in a grid that have a high res and a low res terrain nested in it. Then attach a code to either the trigger or the object that turn on the high res and turn off the low res when it enters the trigger, and then turn the low res back on and the high res off when it leaves.

    If you can't do at least that, then you most likely need more practice.

    If you CAN do that, then you'll want to make a second trigger that's bigger than the other one to load in the models so that it doesn't just sit in the RAM. Again, do it asynchronously.

    There may be better ways of doing this, but this worked for me when I was fiddle farting with it back in U4 free.
     
    spiderman2015 and Ryiah like this.
  14. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    dépends on your definition of "open world", what is its size ? is it MMO ? persistent ?
    my project is an "open world" but at the beginning, that will only be just a promenade in the universe with no client/server or multiplayer stuff... you can call that a "big unique level needing asset optimizations and streaming"
     
  15. Haseeb_BSAA

    Haseeb_BSAA

    Joined:
    Aug 20, 2014
    Posts:
    316
    You're really gonna need to code your game , without programming a game is nothing.
    Watch AwfulMedia and Brackey's C# beginner tutorials on youtube if you're new to programming :) I think they're very good! Sure you'll need to learn blender (which I recommend) if you're not gonna using 3rd party models. So learn that too.
    Learn rigging , modeling and animating. Then Mec'anim in Unity. That is pretty much to learn at start but all are just as important as a seed is important for plant.
    One advice : Never give up and don't get discouraged by anyone.
     
    Whippets and antislash like this.
  16. antislash

    antislash

    Joined:
    Apr 23, 2015
    Posts:
    646
    this...
    just listen a half to other's advice and never forget your goals,
    if you aim very low, you'll always get even lower.
    reality will bring you back to a reasonnable project.
     
  17. Haseeb_BSAA

    Haseeb_BSAA

    Joined:
    Aug 20, 2014
    Posts:
    316
    True that.
     
  18. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,819
    I'll put in a plug for Cheetah3D if you happen to be on a Mac. I much prefer it to Blender... it's not free (about $100), but worth every penny — that's really an amazing price for such a professional modeling tool, and it integrates very nicely with Unity too.
     
  19. Lockedbeast

    Lockedbeast

    Joined:
    Jan 7, 2018
    Posts:
    18
    Tbh plan and document before anything then just divide the work and start from the most important things then work on the extras , make it your hobby and not your job cause just know that the possibility for it to fail is high and the possibility to need money to finish it is high too , so just have fun and explore around the internet to learn :)
     
    JoeStrout likes this.