Я делал из слогов, и в конце каждой генерации проверял на наличие неблагозвучных слогов. И других нежелательных условий, в роде 3 гласных или согласных подряд. Если такое обнаружено, то слово будет пересоздано заново. И т.д. В итоге получаются исключительно годные и разнообразные имена. Хотя сам алгоритм не особо тяжёлый.
В своей игре делал через разные виды слогов. Есть ещё классный метод с помощью цепей маркова, вероятности которых можно взять на основе соседства букв в реальных именах и названиях.
Я делал из слогов, и в конце каждой генерации проверял на наличие неблагозвучных слогов. И других нежелательных условий, в роде 3 гласных или согласных подряд. Если такое обнаружено, то слово будет пересоздано заново. И т.д. В итоге получаются исключительно годные и разнообразные имена. Хотя сам алгоритм не особо тяжёлый.
В своей игре делал через разные виды слогов. Есть ещё классный метод с помощью цепей маркова, вероятности которых можно взять на основе соседства букв в реальных именах и названиях.
Можно исходники на github?
Боюсь, за давностью лет я уже не найду этот код)
Да и процедурная мысль с тех пор несколько продвинулась.
Слова состоят из слогов =)
И даже более того - из букв:D