Awesome Go

fantasyname

CategoryGame Development
SubcategoryGame Development
Stars0

Fantasy names generator

About fantasyname

PkgGoDev License Go Version Tag Mentioned in Awesome Go

CI Go Report Card Maintainability Code Coverage Issues

fantasyname

This is a golang implementation of name generator described at RinkWorks, its based on https://github.com/skeeto/fantasyname code.

example

How it looks like:

import (
    "fmt"
    "log"
    "time"
    "math/rand"

    fn "github.com/s0rg/fantasyname"
)

func main() {
    rand.Seed(time.Now().UnixNano())

    gen, err := fn.Compile("sV'i", fn.Collapse(true), fn.RandFn(rand.Intn))
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(gen.String()) // will print something like: entheu'loaf
}

Here is a full example.

You can run it with go run _example/main.go to see results.

ready-to-use cli app

Created by TLINDEN: gfn

pattern syntax

The letters s, v, V, c, B, C, i, m, M, D, and d represent different types of random replacements:

  • s - generic syllable
  • v - vowel
  • V - vowel or vowel combination
  • c - consonant
  • B - consonant or consonant combination suitable for beginning a word
  • C - consonant or consonant combination suitable anywhere in a word
  • i - insult
  • m - mushy name
  • M - mushy name ending
  • D - consonant suited for a stupid person's name
  • d - syllable suited for a stupid person's name (begins with a vowel)

Everything else is emitted literally.

All characters between parenthesis () are emitted literally. For example, the pattern s(dim), emits a random generic syllable followed by dim.

Characters between angle brackets <> emit patterns from the table above. Imagine the entire pattern is wrapped in one of these.

In both types of groupings, a vertical bar | denotes a random choice. Empty groups are allowed. For example, (foo|bar) emits either foo or bar. The pattern <c|v|> emits a constant, vowel, or nothing at all.

An exclamation point ! means to capitalize the component that follows it. For example, !(foo) will emit Foo and v!s will emit a lowercase vowel followed by a capitalized syllable, like eRod.

Frequently Asked Questions

What is fantasyname?

fantasyname is a Game Development library for the Go programming language. Fantasy names generator

How do I install fantasyname?

Install fantasyname with the Go module system using `go get s0rg/fantasyname`. Check the repository for the current installation instructions.

What category does fantasyname belong to?

fantasyname is listed under Game Development, specifically Game Development.

← Back to Game Development