RPGFaker is a library that can generate names for you to use in your fantasy games/fiction/whatever. To add RPGFaker to your project, simply run:
composer require andreasindal/rpgfaker
<?php
use RPGFaker\RPGFaker;
$faker = new RPGFaker();
echo $faker->name;
echo $faker->town;
// Rildess Fazhria
// Northfall
RPGFaker can generate character names for you. Listed below are options that can be passed to RPGFaker that let's you customize how your names are generated.
When instantating the RPGFaker object, you can supply an array of options. The defaults are:
$faker = new RPGFaker([
'race' => null,
'length' => 2,
'count' => 2,
'special' => 'random',
'duplicates' => [true, 5],
]);
The race
option gives you the ability to supply the name of a fantasy race, and the name generated will fit nicely to that race.
Examples on names tied to a race:
Elf: Dessiell Rianahr
Human: Cynwin Whiteley
Orc/Troll: Voshyzh Roshzak
The currently accepted races are elf
, human
, orc
and troll
(orc and troll share the same settings). If null
or any other race is supplied, a mix of all race’s settings will be used.
The length
option defines how many syllables* the names generated will have. For example, a length of 2 may generate a name such as "Cynwin", while a length of 3 may generate the name "Fazhtargmoh". The length option can also be an array of integers, and if it is, it must contain the same amount of elements as the number of the "count" option (see below). If the length supplied is an array, then each element specifies the number of syllables for each name. However, the length parameter is not taken into account when a special last name is generated.
Example:
<?php
use RPGFaker\RPGFaker;
$faker = new RPGFaker([
'length' => [1, 2, 3],
'count' => 3
]);
echo $faker->name;
// example output: Varr Iennahr Cynsadorf
* In some cases, what is considered as one syllable by RPGFaker may in fact be two syllables, e.g. "fara".
count
simply defines the amount of names that should be generated. Default is 2.
Example:
<?php
use RPGFaker\RPGFaker;
$faker = new RPGFaker([
'count' => 1
]);
echo $faker->name;
// example output: Wogien
$faker->setOptions([
'count' => 3
]);
echo $faker->name;
// example output: Steinril Annton Saeith
special
can be set to either the string 'random'
, true
or false
. Special defines wether or not a special last name will be used.
Example:
<?php
use RPGFaker\RPGFaker;
$faker = new RPGFaker([
'special' => true
]);
echo $faker->name;
// example output: Dirwog Greenhorn
$faker->setOptions([
'special' => false
]);
echo $faker->name;
// example output: Annlor Makceh
The first element in the duplicates option specifies whether or not duplicates should be allowed, and the second element specifies the number of retries that should be attempted if a duplicate occurs. The duplicate flags controls all parts of a name, that is, generating Rileith Doreith
after Rileith Starcleaver
will attempt a retry.
This setting can be particularly useful when generating large sets of names.
RPGFaker can also generate town names for you. The only option for the town name generator is the duplicates
option which is described here.
MIT.