Posted January 8, 2013 at 10:05 in Graphics, Illustrator, Scriptographer - 5 comments

This post marks the start of a new project, which came about heavily influenced by the image below, Mokafolio‘s project Weird Faces Study, made with PaperJS.Mokafolio's Weird Faces
Long before this I had been wanting to make something modular and maybe even something that could generate some sort of seed value so that re-creating any previous attempts would be easy. Not sure whether this project qualifies as proceduraly generated as there is a very small amount of randomness in it. Instead it will rely heavily on the relationships between different points – or key locations whose values are determined by the input of the user.
The plan is to make a script that, given these values, will draw different faces (I told you it was heavily influenced), although with more control of the final output. The number of parameters will – if all goes according to what I plan – be quite high, probably at least twenty which will generate a rather long seed value.
In order for the seed value to be reasonably manageable I will use the LZW-compression algorithm hopefully reducing the seed to at least 75% of the original size. Thankfully, I’ve found a javascript implementation that will help a lot as I’m not that well versed in how it really works.

So, it all boils down to these checkpoints:
- Figure out what paramaters will be needed.
- How do the parameters relate to each other.
- Draw faces using these parameters.
- Create the GUI.
- Make seed values work.

5 Responses to “MISSION STATEMENT”

  1. bootsmaat
    January 9th, 2013 at 12:48

    Hello Hakan, this sounds very interesting. I am actually working on a similar project which is why I was asking about the hand-drawn look in the Scriptographer forum (thanks for your reply over there!). Instead of focusing on the face only I am trying to generate an entire character though. I am very interested in your progress on the project and I’d be happy to share mine if you want – let me know if you want to swap code.

  2. Håkan @ Monovektor
    January 10th, 2013 at 21:23

    sharing ideas with each other would be nice indeed although I’m in such a early stage in my project that I have, for the moment, no code to swap. Even so, the more I think about this project the more I think it will probably eveolve into something entirely different as Mokafolio’s wonderful creation makes any imitations seem redundant. What I want to focus on is mainly some sort of modularity and maybe even combined with some sort of genetic algorithm. As Mokafolio’s script seem to be completely random, I want to have more control of all the different features. For instance, drawing an eye would need at least seven parameters, such as; width, height, slope, corner heights, rotational angle, Y-position in face, distance between each other… All these parameters would then be given a letter value ranging from A-Z and presented as a string so re-creation could be possible. The string would then be compressed using the LZW algorithm for better handling when re-creating the face.
    But as I said, sharing ideas and viewpoints would be nice.

    Have a nice day!

    PS. I just installed a comment notifier. By default it is set to subscribe replies. This option wasn’t available while you wrote your comment. If you don’t want any further notifications I’ll remove your e-mail from the list.

  3. bootsmaat
    January 17th, 2013 at 20:11

    Hi Hakan, I just sent you an email which illustrates some of my ideas based on your comment. It includes a Scriptographer script (.js) and .pdf file, I hope it doesn’t get lost in spam or virus filters.

  4. Håkan @ Monovektor
    January 18th, 2013 at 11:06

    yes I got it without any problems, your script was a fun little piece! I’ve read the PDF and found it very interesting and to tell you the truth I hadn’t even thought that much about the genetics of things, but the idea is very intriguing to say the least. I’m kind of busy right at the moment but I’ll try to reply to your mail later this afternoon.


  5. alison
    November 29th, 2017 at 8:04

    what did you end up doing with this project? I recently found an app in the itunes store called “Endlessness” (by Owen Roberts) whose characters remind me a lot of these littleheads. the game’s “scenery” is procedurally generated, which is how i found your blog