Do you remember Elite? It's names are generated by a super short function. I wrote about it back in 2009.
Now, what if you wanted to get such names with dice rolling?
Roll d66 3× and if you get a +2 result, roll two more times. Remove all the dots in the end.
+---+----+----+----+----+----+----+ | | 1 | 2 | 3 | 4 | 5 | 6 | +---+----+----+----+----+----+----+ | 1 | .. | le | xe | ge | za | ce | | 2 | bi | so | us | es | ar | ma | | 3 | in | di | re | a. | er | at | | 4 | en | be | ra | la | ve | ti | | 5 | ed | or | qu | an | te | is | | 6 | ri | on | +2 | +2 | +2 | +2 | +---+----+----+----+----+----+----+
Let's try it!
I think it works.
And it's easy to modify, too! Add more ".." results to get shorter names. Add more +2 results to get longer names. Change the syllables. You could have a different d66 for every culture…
Here's some Perl code to print as many names as you want:
#!/usr/bin/env perl use Modern::Perl; use List::Util qw(sum); my $num = shift || 12; my @stack = qw(23114 584 46931); my $digraphs = "..lexegezacebisousesarmaindirea.eratenberalavetiedorquanteisrion"; sub name { my $longname = $stack[0] & 0x40; my $name; for my $n (1 .. 4) { my $d = (($stack[2] >> 8) & 0x1f) << 1; push(@stack, sum(@stack) % 0x10000); shift(@stack); $name .= substr($digraphs, $d, 2) if $n <= 3 or $longname; } $name =~ s/\.//g; return $name; } say ucfirst name() for (1 .. $num);
Do you remember Lave? I still do!
Run it:
$ elite-names 8 Tibedied Qube Leleer Biarge Xequerin Tiraor Rabedira Lave
Compare it with the Classic Elite planet descriptions:
Classic Elite planet descriptions
0. **Tibedied** This planet is most notable for Tibediedian Arnu brandy but ravaged by unpredictable solar activity.
1. **Qube** Qube is reasonably well known for its great dense forests but scourged by deadly civil war.
2. **Leleer** The world Leleer is very noted for its pink Leleerian Itonthbi tulip plantations but plagued by deadly earthquakes.
3. **Biarge** This world is very fabled for the Biargian edible poet.
4. **Xequerin** The world Xequerin is fabled for its weird volcanoes and the Xequerinian mountain lobstoid.
5. **Tiraor** Tiraor is a revolting little planet.
6. **Rabedira** The planet Rabedira is well known for its inhabitants' ancient loathing of sit coms but ravaged by dreadful civil war.
7. **Lave** Lave is most famous for its vast rain forests and the Lavian tree grub.
…
Same list!
#RPG #Generator #Names