# rconfree $CFDG/colourful_lives.cfdg

startshape town // background { hue 166.6 sat 0.6 b -0.4 }

rule town 10 { town [ hue 17 ] } rule town {

# 8* { y 2 r .1 b .01} grid10 [ y -2 x -1 s 10 .8 r 90 
# hue 344.2 | sat 0.6 b .8 z -2000 ]
bgr [ y 2.4 s 10 ] 
10* { r 10 hue 20} houses { r -45 }  
maket [ ]

} rule maket { town [ x 13 s 1 1 ] } rule maket { town [ x -13 s 1 1 ] } rule maket { town [ y 13 s 1 1 ] } rule maket { town [ y -13 s 1 1 ] } rule maket .4 { }

# background tile rule bgr {

SQUARE [ s 1.05 b -1 ]

15* { } vnoise [ a -.95 hue 238.9 sat 0.9 b 0.6 z -10 ] }

rule houses {

3* { x -2 hue 30 } spawn { sat .2 a .7 }

}

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 } } rule back { blockage { s 0.8 x 0.75 y 0.25 z 3} } rule top { blockage { y 0.9 } } rule right { blockage { y -0.3 x 0.95 } }

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}

# SQUARE { s 0.3 0.94 skew 0 -30 r 72.5 y 0.57 x 0.31 b # 0.8}

shadow2 { y 1 s 2 a .05 sat 1}

}

rule top { }

rule lwall {

sparcle { }
windows { }

}

rule sparcle { // shadow { } // SQUARE { }

sparcling { }

}

rule windows {

4* {x 0.2 } windowh { x -0.35 y -0.2 }

} rule windowh {

4* {y 0.2 } window { s 0.1 }

} rule window 7 { SQUARE { b 1 } } rule window { SQUARE { b -1 } } rule window { window [ sat .5 ] } rule window 5 { window [ sat -.5 ] } //rule window { window [ hue 30 ] } rule window .01 { window [ hue -30 ] }

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 shadow2 { shadow2 [ x .2 ] } rule shadow2 { shadow2 [ x -.2 ] } rule shadow2 { shadow2 [ y .2 ] } rule shadow2 { shadow2 [ h 15 ] } rule shadow2 { shadow2 [ h 15 ] } rule shadow2 { vnoise [ b -.95 a -.9 ] }

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

rule drawnoise { SQUARE [ sat -.9 ] } rule drawnoise { SQUARE [ b .4 ] } rule drawnoise { SQUARE [ b .7 hue -30 sat -.5] }

rule vnoise {

drawnoise [ ]
vnoise [ x -.25 s .5 1]
vnoise [ x .25 s .5 1]

}

rule vnoise { hnoise [ ] } rule vnoise .4 { drawnoise [ ] } rule hnoise { vnoise [ r 90 ] } rule grid10 {

10* { x .1 } SQUARE [ x -.5 s .05 1]

}