In this image I show the default settings for the altitude brush. The first setting is the radius, which indicates how many cells are going to be affected by the brush starting and including the center of it. So a size of four indicates that cell at the center of the brush, and all cells up to a distance of 3 will get affected.

The strength setting indicates how large of an effect the brush is going to have on the target cells (There’s an error in the above image since the actual range of this brush should go from -100% to 100%.) With the altitude brush, a change of 100% means that the altitude of the cell is going to be increased by a set constant (which I have yet to decide), at strength of -50% it means the cell altitude is going to be decreased by half of that same constant. The strength of the brush will decrease with the distance from the center of the brush, making the effects of the brush appear smooth and natural.

The last setting will indicate how much noise to be applied to the brush strength. The purpose of this is to make the results appear more irregular and natural instead of geometrically perfect and artificial. So for example, mountains created with the brush at high noise settings will look less as round mounds and more like jagged hills.

This is all theoretical at the moment. I have yet to start actually writing the effect code. But I wanted to have the working UI in place so that I can start testing the code as soon as it is ready. Also, designing the UI first helps me define how the tools are supposed to behave.

The last thing I did was to start working on the brush cell highlighter. This is basically a special pointer that will only appear when a brush tool is selected and it will highlight the area on the map that is going to be affected by the tool when the mouse hovers over it. My hope is to get it working by the start of the weekend and start with the terrain modification code to make the brushes actually have an effect on the map.