http://heroes.ag.ru/h3/rmg/smedstad.zip
Из серьёзных ошибок заметил только одну: там написано, что distance = sqrt(area/density) (это про минимальное расстояние между группами объектов в зоне). На самом деле это расстояние равно sqrt(800/density) для любых зон суши и sqrt(1600/density) для водных зон.