Lovebytes 2007 generative ident
Over at Universal Everything, Matt just published the furry fruits of our most recent combined efforts, an identity generator for this year's edition of the Lovebytes digital arts festival, suitably themed: Process.
The theme couldn't have been more fitting this time, since even though the project had to be turned over quite quickly, it yet again involved an interesting process and journey till the final execution (Not even mentioning Processing as tool used ;). Initially inspired by some of my old experiments with hairy aesthetics and driven by the idea of generating a large(ish) population of (at least 20,000) unique, cuddly, cute monsters, we started thinking how to best allow enough variations to emerge and ensure every generated monster "feels" like an individual...
We looked at some "classic" examples by Jared Tarbell using a templated approach and also some of the more interesting recent spin-off's dealing with online identity inspired by this and another of Jared's experiments...
Yet, being someone who prefers using code (over predefined assets) for as many parts of a project as possible, I started with my usual approach of isolating and defining a set of suitable design parameters and then went on choosing value ranges for each: head shape (radius, subdivisions, curvaceousness), eyes (count, shape, pupils, direction), colour ways (head vs. hair), hair properties (position, spread, density, curl, gravity, gradient etc.)... Not all of the parameters listed in the sketch were actually used in the end, because most of them are interdependent in some form and having too few or too many such parameters would possibly limit the number of possible outcomes or alternatively explode that "search space" beyond your control and you'll end up spending most of your time literally searching for an optimal "region of interest" in which your chosen parameters work nicely together and complement each other. That case is then pretty much the inversion of the Pareto principle if you spend 80% of your time getting 20% right...
In any way, I like thinking about design as this space of opportunities and this parametric approach allows me to separate the design process from the design model. It also allows me to test parameter combinations at their extreme values and so narrow down the "search space" of possible design outcomes created by these parameters and align it with my expectations. The approach is based on defining designs as choices and can be far more powerful and flexible when it comes to art direction requests and/or automation. In many cases it helped me avoiding to change any real code last minute and so possibly introduce new bugs.
Since we wanted to create true characters we needed to define and assign another important parameter to each monster: Names. Each name is generated using a few very basic rules, sometimes resulting in hilarious outcomes and unexpectedly suitable names...
Our basic rule of naming is consonant-vowel-consonant, plus a few more extra rules as filters applied on top, e.g.:
* Not every letter (but both vowels and consonants) can be doubled up
* There's usage limit of every letter per name
* Monsters do have gender. Female names end with "a" or "i", males are ignorant about that aspect...
* Letter "q" is always followed by "u"
* Names vary in length between 3 and 11 chars
* etc.
In hindsight, some of these rules definitely seem to be enforcing (unintentionally) a White-European naming convention... No offence, please! (Here am too wondering if spammers are using similar non-list based name generators for their products. Well, do you?!)
Last but not least, there're currently 20,000 postcards circulating around the globe and I'd absolutely appreciate if proud owners of these cards could contribute pictures of them to this specially created flickr group... Thank you kindly!
![]() | ![]() | ![]() |
The theme couldn't have been more fitting this time, since even though the project had to be turned over quite quickly, it yet again involved an interesting process and journey till the final execution (Not even mentioning Processing as tool used ;). Initially inspired by some of my old experiments with hairy aesthetics and driven by the idea of generating a large(ish) population of (at least 20,000) unique, cuddly, cute monsters, we started thinking how to best allow enough variations to emerge and ensure every generated monster "feels" like an individual...
We looked at some "classic" examples by Jared Tarbell using a templated approach and also some of the more interesting recent spin-off's dealing with online identity inspired by this and another of Jared's experiments...
![]() | ![]() | ![]() |
Yet, being someone who prefers using code (over predefined assets) for as many parts of a project as possible, I started with my usual approach of isolating and defining a set of suitable design parameters and then went on choosing value ranges for each: head shape (radius, subdivisions, curvaceousness), eyes (count, shape, pupils, direction), colour ways (head vs. hair), hair properties (position, spread, density, curl, gravity, gradient etc.)... Not all of the parameters listed in the sketch were actually used in the end, because most of them are interdependent in some form and having too few or too many such parameters would possibly limit the number of possible outcomes or alternatively explode that "search space" beyond your control and you'll end up spending most of your time literally searching for an optimal "region of interest" in which your chosen parameters work nicely together and complement each other. That case is then pretty much the inversion of the Pareto principle if you spend 80% of your time getting 20% right...
In any way, I like thinking about design as this space of opportunities and this parametric approach allows me to separate the design process from the design model. It also allows me to test parameter combinations at their extreme values and so narrow down the "search space" of possible design outcomes created by these parameters and align it with my expectations. The approach is based on defining designs as choices and can be far more powerful and flexible when it comes to art direction requests and/or automation. In many cases it helped me avoiding to change any real code last minute and so possibly introduce new bugs.
Since we wanted to create true characters we needed to define and assign another important parameter to each monster: Names. Each name is generated using a few very basic rules, sometimes resulting in hilarious outcomes and unexpectedly suitable names...
Our basic rule of naming is consonant-vowel-consonant, plus a few more extra rules as filters applied on top, e.g.:
* Not every letter (but both vowels and consonants) can be doubled up
* There's usage limit of every letter per name
* Monsters do have gender. Female names end with "a" or "i", males are ignorant about that aspect...
* Letter "q" is always followed by "u"
* Names vary in length between 3 and 11 chars
* etc.
In hindsight, some of these rules definitely seem to be enforcing (unintentionally) a White-European naming convention... No offence, please! (Here am too wondering if spammers are using similar non-list based name generators for their products. Well, do you?!)
Last but not least, there're currently 20,000 postcards circulating around the globe and I'd absolutely appreciate if proud owners of these cards could contribute pictures of them to this specially created flickr group... Thank you kindly!
Tags: lovebytes, universaleverything, toxi, processing.org, generative, process, branding, art, event, sheffield