태그 보관물: procedural-generation

procedural-generation

이름 생성 오래 걸리거나 비용이 듭니다. 나는 모음과 자음을 무작위로

나는 게임을 만들고 있거나 (적어도 계획을 세우고) 그렇게하려면 NPC “보스”의 이름을 자동으로 생성하는 방법이 필요합니다 (여기 설명과 관련이 없습니다). 같은 뭔가 무슨 뜻인지의 좋은 예이다.

나는 국적별로 이름의 데이터베이스를 구축하고, 아마도 첫 번째 / 마지막 쌍으로, 이름을 무시하고 무작위로 할당 할 수 있다는 생각을 가지고 있습니다. 그래서 호머 심슨과 같은 것을 얻지 못하고 고소 당하지 않습니다.

그 문제는 작동하기 위해 거대한 이름의 데이터베이스를 구축해야한다는 것입니다. 누군가 무료로 사용할 수있는 이름 목록이없는 한, 시간이 오래 걸리거나 비용이 듭니다.

나는 모음과 자음을 무작위로 만들어서 몇 개를 뒤집고 함께 추가하는 또 다른 아이디어가 있지만 다음과 같은 이름을 생성하는 빠른 프로그램입니다.

  • 시어미 파
  • 시메
  • Ofmiahwumafi
  • 고지 디
  • 넓은

(코드에 관심이있는 사람은 여기에서 볼 수 있습니다 )

이것들은 … 한 입입니다. “Gozidi”를 제외하고는 작동 할 수 있습니다. 여전히 성공률은 그리 좋지 않습니다.

이름을 더 좋게 만들기 위해 할 수있는 일이 있습니까 (아래 참조), 아니면 그 목록을 작성해야합니까? 인간이 이름이 적절한 지 아닌지를 결정하는 방식을 적어도 어느 정도 모방 할 수 있습니까? 큰 목록의 조회보다 이와 같은 것을 훨씬 선호합니다.

“nicer”의 의미는 임의의 문자 조합 (공평하게) 대신 실제 이름처럼 들리는 것입니다. 그것들은 당신과 같은 틀에 박힌 바보 같은 저 언어 미국인이 아무 문제없이 말할 수있는 한, 어떤 문화 (또는 그 자체의 소리), 실제 또는 가상의 것에서 나올 수 있습니다.

추가 설명이 필요하면 계속해서 문의하십시오. 여기에 무엇을 넣을 지 잘 모르겠습니다.

부록 : 제가 알 수있는 한,이 질문에 잘 맞는 태그는 실제로 없습니다. 더 이상 여기에 있었던 사람이 일부를 추천 할 수 있다면 정말 좋습니다.



답변

대부분의 이름 생성기는 Markov Chain의 변형을 통해 작동합니다. Markov Chain 은 게임과 다른 도메인에서 많이 사용되는 상당히 주목할만한 ( markov le?) 구성입니다.

기본 접근 방식은 일종의 목록을 호출합니다. 이것들은 상당히 클 필요는 없습니다. 이 목록의 목적은 주어진 이름 카테고리에 어떤 음절이 쌍을 이룰 가능성을 알고리즘에 알리기위한 것입니다.

이를 통해 남성 이름, 여성 이름, 가족 이름 또는 다른 문화 / 지역 / 종의 이름에 대한 다른 목록을 구성 할 수 있습니다.

구성 음절을 임의로 조합하는 알고리즘을 재미있는 방식으로 조정하는 데 소요되는 시간은 생각이 좋고 일반적인 테마에 맞는 이름 목록을 생성하는 것보다 더 많은 시간이 될 것입니다.

있습니다 가능한 많은 이름 목록. 나이, 성별 및 민족별로 쉽게 구분되는 현대식 이름을 가진 최신 미국 인구 조사 데이터베이스를 다운로드하거나 오래된 노르웨이어 이름 등을 확인 하십시오. 이것들은 모두 구글을 통해 쉽게 찾을 수 있습니다. 그 마지막 링크는 문자 그대로 “노르웨이 이름 목록”에 대한 첫 번째 히트였습니다.


답변

언어로 된 대부분의 이름은 일련의 패턴을 따릅니다. 예를 들어 러시아어 또는 그리스어 이름에는 5-10 개의 서로 다른 접두사가있을 수 있으므로 -ov로 끝나는 이름을 찾으면 패턴에 맞는 러시아어를 의심 할 수 있습니다.

실제 이름 (또는 실제 이름)을 원한다면 일부 언어의 실제 이름을 분석하고, 패턴을 찾고, 이러한 이름을 생성하는 알고리즘을 만드는 것이 가치가 없기 때문에 목록 작성을 시작해야한다고 생각합니다. 내 의견으로는 노력.

어떤 언어로 된 이름이 될 수있는 임의의 이름을 원한다면 따라야 할 작은 규칙 목록을 만들 수 있습니다 (위의 하위 집합처럼). 이미, 당신이하고있는 일은 : 모음과 자음에 관한 규칙을 만들었습니다. 이 10 음절로 끝나는 성을 추가하거나 일부 자음 뒤에는 ‘q’와 같은 모음 만 있고 ‘u’만 있고 다른 자음에는 ‘s’와 같은 다른 자음 뒤에 ‘t가있을 수 있습니다. ‘또는’k ‘. 다시 말하지만, 실제로 발음 할 수 있고 실제 이름을 만드는 것보다 약간 실제적인 단어를 만드는 것이 더 좋습니다.

“종이, 제발”이 이름을 생성하는 방식과 관련이있을 수 있습니다.
http://papersplease.wikia.com/wiki/List_of_names


답변

가장 쉬운 방법은 기존 임의 이름 생성기 또는 요구 사항을 충족하는 기존 임의 이름 목록을 사용하는 것입니다. 그런 다음 목록으로 저장하십시오. 임의의 이름이 필요한 경우 기존 목록에서 임의로 선택하십시오.


답변