What would be some tips to keep in mind when making an environment for games.

Aside from the tips I would specially like to know about making grass for games which look realistic and where should I start in making my own city for games, I am an intermediate modeler.
I have tried to make a city but I end up with a stupid city and rows of same buildings lined up and the roads look like sheets of black paper:no:.
I would also like to know how to make mountains for game environments.
The game engine I would be using is Unity5

Many thanks.


  • Real cities are not build in one day. The majority of the big cities today have a history of about a century. Furthermore, they are limited by their surroundings.
  • with that in mind, start with the basics: why is the city there? Is it a port city? Is it a university city? Is it a trade-city? Las Vegas looks very differently from New York due to having a different reason for existing. Both look very different from Paris for similar reasons.
  • Model terrain first, then the reason why the city is there, so the port, or the city commercial center, etc.
  • Then start playing sim-city. Place the major roads, the other points of interest to the city. Decide which of these were build later and which earlier, and why. 50ties suburbs in America exist for a different reason(commuting, increase of wealth) than 50ties suburbs in Europe(rebuilding from the war), which you can see because the former looks a lot more luxurous than the later.
  • Don’t forget people live here, so having pavement, trashcans, other signs of human life and activity is very important.

Get these right first, even with just square blocks and even if it isn’t very pretty, it is at the least interesting, which is valuable to have done before making it pretty.

Thanks, so how should I model the mountains and grass?

OMGCG. Not sure about Unity, but in UE4, there is a built in system for terrain (mountains, fields, painting on grass, etc.) Basically you get these easily tile-able patches, that are well calculated for the game world, and you get some sculpt tools, to make mountains and hills or whatever, then you get paint tools that basically just define an area, then in your shader, the defined area decides wether it’s rock or snow or ice or dirt, etc… Then you can use a 2nd tools set, that paints about actual models along the surface of the terrain… some foliage painting for grass and little plants and trees, rocks etc…

The grass and trees are usually done with something like speed tree, or any tree generator really, and with a few samples you just paint them about with slight random values, about the map with a brush (bushes, trees, rocks, grass). The shader and textures/normals etc., combined with the in game sculpting of the base shape create perfectly convincing mountains and dirt paths, maybe with some light snow or frost layered on, etc…

Textures/normals etc. you make or buy. Trees/grass/bushes/rocks you make buy or generate and bring in (as individual pieces) and sprinkle around with a paint brush.

Grass and other foliage is usually made by rendering high poly modelled grass to a flat plane. Here’s a good video on how to do it in maya, it’s not too hard to apply in blender. When you have your bunch of planes as a single object, use the normal edit modifier set to radial.

You can make trees this way as well, but it’s quite tedious. Essentially you want to model the trunk and larger branches and manually place planes (made in the same way as the grass) along them for small branches.

For stuff like mountains the best way is probably to generate a heightmap with a program like world machine.

There is a system for terrain in unity too, just that you don’t have much control over the terrain and there is a height limit for mountains.
Thanks for the speedtree site.