sunflow + blender == :)

Got Sunflow working with Blender. Was very painless (a renderer with a GUI?, fantastic!), so I was able to render my little house with proper global illumination -

sunflow render

Even better Sunflow was written in Java, so I expect to have lots of fun playing with it's innards...


a lake district moment

On the way down Helvellyn we had some really fantastic light (and rain, hail, wind and snow, but that's another story)

a lake district moment


guaranteed-worst-case user generated 'content'

User-Generated-Conent is great, but lets face it, MS Office produces UGC, for some values of u, g & c. The term has come to mean user-consumable-content. Content that one peer creates that another peer consumes (so you can monetize it).

There are several hurdles to getting users to publish consumable content with your tool:
  1. They have to be able to afford it
  2. They have to have the skills to meet your software's easy to use
  3. They have to want to share the content they've made
  4. Others must want to consume the content they've made.
When a product is free or cheap (freekonomics etc), it is an invitation to skip 1) and places focus on the users skills. The closest anyone's come to defining Web 2.0 is mumbling about usability, and there are plenty of people in the world that you can pay to make your application easy to use, fixing 2. A lot of cudlips have egos and crave recognition and will mostly do 3 if it's easy, but the rest will share their content if others want to consume it (4).

That leaves us with the crunch - 4 - creating content that the world wants to consume. It's the step where traditional apps fall on their arses. MS Word content consumable? Give Photoshop to the man on the street and they'll draw a penis on their holiday snaps and forget about it.

This is the web's approach - a Million Monkeys at a Million Keyboards and let the stuff that isn't pictures of penises float to the top using social/viral techniques. This is good for the talented (and lucky), but for the rest of us we end up with drivel and don't want to publish. This is lost content and lost revenue.

This is where AI comes into it. A system where it is harder to create drivel than to create consumable content lands you squarely on the UGC bandwagon. Guaranteed worst case user generated content. This is currently the realm of games like Spore's creature creator, that use machine intelligence* to let people make and publish consumable content.

It is hard to create bad content with the creature creator, and it is a hit with 39,502,095 creatures posted to the web as I'm writing this. The only thing wrong with the system was that that EA has failed to monetize it's huge library of content...

*So one good way of introducing my subject (procedural geometry) is as a tool to create guaranteed worst case UGC. There are other reasons described elsewhere in this blog/my old dissertation.


thunderbird thinks antics' is a "scam"...

There was always more than a little rivalry between Antics and Shortfuze offices, so this made me giggle:

(you can get their Shortfuze's product for free)

Amazing thing is that even tho antics and storm are chasing each other's features (emotions, non flat terrain etc...), most of antics' new features are copied from moviestorm), while only a few of moviestorm's are copied from antics. Storm is the innovator!

Amazingly great work by Shortfuze when you consider the investment and timescales of the two companies...but I'll save that for another post when I've had it proof read by lawyers (I've seen how Antics' uses lawyers...)


phd. get set. go.

So with the mindset that the first year of a PhD should be divergent thinking (the second is just thinking, and the third is convergent thinking?) Paul has pointed me to the classic example of growth control systems - genes and biology.

I have never read much, but I think I'm going to try and change that. I'm not convinced it'll work, but in such a niche subject (there's no one in the department who has any answers for me, just guidance and new directions) I have no choice. Given that I've got a short attention span, or just like to digest ideas, I'm running a parallel reading project. The books on my desk atm are:

From How the Leopard Changed It's Spots we have the idea that there's no distict line between nature and nurture as an organism develops. There are features that are entirely gene driven and entirely environment driven, and a full spectrum of ideas between.

If we apply this to procedural modelling, we accept that we have a fairly naive algorithm that we throw into a situation. The algorithm adapts as it grows, responding to itself and and other imput algorithms.

We also see how the same geometric patterns can occur with very different causes in both chemisty setting a biological one. Here concentric circles are caused by a chemical reaction.

note the way the wavefront destroy themselves when they meet. The epicentres appear spontaneously, say from a local imbalance or spec of dust. We get to see the same thing produced by biological agents:

Is this really smart slime, (or is it just reliably dum?). The centres of these circles are used to grow spore-pods, like this

The neatest thing of all, is that these both these phenomena are just doing a Voronoi tesselation if you draw straight lines where the wave-fronts collide. Granted, you have to forgive the fact that the different epicentres start emmitting at different times, but it's an algorithm that makes sense in the context. In fact they do something that I've been meaning to implement for a long time, varying the speed of the pulses (wavelength of ripples/circles in the chemical example) we get a weighted** Voronoi. We could even change the speed at different times/directions to get some interesting curves.

With this connection to bacterial, cell driven, algorithms it looks like the Game of Life, and all it's variants are now on my list of things to research. Wikipedia has a page on the meta topic of Pattern Formation, and there appears to be a body of work in the area.


I never liked the game of life, too messy, too hard to predict. It has some features we want we want (self similarity, recognisable geometric patterns) and some we don't (very hard to anticipate growth patterns from input rules).

This leads on the obvious (sorry about jumping about so much, but...erm...get used to it!)- there are number of axis for procedural geometry tools
  • level of control at runtime (do we output different geometry in a game if the user is bored or their framerate drops)
  • level of user (coder/punter) input at "construction" (compile?) time
  • acceptable variation of output (is it okay if some parts of your procedural city looks like the Mandelbrot set, if there are some usable parts? or does every single doorknob have to look good enough for the opening shot of a Hollywood blockbuster?)
I have the horrible suspicion that I'll have to lock this project down onto these axis, and save some of the other questions for another time.

From On Growth and Form (the Glasgow library copy of which was filed under psychology, printed in 1942, and of which I'm terrified of falling apart in my hands) had lots of w$%^ing in the introduction that assumed a knowledge of latin, french, german and, I think, greek. But mainly draws the same conclusions that the mathematical/physical and biological worlds are inextrably linked. It looks like the rest of the book explains this, so explaining the form using algorithms analytically. This is a good starting point if we can figure out how it can be turned around and driven generatively.

**memo to self, backup plan for PhD in event of original-thought-failure
  • take a geometrical algorithm (straight skelton (as per MEng), Voronoi (as above), etc...)
  • prepend the word "weighted" to the algoithm's name: "wieghted game of life"
  • show that we a have a new primative for geometric procedural modelling)
  • repeat for 2.5 years
  • write up...


more cycling in glasgow

The Glasgow city council really doesn't seem to understand some of the principles behind cycling -


And the red lights take sooo..... long to change.

Hmm... there's been a bunch of bitchy blog posts in a row, here's hoping for the next one to be constructive.


university library

Perhaps I haven't chosen the right place to study graphics....

One library book on NURBS. one? okay my dad has more books than the department has CS books, but one?. and someone (else) has it


New! Green and Blacks!

New chocolate is out! GB's Dark & Almond. Still looking for this one on the shelves.

I also found a bar of GB's Dark Gingerbread chocolate in Debenhams the other day. It had a Christmas tree on it already (it almost looks like the old GB's ginger). I can't find it on their site or the net. I should have taken a photo (will try when I'm in town).

[edit] this guy found it (in house of fraser's) too, and got a photo...still not on the GB's site.

Still putting wheat into dark chocolate is an abomination unto the coca lords.


Student IMAP servers Glasgow

[edit nov 2009, they've moved to a new system, but given us instructions this time]

Because a search for these servers returns nothing, here are the addresses for the University of Glasgow Webmail IMAP servers for students: [edit: new uni webmail is here (old (pre 2010 is here)]

To access webmail in a mail client such as Outlook use the following detail.

Incoming server is IMAP.
The incoming server name is imap-server.student.gla.ac.uk
The outgoing server is smtp-server.student.gla.ac.uk

NOTE: In order to use the University smtp server you must install and run the VPN client on your home PC/laptop. You do not need to enable SPA, or the "SMTP server requires authentication" option.

Alternatively you can use your ISP's smtp server which can be found on your ISP's help page.