Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Level design and Textures

  • 06-05-2014 11:33am
    #1
    Registered Users, Registered Users 2 Posts: 454 ✭✭


    Hi,


    Looking for some info on level design, specifically how to build levels roughly along the lines of XCOM Enemy Unknown. Most interested in how you might handle textures, whether you would use a large seamless texture as a base to build on, or something like a 2D array of smaller tiles?Thanks!


Comments

  • Registered Users, Registered Users 2 Posts: 1,481 ✭✭✭satchmo


    The way you've described it leads me to believe you haven't thought the problem through fully enough. Do you want to do a 2D version, a 2.5D isometric version, or a fully 3D version? How are the textures going to be used - is the level procedurally generated? How are they going to be placed? Is each tile going to be *just* part of a texture, or will it eventually contain things like props, or have properties like "explodes when hit" or "reduces movement speed"? Is each tile going to be unique, or will you have a palette of tiles that you use multiple times to build the level? When building a level, what happens when you decide to replace that road tile with a grass tile? How easy is that going to be to do?

    If you're starting on building new tech like this for a problem that you're not familiar with, always start with the simplest approach. After implementing that and working with it for a while, you'll eventually realise either... a) the simplest solution is good enough for your needs, and no more work needs to be done; b) the solution you have is suitable but needs to be extended with extra functionality; or c) you initially didn't understand the problem fully, but now have more information and make a better design for a solution that will work. The last being the most likely. In each case you've minimized the amount of extra work needed, and avoided spending a lot of time on a complex solution that turns out to not really do what you need.


  • Registered Users, Registered Users 2 Posts: 454 ✭✭Kilgore__Trout


    You're right, I haven't really thought it through yet. Chances are, I won't get to work on it for a few months, at least until Deadstone is wrapped up. Doesn't stop the questions from niggling at me though :) So I'm more or less looking for some basic direction for when the time to prototype comes around.

    You suggested in a previous post that you'd be inclined to go with 3d, rather than sprites/imposters. This is likely the approach I'd take. The Unity asset store has a lot of models that could be used, and making imposters out of these would increase the workload.

    Haven't implemented procedurally generated levels, so would be inclined to try for the learning experience. Would need quite a few levels, but they would be smaller and less detailed than XCom.

    Each tile would likely be a separate game object, with information like position, isWalkable, isOccupiedByUnit, isOnFire.

    I don't know enough to come to a conclusion on how tiles would function as far as textures go. Was considering the possibility of having no texture on the tile objects (just info like position, isOccupied) and using a terrain, instead of using a large amount of small tiles to define the level.


  • Registered Users, Registered Users 2 Posts: 3,831 ✭✭✭Torakx


    Have you taken a look at any procedural guides?
    Unity pro's occlusion culling for example would allow you to make lots of tiles as a landscape.
    There is the other rendering type too that renders just what objects are on the screen (forward rendering?), even when they are hidden behind other objects I think. I'm a bit rusty on that one.

    So you could break up a 2k square flat terrain or even mountain(with broken mesh) using a set of prefab terrain tiles.Maybe inside each terrain tile prefab are empty game objects, like a tile setup, with notations in code to each one to allow you to load objects onto the tile to different positions on it.
    So maybe a prefab tile with 32 square grid on it.
    The textures they would hold could be taken from a 2048x2048 atlas for terrain.Maybe 4 different seamless tiles on that map.

    The other option as you said was a terrain.
    I think a terrain would work ok, but I am pretty sure procedural will save you a lot of GPU resources.

    Although... if you were using pro for the camera rendering occlusion and the camera is nearly face down towards the terrain, so you can't see into the distance, it may do the job.

    Anyway as far as I know you can't cull a game object when it is on screen and a full terrain is one mesh as standard in Unity.
    You could use world builder to get a height map and build it in a 3d program to export the mesh in sections though.
    This would allow for procedural and nice detail. Also it would be a regular mesh, so you would have to watch the polygon count, by making use of normal maps.

    I think there would be a lot of work into procedural. It might be easier even to plan your game in a way that allows you to load scenes.
    So maybe you can scale down the procedural aspect by cheating and using story and environments to limit the size of areas.


    These may or may not be useful :)
    Taken from my list of tutorials I had my eye on, but with no time to do them.

    Unity hi def terrain tutorial
    http://www.bitsalive.com/how-to-create-awesome-terrains-in-unity/

    Unity Voxel tutorial
    http://forum.unity3d.com/threads/198651-Tutorial-Procedural-meshes-and-voxel-terrain-C


  • Registered Users, Registered Users 2 Posts: 454 ✭✭Kilgore__Trout


    Haven't looked at procedural guides yet, but have been saving links for future reference. Probably should gain more familiarity with the basics before dwelling too much on the problems. You've given me a few things to think over here, thanks.


Advertisement