How to do procedural placement?
I've been tinkering with the map generation and its content - more specifcally, the last days, how to do asteroid field with a nice 'spread'.
So what do you see here? Well from top to bottom, left to right:
Generated map with depth levels
Areas identified and assigned semi-random purpose according to their properties (asteroid field, gas clouds, turbulent streams, and more) Some location spotted for bases/'nests'.
Asteroid fields (the grey areas from last pic) all get a procedural height-field overlay, courtesy of LibNoise and its Unity port, which was in turn derived from the XNA port. (gotta love open source) The field is a 'RidgedMultifractal' preset.
Zoom in to one height-map (these are only for debugging purposes)
Filling in one field, with a very simple placement method - pick random points in the zones and if height > 0.5 (on a 0-1 scale), place a roid (initial size of roid dependent on height). Scale it down if it collides with an existing roid.
Took a little while to get all the transforms right in mapping map coordinates to unity coordinates to noise-field coordinates. Can tweak further, but pleased with the initial results so will let that go for a bit.