A Retro Pixelized Game Portrait Editor
This was one of my first projects, a small portrait editor written in Java. The aim was to have portraits that resemble the ones used in the classical role playing game Albion, which I really liked (and still do). Here you can see some results created with the editor:
Actually, the creation of all the images, which are be used to assemble the portraits, took much more time than the programming of the editor. For the role playing game I had in mind, I also wanted to have some unique characters, which should not have been reproducable by the editor, so I started off by creating those unique portraits by hand, pixel for pixel, using Microsoft Paint. (I could have used any more sophisticated program, of course, but given the very basic features I needed, Paint was as good as others ;-) This was a pretty time-consuming task. I first needed to figure out how the classical look could be achieved - my final approach was to start with some plain regions that represent different parts of the portrait, like the face, the neck, and the clothing of the character. Those regions first need to be properly shaped. During the next steps, the portrait is then successively refined, by adding details and first shading. The shading is then successively refined. In a final step, a dark border of one pixel is drawn around the silhouette of the portrait, which helps to distinguish it from the background if it gets added to a game UI like the one of Albion. The following picture illustrates the manual creation of the five basic portraits. The three portraits in the bottom are original portraits from Albion, just to illustrate how the results should look like. The Albion portraits are a bit larger though, and the heads are generally consuming slightly more space inside the image.
As soon as the first portraits were finished, there was enough material to extract single parts, such as hair, skin or eyes, which could then be modified individually. This was really fun, because many of the parts could also be modified easily by adjusting just a few pixels. In the case of the eyes, for instance, there were only one or two pixels for each eye to define the color of the eyes. When adding jewelry items, the color of one pixel decided about whether a gem was a ruby or a sapphire. Actually, this is what I really like about this kind of graphics. They are so simple, but so colorful and expressive, and I believe they somehow stimulate your fantasy. I would be very interested to know how people really created those graphics for Albion. In fact, I think it were just two people or so at that time. Did they draw and scan stuff? But then, they probably used very strong, well covering colors, and they must have sampled their images down, before cleaning that result somehow, in order to achieve the final look. On the other hand, there are many small items that consist of only a few pixels, so they probably created many of them directly digitally by hand. If you have some ideas, or if you even know how such graphics were created at that time, feel free to write me an email ;-)
The portrait editor application itself is pretty simple, and hopefully self-explanatory.
However, the UI is in german, so if you're not a native speaker, here are the most important facts:
- The large button labeled Portrait in the upper left allows you to store (Speichern) or to load (Laden) your portrait. The editor has its own format for loading or saving the structure of a portrait, which are pxf files. There are already some demo files you can load. Additionally, you can save your portrait as a gif image file.
- There are buttons to remove all hair from your character (the button with the bald head), and to remove all jewelry (the one with the crossed necklace). There is also a button to mirror your portrait.
- The editor has no explicit undo function. However, it allows you to work on a copy of the current portrait. The copy can be edited and compared side-by-side to the state before the last changes were applied. To reset all changes on the working copy of your portrait, use the rightmost button in the top bar. To confirm the changes you applied to your working copy, press the golden button with the check mark.
Unfortunately, I did not find time to finish all the images that are used to assemble the portraits. Especially, the characters with dark skin are not really finished, so there is only a limited amount of choices for corresponding hairstyles, for instance. I also wanted to include the possibility to create female characters, but I didn't find the time to do so.
If you want to try out the editor, you can download it here. Just extract the zip archive to some directory of your choice. In order to be able to run this program, a Java runtime environment of at least version 1.7.0_67 should be installed on your machine (you can check your version by typing java -version on the command line, in case you have Java installed).
Edit 2023: Most modern PCsmight need to just install it I suppose, and then it will be a much later version... which should be backwards compatible, so it should still work as expected by just installing Java and double-clicking on the jar file of the extracted PixelFace zip. With that said, because of the extra install step, nowadays I would probably simply make it a Web app. However, with female templates left as a big open TODO, the tool is anyway unusable for any serious project. Oh well, at least it was fun to code, learn about pixel art, and toy around with this, and maybe I or someone else will continue the effort in the future - who knows! :)
In case you want to use the portraits generated, you are welcome to do so under CC BY-NC-ND 4.0 License.