Painting on the terrain

I’m kind of surprised at how quickly that went.  Just as an experiment, I’ve implemented “paint on terrain”, to see how it’d work.

There’s no persistence at the moment — fly too far away from the terrain you’ve been editing and it’ll be lost, reverting to a flat grey grid.. but this shows roughly how it might work.  Right now I have four tools implemented;  “raise”, “lower”, “green”, and “brown”.  Which all do more or less what you would expect, but with a massive 40 meter wide brush.

Right now, “green” and “brown” directly set the color of the landscape, which turns out to be rather boring;  the auto-generated landscapes used a four-dimensional gradient to figure out terrain colors, which gave subtly expressive colors for grass on different types of surfaces.. here, green is just.. green.  I suspect that a better option would be to give the user a “grass” brush and a “dirt” brush, which used the same gradient coloring that’s used in the auto-terrain-generation, but still give the player direct “paint” control, if he really wants it.

Right now, the tools work like painting on a paint document;  you have to scrub the pointer back and forth, building up effect over an area.  It feels pretty sloppy, and I’m not really happy with that approach, but it was the fastest way to just get something up and running.

If I go this direction for real (and I’m highly tempted, now that I’ve started experimenting with it), then I’m going to need to find a nicer way to easily sculpt large bits of the terrain, without turning the game into a full-blown 3D modelling package.  :)

Initial thoughts:  “Terrain” tab for broad terrain types;  paint with “plain” or “forest” or “mountain”, with a huge 200+ meter brush that gives nice surface undulation, coloration, and etc.  “Shape” tab for adjusting the shape of the terrain with smaller brushes.  “Flatten”, “Raise”, “Lower”, etc.  “Clutter” tab for overriding the ground clutter which was placed by the “terrain” tab.  “Paint” tab for re-painting the terrain.  Something like that, I guess, is what it’d need.