2015-09-21 Looking for an Artist to help with my RPG Face Generator

I’d like to generate random faces, quickly. I’d draw them myself if I had any talent and a wider range of faces I knew how to draw. Sadly, I’m not that good. So here’s the idea: draw a bunch of eyes, noses, mouths, hairs (or hats?), ears, whatever it takes. Assemble at random. If we want to get fancy, we can tag those elements (male, female, elf, dwarf, halfling) to get better faces but perhaps we can do without.

In order for this to look good, I fear that we’d want a single artist to do all of these elements. That’s how we’d get a cohesive style, I think. I’d propose to work using a regular grid, like this:


But then again, if you’re going to volunteer, then you set the rules. I’ll do the cleaning up, extracting, coding, hosting, whatever it takes to makes this real. I’d want to use an open license so that other people can build on it in case we drop off the Internet one day.

I have a prototype up and running:

Random Face

The elements I already have are also online, of course. Source code is also available. All I’m missing is the artwork.

Once we have the artwork, I’ll add more features to the web app. Most importantly, we’d want to redirect random faces to an URL that encodes the elements used such that each face gets its unique URL. Then we can use them elsewhere on the Internet. We can also generate a gallery of many faces. It’ll be easy.

If we really want to, we could also move the entire library of elements to SVG and have SVG output. This would allow us to print the faces without pixelating it all. We’ll work it out.

We’ll work it all out. Dimensions, number of colors, number of elements, and so on. All you need to do is get in touch.

Here’s what it would look like if we integrated it into the Character Sheet Generator.


Show Google +1


The discussion that prompted it all is on Google+. My own efforts have to be seen in the context of Character Generator with Random Pictures, the MOAM Avatar Generator, going back to my efforts using Flashface in 2012. The app is available online if you have Flash enabled or as an app for both Android and iOS.

– Alex Schroeder 2015-09-21 15:21 UTC

Ok, hm, perl. As I understood the code, the parts are put on top of another after specifying white as transparent, as you said. I think you could get a lot more out of it if you would randomize the height of the parts just a bit. As I don’t know perl… maybe it would be possible to put the parts into a special container (Huh, Javaism…) or just a specified part of the image and just move this up and down (and sideways for half-orcs? ;) ) or even scale them up and down. This would make a lot more use out of fewer graphics. Just my 2 Cents.

Rorschachhamster 2015-09-21 19:15 UTC

Good points.

For the moment I added a new empty.pdf which people can print and draw upon using blue ink. Be sure not to scale the file when printing! Examples by myself and Claudia:

https://alexschroeder.ch/pics/21419974480_f9727a12b9_n.jpg https://alexschroeder.ch/pics/21419975330_47d424d034_n.jpg

How to get the image: scan it, crop it, resize it to 2250×3000. Use ImageMagick to reduce the number of colors and get rid of the guide lines:

convert -blur 0x1 +dither -remap tintenblau.png ~/Desktop/Scan0001.JPG source1.png

tintenblau.png is a tiny image with a pixel for each color allowed. All of them are shades of blue. This makes it really easy to get rid of shadows and smudges.

Then, use cutter.pl to cut it into smaller images. We draw in rows, so cutter takes labels per row:

~/src/face $ ./cutter.pl ~/Desktop/source1.png eyes nose mouth hair beard
~/src/face $ ./cutter.pl ~/Desktop/source2.png eyes nose mouth hair ears

The new files are created in the “elements” subdirectory and numbered automatically.

The code is still missing some sort of clean-up, but it’s a start.

Valuable lessons from looking at our code:

  1. we need to attach gender information (obvious male and female attributes don’t mix well) – I’m a bit sad that this will reinforce gender polarity, though
  2. some elements such as beards must be optional or rare

– Alex Schroeder 2015-09-21 21:31 UTC

New release allows filtering such that you can have various types for each element – the obvious elements for me is beards vs chins for men and women, same thing for fancy hair vs bald heads. Also, pointy ears for elves.

– AlexSchroeder 2015-09-22 21:16 UTC

Added hairdos for women, added eyes, added beards for men… Now I’m noticing that there is very little leeway for mouth positioning. I should have added more reference lines to my empty.svg file.

https://alexschroeder.ch/pics/21026752613_7f4d8ae139_n.jpg https://alexschroeder.ch/pics/21485434568_65614c2387_n.jpg https://alexschroeder.ch/pics/21052263263_11324cf8dd_n.jpg

The result is available from the elements folder.

– Alex Schroeder 2015-09-24 08:44 UTC

Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.