Process

So while sitting down to get the CD+DVD artwork done the other day I thought to myself that it might be semi-interesting to detail for you guys just how we generate the logos around here. The generative art part of NCYC09 is something I promised to explain a long way back, so here goes and let’s try and do that.

Nodebox - www.nodebox.net
This is a free application for the mac made by a lovely group of university students that uses Python programming (yuk!) to generate artwork. Basically, what happens is we tell the program “draw a circle that is 100pixels from the top and 100pixels from the left” - and it does. From there, you change things a little “draw 10 circles that are randomly somewhere between 0 and 100 pixels from the top and randomly somewhere between 0 and 100 pixels from the left” - and it does just that looping through whatever we ask it to do randomly (or semi randomly as you’ll find out later on) drawing what we ask.

Clearly it all gets a little more complex than that to end up with something useful, but that’s the basics.

The Converge design didn’t start off being exactly what it is today, and that’s another post that I’ll write up soon, but for now, let’s say the generative design started as a bunch of lines randomly coming and going.

We worked on this for a while, throwing in some colour, and putting in a few ’static’ lines that were placed permanently in the right locations, but it all still seemed a little pre-planned.

So, there’s a nifty little plugin for Nodebox called ‘Pixie’ which is what we use for the scribbles part of the NCYC design. Pixie takes a series of structured information (man, do I sound like some sort of science teacher or what…ugh) that would normally be zapped out into a ‘tree’ diagram and then makes it look like a 4 year old child scribbled away at a page for a while. It also has a crazy thing called a ‘distraction factor’ which decides how much it spells things wrong and scribbles out and corrects, and how much it puts random squares and scribbles all over the place. Basically it lets us define how hard it is to read the end result! This is how we end up with cool things like “Good Newsy” and “Discipleshop” or “Jebuzzer” written on things, because the computer spelt stuff wrong and then tried to fix it. Fan-tastic eh?

So how do we end up with the craziness that is the Converge logo then? Well… let me try and walk through this and then I’ll post up the code and you can play along at home if you want.

First, we make the background black - that’s important :) And the foreground colour (the colour of our scratchy bits) to white.

size(800,600)
colormode(CMYK)
fill(0,0,0,1)
rect(0,0,WIDTH,HEIGHT)

pixie.color(0,0,0,0)

Now we slap the Converge, NCYC part of the logo down.

image("ConvergeNCYC09.ai", (WIDTH/2-350), HEIGHT/2-50,450)

Next, we setup all the data that is going to be scribble - all this from the brain of Adrian Greenwood who fleshed out a bunch of words from the Theme & Theology crazy-large document. This, in fact, is probably the first time most people have been able to READ this info!

root = "NCYC09"
n1 = ("Mark", ("the call","journey","cost","following","proclamation","teaching","greatness","confession","transfiguration","sending out","discipleship","political fate","implications","non-violence","servant hood"))
n2 = ("Mark", ("1:1-13","1:14-20","2:13-17","10:32-45","12:28-34","4:21-32","8","4:35-41","6:1-13"))
n3 = ("Radical Discipleship", ("perspective","biblical","interpretation","personal","social","recognition","salvation","control","political",
"institutional","cultural","systemic","personal","earthly","spiritual","systems"))
n4 = ("Identity", ("understand","human","divine","picture","liberation","humanness","self","focus","justice","peace","greatness",
"fame","popularity","valuing culture","power","body","image","stolen generation","asylum seekers","value of life","war"))
n5 = ("Converge", ("beloved","hear","places","hope","peace","justice","welcoming","recognising","journeyed","bearer","loved"))
n6 = ("Merge", ("follow","proclaimed","world","building","community","belonging","theology","engage","action"))
n7 = ("Urge", ("true","love","greatness","life","radically","contrast","transformation","teaching","preparation","service"))
n8 = ("Submerge", ("seeds","change","causes","cultures","issues","participation","action","service","protest","prayer","publicly",
"declaring","rally"))
n9 = ("Emerge", ("hope","questions","struggles","following","reflecting","recovering","leading","commitment","covenanting"))
n10 = ("Verge", ("down","returning","presence","support","movement","journey","communities","help","continue","journey","discipleship"))
n11 = ("Diverge", ("Converge", "NCYC09"))
nodes = (n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11)

Set the ‘distraction factor’ to a make it a little scratchy, and then we draw a tree of info. Then another and another - sometimes 7!
pixie.distraction(0.6)
pixie.spacing(random(.8,1))
pixie.tree(root, nodes, WIDTH/2, HEIGHT/2, WIDTH, HEIGHT, pt=35)

Then we set that foreground colour across to black now, and draw some more scribbles across the top of the logo - we only realised that we could do this late on in the design process and it makes each of the logos even more random as sometimes there’s nearly a whole letter that is scribbled out - I love when that happens!

pixie.keywords()
pixie.color(0,0,0,1)
pixie.distraction(1)
pixie.tree(root, nodes, 150, HEIGHT/2, WIDTH, HEIGHT, pt=45)

Now that we’ve scribbled over everything we can we put the Uniting Church logo in it’s snug little spot, as it has to be looked after and not hurt by our evil evil scribbles.

image("UCA.ai", (WIDTH/2-16), HEIGHT/2+115,125)

And then bam, you’re done - we can export stuff from Nodebox as a PDF, so we do that, it asks how many generations we want to do - generally we’ll do about 50 variations and then look at them all and pick the nicest one for the occasion.

So there you have it and here you have it, the files below are all zipped up and you can have a play at home if you download your own copy of Nodebox (only on a mac, sorry everyone else - there is another peice of software called Processing that runs on the PC if you’re interested, but this code won’t work with it). The easiest way to have a play is download Nodebox, unzip all these files supplied here, open the .PY file and then press Command-R which ‘runs’ the code to show you one generation. Repeat and you’ll get another one. Try changing around words, colours etc.etc.

Download the Converge logo stuff - ZIP 2MB

So that’s it for now - more on the different options we had for logos next time I get around to writing something vast for the Design Blog and in the meantime, if you’re after some CRAZY generative art, checkout joshuadavis.com, amazing amazing work.

Leave a Reply