Help and tutorial

Quick start
Introduction
General concepts
Graphical User Interface
      Textures
      Streets
      Buildings
Performances
Rendering amazing shots

Streets

You must understand how the network of street is being generated before reading the rest.

Initially, we put between 1 and 8 streets on the map. Then, we make each street grow one after the other. They grow one step, which is a pixel long. When all streets have grown one step, an iteration has been completed, and the process is repeated until the maximum number of iterations has been reached, or when every street cannot grow anymore. A street will stop growing if it reaches its maximum length, or when it collides with another street or with the border of the image.

Even though it doesn't make a big difference yet, every street has what is called a "category". Categories are numbers representing how "big" and important streets are compared to one another. For example, a category 0 (zero) street is the biggest kind of street, so you can see it as a major highway, wide and built on stilts. On the other hand, a category 3 street is a minor, narrow, single lane road. Important roads are longer and have priority over smaller ones when performing collision detection. The category is represented in the alpha channel of the street map. The more important the street, the more opaque. See this picture below.
Suicidator City Generator: example of street map with street category shown

Everytime a street grows, there are different probabilities you can set to make the street start a curve if it was growing straight, and make the street create child streets. Also, if you're using an elevation map, streets won't grow if they reach a slope that is too steep, or if they reach the water.

Below is a complete description of all the street generation parameters.

Individual street parameters

Street min/max length: let you set the minimum and maximum length, in pixels, of any street in the network. High values = long streets, and low values = short streets.

Street same category proba: set the probability that, when a new street is born, it is the same size category as its parent. High values = child streets will be the same category as their parents, low values = child streets will be smaller than their parents.

Street creation proba: the probability that, at each growing step, a street will spawn another, like the branch of a tree. High values = dense network, low values = sparse network.

Street start angle range: set the angle of a new street, relative to its parent. Every new street grows perpendicular to its parent, plus a random angle in the range specified by this parameter. High values = higher range of possible starting angles for the streets, low values = streets will grow more perpendicular to their parents, producing a more regular pattern.

Street curve proba: the probability that the streets will have curved parts. High values = the streets will be curved most of the time, low values = the streets will be straight.

Street curve max angle: when a street grows curved, this parameter sets the angle of a growing step, in degrees. High values = curly streets, low values = straighter curves.

General street parameters

Starting streets: choose the total number of streets to create initially, between 1 and 8. They will grow in all directions, in order to cover most of the image surface.

Z scale: controls the scale of the terrain and the buildings along the Z axis. This can be useful to accentuate the slopes of the terrain, but make sure you compensate for the buildings by lowering their height factor.

Water level: sets the height of the water. It's in the range [0,1]: 0 = lowest = no water at all. 1 = highest = everything is covered by the water.

Max slope: when a street grows and climbs slopes, it won't climb the ones that are steeper than the limit you set here. The value is the difference in height on a [0,1] scale. 0 = the streets won't grow on any slope, 1 = the streets will grow on any slope, even the vertical ones.

Max iterations: how many times we let the streets grow a single step. High values = longer growing process, but also longer computation time (useful for large networks), low values = short growing process and fast computation.

Update elevation mesh: if turned on, the elevation mesh will be recreated when you create the city. Leaving this option on lengthen the city creation time. You should recreate the elevation mesh only when you've changed the Z scale, or the elevation map since the last update.

Save animation: turn on to save snapshots of each step of the growing simulation. The images will be saved with a .tga extension in your Blender output directory. Two warnings:
1) the actual image format of the snapshots depends on the image format of the street map. For example if you pack the street map or save it as a .png file, the image format will be png, not tga, even though the saved snapshots will have a .tga extension.
2) Also, if your street map is packed in the .blend file, all the snapshots will be similar.

The elevation map: for the elevation map to be taken into consideration, you MUST name it elevationMap inside Blender.