Search Unity

Modular Level Design on a Planet

Discussion in 'Game Design' started by DJ-Coco, Aug 28, 2017.

  1. DJ-Coco

    DJ-Coco

    Joined:
    Apr 27, 2014
    Posts:
    47
    All right, I'm not quite sure this is the right subforum to post in, as it's more about how to design things from a technical standpoint, rather than how the game should be designed in the first place.

    So, I just got done making a game for work, and the next project is about to start. It will be a multiplayer space shooter where people fight aliens. So far, so good - now the thing I really don't know how to design is the battlefield itself. The fight takes place on a small planet.

    Now, if this planet somehow had its boundaries, like the Lunar Colony battle map from Mario Kart 8 for instance, it'd be quite easy to design - just design a regular map and use a shader to make everything look cool and bend on the horizon. But the thing is that the players can freely move and wrap around the planet. Thus, I don't think designing a flat world and making it bend with a shader is gonna work.

    My question is, what would be the best way to design worlds like this? I'd like it to be tile-based but I doubt squares map nicely to a sphere, so I guess pentagons and hexagons are the way to go? How would I go about placing large objects on the map that would neat to be deformed in order to adjust to the planet's terrain (like halls covering large chunks of the planet, etc.)? Without doing the bending via shaders, I guess it'd need to be modelled in the model itself, but that way I'm also limiting myself in case I ever change the planet's radius and the bending becomes more/less severe.

    It sounds like a tricky thing to design, so any suggestions and ideas are welcome.
     
  2. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    The best advice will be to prototype it with placeholder and make decision on that. Everything else will be conjuncture and hypothesis, which is fine too but won't make sense until implementation. Then there is experience sharing, but then there is many way to skin a cat and solution might differ depending on project and team.

    My experience is that you don't need to worry that much about it. Generally go with an inflated sphere, it's 6 flat faces, so it's like designing 6 map with contiguous edges, tiling with hex is find too, but you will have pentagon at some define point, can be worked out in the level design as special point. If deformation is making sleep really bad, for geosphere you have a formula to lessen it: http://catlikecoding.com/unity/tutorials/cube-sphere/

    Then the flat curved, as long as you don't go to space no man's sky like, is totally fine, but with the added hurdle to have extra care put in the wrapping (you need to stitch back the wrapped view, by duplicating the visual at the border to fake continuity when you teleport back the object at the opposite edges, but also duplicating physics so thing can collide on the edge too).