A free collection of name parts to generate fantasy names and a Java implementation to do so.
This is a small collection of salutations/titles, first names, last names and epithets with a focus on the fantasy genre. It also comes with a Java implementation to generate random names like
- Wizard Vlad the Dark
- Sorceress Nezquia the Shrewed
- Angel Mai the Mild
- Necromancer Jonhol the Sadist
- Sibyl Uma the Pure
- Pyromancer Ugur the Old
- Scholar Nathan the Pure
- Magician Lewonis the Filthy
Some information about how to use these files. If you have any questions, do not hesitate to ask us!
The collection contains the following name parts which can be combined to over 4 million random names:
- 21 male salutations/titles, e.g.
- 8 female salutations/titles, e.g.
- 78 male sounding first names of different origins (Latin, Barbaric,
Asian, Germanic, etc.), e.g.
- 78 female sounding first names of different origins, e.g.
- 32 last names, e.g.
- 58 epithets/bynames, e.g.
- the Almighty
- the Mild
- the Wise
The directory java contains an implementation of a name formatter (similar to printf) and a random name generator.
// Initialize SimpleRandomNameGenerator gen = new SimpleRandomNameGenerator(new FantasyNameDatabase()); // Generate a random name Name name = gen.generateName(); // Different String versions of the name String formatedName = name.format("%s %l, %e"); String informalName = name.getInformal(); // Result System.out.println("I'm " + formatedName + ", but my friends just call me " + informalName + "."); //I'm Sorceress Xathraloni the Barbarous, but my friends just call me Mai.
The Name.format() method supports the following special characters that are replaced by the corresponding name parts:
- %s salutations/titles/jobs
- %f first names
- %l last names
- %e epithets
- %% a %
All other characters are left in the string, similar to the java.util.Formatter class.
We also provide the list of names as text files for you to use them in your own implementation. Just take a look into the txt folder.
When using this projects or parts of it, we ask you to attribute our work in the following form on your website, in your credits, etc.:
Some improvements that are still in the back of our mind, but which we have not started implementing. If you are interested in doing so, pull requests are of course welcome: