startshape town background { hue 79.0 sat 0 b -1 }

rule town 10 { town [ hue 17 ] } rule town { houses { } town { y 1 x -.1 s .8 z -4} }

rule houses { 3* { x -2 hue 30 } spawn { sat .6 a .7 z 400} }

rule spawn { spawn [ hue -189 ] } rule spawn {

blockage { }
spawn { hue 200 z -20 x 1.5 y .5 s 0.4}

}

rule blockage { block { } alternatives { hue 3 } }

rule alternatives 1 { } rule alternatives 10 { top { sat 0.1 } } rule alternatives 1 { right { hue 30 } } rule alternatives { front { } } rule alternatives 1 { back { hue 10 sat -0.2 } } rule alternatives 2 { front { } back { } } rule alternatives { top { } back { } } rule alternatives 2 { top { } right { } }

rule front { blockage { s 1 x -0.21 y 0.1 z 3} } rule back { blockage { s 0.8 x 0.75 y 0.25 z -3} } rule top { blockage { y 0.9 } } rule top { } rule right { blockage { y -0.3 x 0.95 z 3} }

rule block .5 { } rule block {

lwall { y 0.009 s 0.9 1 skew 0 -16 z 2 b 0.7}
lwall { s 0.6 1 x 0.752 y -0.072 skew 0 7 b 0.6 z 1}
roof { b .8}

}

rule roof 3 { roof { a -.4 } } rule roof {

paint_ { s 0.3 0.94 skew 0 -30 r 72.5 y 0.57 x 0.31 }

}

rule lwall { sparcle { } windows { } }

rule sparcle { shadow { } sparcling { } }

rule windows { 4* {x 0.2 } windowh { x -0.35 y -0.2 } } rule windowh { 4* {y 0.2 } window { s 0.08 } } rule window 3 { SQUARE { b -1 } } rule window { SQUARE { b 1 } } rule window { paint_ { b 1 } } rule window { window [ sat .5 ] } rule window { window [ sat -.5 ] } rule window { window [ hue 30 ] } rule window { window [ hue -30 ] } rule window .01 { halo [ s 100 b 1 z -10] }

rule halo { CIRCLE [ a -.99] halo [ s .9 ] }

rule sparcling { sparcle { s 0.9 x 0.1 b .1} } rule sparcling { sparcle { s 0.9 x 0.1 hue 1} } rule sparcling { sparcle { s 0.9 y -0.1 b -.1} } rule sparcling { sparcle { s 0.9 y 0.1 a -.2 } } rule sparcling { sparcle { s 0.9 sat .1 a -.2} } rule sparcling { sparcle { s 0.9 sat -.3 } }

rule shadow { CIRCLE { b -1 a -0.9 s 1.3 } }

rule paint_ { SQUARE [ ] 3* { hue 3 b -.2 } fade [ a -.7] } rule paint_ { paint_ [ hue 10 ] } rule paint_ { paint_ [ hue -10 ] }

rule fade 2 { fade [ r 90 ] } rule fade {

20* { y .05 b -.06 hue -2 } SQUARE [y -.48 s 1 .05 ]

}