Portrait Generation

I’ve been out of the country visiting my folks so progress since the last post has been slow.  I’ve built a few more basic UI screens for the game, but I thought I would talk about something relatively done and dusted – portrait generation.  Characters are the central focus of Star Dynasties, and bringing them to life visually is an important design goal.  The game generates over a thousand characters for a game, so portraits also have to be generated dynamically.

Dynamic Portrait Generation
Dynamic Portrait Generation


Portraits are assembled from a library of sprites designed to stitch together seamlessly.  Each component of the portrait is drawn on a seperate layer in a pre-determined order to create a human face.  Some of these components are handled as multiple sprites.  For example, the hair component is split into two seperate sprites; one is drawn beneath the face, the other is drawn on top of the face.  Most components are also re-colored to further differentiate characters from each other; allowing for a dynamic range of eye colors, skin colors, dress colors, etc.

One complexity stems from the fact that through the game you will play through the lifetime of many characters.  Thus characters age, and their facial features must age appropriately.  Some features (such as eyes) change significantly as we age, so we need a version of each different type of eye sprite for each age group that we are representing in the game.  Some other features age more slowly, so we can get away with less granular modifications.  In addition, hair color changes as we age, so hair color is lightened for older characters.

There are other less immediately noticeable aspects of portrait generation that I hope players will appreciate as they become familiar with the game.

  • Facial feature sprites for male / female faces are drawn in matched pairs.  This allows me to have children that inherit features from both mother and father, and leads to entire families that share facial similarities.
  • Dress color is picked so that it advertises the affiliation of the character to their house.  Characters of a house whose flag is blue will be wearing blue and yellow, blue and green, different shades of blue, etc.  Seeing all the characters of a house in one list will show a clear chromatic theme.
Characters in house with violet flag
Characters in house with violet flag


This is a good time to give a shout out to the awesome artist for Star Dynasties, Ven Locklear.  Check out his portfolio.

Want to Comment?

Please share your feedback on Portrait Generation and join in other discussions on the Star Dynasties reddit

Please follow and like: