Sand city: An experiment
I tried a little something here, using a dissolving radial gradient to decide placement of buildings.
While fiddling around with making the roads, all of a sudden I had this. I thought it looked like tracks in the sand, so after just a bit of cleanup, I made it a city in the sand.
Some more experimentation with this technique. This time I used a dimpled gradient to place houses tighter the farther from the walls I get. I think with a little more work, I can get something at least somewhat useful.
Is this the right place for these experiments, btw? I'd like to write up an explanation of what I'm doing, and then get suggestions on improving the method, I suppose :)
Or someone should just tell me to stop it and move on if it's an entire waste of time.
Noooo! Don't stop!
This is looking really promising! I really like the sand-tracks. Is there some way you can rotate the buildings so they're not all pointing in the same direction? Ideally a lot of them should be rotated so that on side is parallel to the street they are nearest to.
I suppose I could make multiple dissolved point maps and rotate them after growing them.
The main problem with what you're asking is that I'm generating the streets after the houses, though I do suppose they might actually align along the sides of the houses reasonably well... ;)
Edit: Quick sample... I think they did align rather well... you?
I think that looks a lot better, but can you post a larger image?
This is really some neat stuff you're doing here Alfar.
Well, that's kinda the problem ravs, I've no idea how it scales ;)
My first attempt at scaling it up failed miserably, will have to try again tomorrow... bah.
I'm sure you'll be able to sort it out!
Well, not sure I really sorted it out, but I think with fewer dots, I can allow the individual houses to become bigger. Anyway, I've written instructions on how I did this...
I'll post that, and maybe some of our clever heads around here will help us improve on it :)
Make a new image, 1000x1000
Add a layer, transparent background, name it "Dissolve".
Set the Dissolve layer to dissolve mode, 10% opacity
Set the gradient tool to Normal mode, Gradient FG to transparent, Shape radial.
Set the foreground color to black, background color to white.
Make a gradient on the Dissolve layer from the center to a bit from the edge.
Add a layer below the Dissolve layer, transparent background, name it "Points"
Merge the Dissolve layer down.
The points layer now has a bunch of black dots. (Image 1)
Scale the image to 3000x3000.
Using the select by color tool, select all the black dots.
Grow the selection by 1 pixel. Twice.
Add a layer, transparent background, name it "Buildings".
Fill the selection with black on the Buildings layer.
The buildings layer now has a bunch of orthogonal buildings (Image 2)
(Insert stuff to distort the buildings, turn them at different angles and such)
Alpha to selection on the buildings layer.
Grow the selection 10 pixels.
Invert the selection
Using the select by color tool in subtract mode (hold ctrl), unselect all the black dots.
Add a new layer, BG color background, name it "Streets".
Set the gradient tool to Normal mode, Gradient FG to BG, Reverse (so it's white to black), Shape Shaped (dimpled).
Use the gradient tool on the Streets layer.
The streets layer now has a gradient between all houses. (Image 3)
Set the foreground color to 50% gray.
Add a layer, foreground color background, name it "Streets bump".
Bump map the streets bump layer with the streets layer. Azimut 135, elevation 45, depth 65, ambient 0 (Image 4)
Use the edge filter on the streets bump layer, Algorithm Laplace, amount 2,7.
Gaussian blur the streets bump layer, size 6,0
Normalize the streets bump layer (Colors|Auto|Normalize)
Add a layer mask to the streets bump layer, using a grayscale copy of the layer
Fill the streets bump layer with the Slate pattern
You now have some pretty nice streets between the houses (Image 5)