our second session has come and gone, somewhat successfully i think – things always go better when your audience is armed. we covered implicit surfaces, renderman/pixie, displacement shaders, and more of my wacky cellular simulation.

the turnout was pretty good too. if you’d like to attend the next one, or just receive updates, drop me a line at qarl@qarl.com.

source code and data files for this session here.

once upon a time

once upon a time, in a galaxy far far away, i taught a class called “computational art”. today, thanks to the miracle of the interwebs, i am able to teach once again. (be warned, the words “class” and “teach” here are used in the loosest possible sense.)

here is my first attempt – an exploration of experimentation in cellular simulation. enjoy.

download the source code here.

UPDATE: to attend future classes, register an account (and email) for this wordpress blog.

caves reloaded

care and feeding of cave systems

after much wailing and gnashing of teeth – i am the proud owner of a brand new island sim. thank you Fritz Linden.

so now i’m breeding caves.

yeah. breeding caves. welcome to our brave new world.

anyway, if you want your caves to turn out any good – you need to pick a fitness function: you need to assign points for what makes a good cave. for my caves, i’m using a list of rules.

  • rule 1: caves must reside within a sphere. as described in my earlier post – the caves are to float as a giant sphere in the sky. this rule rewards caves that have a large spherical shape.
  • rule 2: caves should consist of roughly 6000 stones. since the caves are being rendered in second life – we need to worry about prim count. this rule rewards caves that have around 6000 prims.
  • rule 3: caves should have as many tunnels as possible. a tunnel is defined as a space which has exactly two exits. this rule discourages large open areas favoring wormy-like passages.
  • rule 4: caves should be connected. it’s no fun if you can’t go there.
  • rule 5: cave floors should be flat. rough ceilings and walls are nice – but i want to walk on the floors and put furniture in the rooms.
  • rule 6: cave rooms should be roundish. for that hobbit-hole feel.
  • rule 7: the shortest path from outside to center is as long as possible. got to make it hard.

so, after a day of coding – i’ve got the GA set-up and rules 1-3 implemented. now i’m running tests on adaptive techniques – in the chart above you can see how an evolving population will toggle between various mutation operators – picking and choosing what it needs at the moment.

this is fun.

the blimps are alive

those who follow the story of the blimps know that the grid is a very dangerous place.

some parcels are full. some parcels have scripts turned off. some parcels have owners who viciously murder the blimps.

each of these perils (and others) kill the blimps in their tracks. to compensate, the blimps reproduce themselves when their numbers get low.

but it remains a problem. i’ve spent the last three months (off and on) hand tweaking the blimps to try to avoid these dangers.

well i just realized i’ve been being silly. there is a much better way.

natural selection. evolution. artificial life.

as of today, each blimp has its own genetic material. each gene codes some behavior of the blimp. one gene specifies the color of the balloons. another gene (set) specifies position in the flock. yet more code for sinusoidal variations in position (a Fourier series, as Seifert points out.)

blimps who (by chance) wander into dangerous areas will die, and their genes will disappear from the gene pool. blimps who (by chance) avoid danger will reproduce more often, and their genes will dominate the gene pool.

the blimps will “learn” to avoid danger. they evolve. by some definitions, they are alive.

you have no idea how happy this makes me.

there is of course much more work to do. sexual reproduction is important. many more genes for coding behavoir. perhaps genes to form a brain (neural net? symbolic engine?) that uses sensors and listens to affect its movement. genetic algorithm tricks i’ve been dying to try. and more and more.

for the curious – check out the course notes from a genetic algorithms class i once taught.

as always, you may catch a ride on the blimps by stopping at the blimpco blimp bay.

Proudly powered by WordPress
Theme: Esquire by Matthew Buchanan.