This collection of python scripts create German names from a hand curated SQlite Database. Hand drawn pixel art faces can be recombined into new German faces. Face assets and the database are less than 100 KB in size. The fastes way to create German NPCs for your Roleplay sessions or fake names for your fake ID (psst).
Names
The SQlite DB contains a list of first names that I thought would be suitable for Germans.
Surnames are composed from a word stem and endings. The stems have a property that defines if a suffix can be added, has to be added or should not be added.
In the name script probabilites for double first names, double surnames and suffixes can be changed.
The DB contains about 490 first names, 450 surnames and about 100 suffixes. Overall, a total of about 10.5 million name combination can be generated.
There are some classic names like
- Irmgard
- Toaster
- Konferenz
and surnames like
- Kautz
- Pfanne
- Leistung
The script might be use to generate single names for creating PnP NPCs or so. But also when creating multiple names, it is reasonably fast. I was able to write 1 million German names in a 16 MB text file in about 16 minutes.
Faces
I sketched six faces in Aseperite and defined the pixel positions, where noses, eyes, ears and haircuts are attached. Same attachment points are defined in the features itself. For each face the features are random generated and then attached to the base face, using the paste function of the pillow python package.
The original six faces look just like your typical Germans:
The faces and body parts are stored as tiny gif files. The base faces have a size of 48 × 64 pixels and consume only a few hunded bytes. After generation the faces are scales up to 192 × 256 pixels and stored as gifs again.
with 6 base pictures and 6 pody parts that can be swapped, a total of about 46.000 faces can be generated. Granted they all look similar, since there are only 6 base faces.
Making a whole German
A third script runs both scrips after one another and creates an image with a german name as file name.
here are six generated Germans. Let me introduce you to:
Ehre Lagerist
Hoffnung Laus Leitwerk
Rappen Pokal
Ullf Standard Fladen
Uschi Garage and
Zwülf Diesel
I wanna make my own Germans!
Sure thing. Get the project files here.