Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

Map Size and Terrain Variety

Discussion in 'Game Design' started by KingLlama, Aug 13, 2015.

  1. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    199
    So i'm looking into building my first game. For a open world game what would be a good size for the terrain? Is 2000x2000 suitable? I also was curious on what are some good tools to use to create good Terrain Variety? Is research the main key in making a beautiful terrain? What about having the map feel infinite but when you hit the edge of the map to the East you come from West heading back inland?


    The idea behind this is a Open world Nautical single player game at first then later expand by having multiplayer.
     
  2. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I'll refrain from pointing out the yawning chasm between "my first game" and the sort of game your questions imply (a more sensible first game should be asking questions like "how do I get the little cube to bounce of my Pong paddle" or "what kind of aliens are most fun in a Galaga clone").

    So... from a game-design standpoint, how big the terrain needs to be depends on what you're doing with it, I would think. You said "nautical" which implies sailing around. The ocean in this case could truly be infinite, with just a cluster of islands where all the action happens. Or you could procedurally generate islands on the fly as the player gets close enough.

    One thing I've rarely seen done is to actually have your world be spherical. This would be technically challenging, but has the great advantage that you really can't see distant islands (or ships or whatever), no matter how far your rendering distance is, because they're below the horizon. So you only need to procedurally generate or render stuff that actually sticks up above the visual edge of the world. We almost always make flat worlds, because the math is easier, but they lack this big advantage. Of course in most cases, we have to set the rendering distance much less than the horizon distance anyway, so it doesn't matter... but you can imagine a game that takes place on a relatively small sphere, where the horizon is quite close, and then it would work.
     
    KingLlama likes this.
  3. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    199
    Well normally I can understand what you mean about the simple stuff. I have a simple melee system already implemented with a enemy health script. My brain has a tendency to grab alot of information at one time when learning something so I do alot of stuff at once when approaching something. So a infinite ocean with a limited clipping plain would work also?
     
  4. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Yep. We're straying out of game-design questions and into implementation questions that would be better discussed in the Scripting forum. But basically, you can make a plane seem infinite by always keeping it directly under the camera. If it's textured, then you still keep it under the camera, but shift its UV offset to reflect where in the world you are.
     
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,727
    Infinite oceans and procedural generation do add another layer of complexity, though.

    Instead, you could do the wraparound Pac-Man style. That would be really easy to implement. Add trigger colliders North, South, East, and West. When the ship enters the East trigger collider, change its position to the West edge. If there's enough empty sea near the edge, the player won't see any islands pop suddenly into view. Depending on how detailed the rest of your simulation is, there might be other things to clean up. If it's always noon, you don't need to worry about the position of the sun. But when you teleport the ship, there will be an abrupt one-frame change in the water rendering. You could mask this by surrounding the trigger collider in fog.

    Whether you want to do wraparound or not is a good design question. Depending on your game world, you could contrive reasons for boundaries -- a dropoff at the edge of the world? rocky cliffs surrounding an inland sea? sea monsters?

    Implement one game mechanic at a time -- for instance, maybe just sailing around without worrying about landing on an island and getting around on foot.

    If you have the budget, you can get a head start on a lot of the rest by taking advantage of the Asset Store. If I wanted to get something playable in a weekend, I'd probably buy some of island models and a combat-oriented controller like Opsive's Third Person Controller. There are also terrain tools for making your own terrain, which is usually easier than sculpting terrain by hand and produces a better result. You can always fine-tune the results by hand.

    Getting back to design, use reference material, even if it's just Google Images. You don't have to replicate them exactly. You could get inspiration from the lighting in one image, the terrain shapes in another, and the texture colors in a third. But don't just go into your terrain tool and start sculpting without a model to follow. It'll take forever as you go back and forth undoing things, and you won't be as satisfied with the end product.

    Get things working as quickly as you can. More likely than not, you'll end up redesigning a lot of it after you implement it the first time around. You may decide that sea is more fun than land and cut the on-foot part. Or you may determine that you want bigger islands and you need to divide it into multiple scenes. But we all need to go through those learning and exploration steps first. One of the keys is to get there as quickly as you can so you can get to where you really want to be.
    And have fun! :)
     
    KingLlama and JoeStrout like this.
  6. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Great points.

    Also, maybe the world doesn't have to be open? If it's an old-timey sailing game, why not draw on ancient legends and actually have the world end at some point, with a giant monstrous waterfall that presumably bathes the giant turtles supporting the world?

    It reminds me of one of my favorite scenes in the Golden Age trilogy. This takes place thousands of years from now, and computer games then are so advanced that you really can't tell when you're in one (unless you reason it out). One of the designers had made a flat world where the sky was literally a great hemispherical dome (with some unspecified reason why you can't reach the edge of the dome at the bottom), decorated with little lights for stars. One of the people, bolder than the rest, developed hot-air balloon technology, and not only managed to reach the top of the dome, but then started banging on it with a great hammer to see what was on the other side. The rest of the population naturally freaked out as chunks of sky started falling down. Great stuff.

    As a design approach, I think there's much to be said for taking old legends & beliefs and trying to create a world where they are literally true.
     
    TonyLi likes this.
  7. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    199
    So many great points and ideas about the trigger events and direction. I actually purchased suimono ocean system and ufps after spending countless hours trying to get my gun system to work. Thank you guys for the advice. I shall be working on my game more so in the next couple of weeks!!
     
    TonyLi and JoeStrout like this.