Namensgenerierung

10

Ich mache ein Spiel (oder plane es zumindest) und dazu brauche ich eine Möglichkeit, automatisch Namen für die NPC- "Bosse" zu generieren (lange Erklärung und hier irrelevant). So etwas wie dies ist ein gutes Beispiel dafür , was ich meine.

Ich habe die Idee, dass ich einfach eine Datenbank mit Namen nach Nationalität erstellen kann, vielleicht erste / letzte Paare, und sie zufällig mit einer Liste ignorierter Namen zuweisen kann, damit ich nicht so etwas wie Homer Simpson bekomme und verklagt werde oder so.

Das Problem dabei ist, dass ich eine riesige Datenbank mit Namen aufbauen muss, damit das funktioniert. Es würde entweder ewig dauern oder Geld kosten, es sei denn, jemand hat bereits eine kostenlose Liste mit Namen zur Verfügung.

Ich habe eine andere Idee, bei der ich zufällige Paare von Vokalen und Konsonanten mache, einige umdrehe und sie addiere, aber ein schnelles Programm, das solche Namen generiert:

  • Seermeecpa
  • Cime
  • Ofmiahwumafi
  • Gozidi
  • Effawided

(Für alle, die sich für den Code interessieren, können Sie ihn hier sehen. )

Das sind ... eine Art Schluck. Nun, außer "Gozidi" - das könnte funktionieren. Trotzdem ist die Erfolgsquote eindeutig nicht sehr gut.

Kann ich irgendetwas tun, damit die Namen besser klingen (siehe unten), oder sollte ich anfangen, diese Liste zu erstellen? Kann ich irgendwie nachahmen, wie Menschen entscheiden, ob ein Name anständig ist oder nicht, zumindest mit einer gewissen Genauigkeit? Ich würde so etwas einer Suche in einer großen Liste vorziehen.

Was ich mit "schöner" meine, ist, dass anstelle von zufälligen Kombinationen von Zeichen (was es ist, um fair zu sein) Dinge, die wie tatsächliche Namen klingen. Sie können aus jeder Kultur stammen (oder so klingen, wie sie sind), real oder imaginär, alles, solange Ihr stereotyper dummer, einsprachiger Amerikaner wie ich sie ohne allzu große Probleme sagen kann.

Wenn Sie zusätzliche Erläuterungen benötigen, fragen Sie weiter. Ich bin mir nicht sicher, was ich hier setzen soll.

Nachtrag: Soweit ich das beurteilen kann, gibt es wirklich keine Tags, die so gut zu dieser Frage passen. Wenn jemand, der schon länger hier ist, einige empfehlen kann, wäre das großartig.

Fund Monica Klage
quelle
Leider scheint Ihre Frage momentan zu weit gefasst zu sein. Verschiedene Methoden zur Namensgenerierung passen zu verschiedenen Arten von Namen - realistisch (auch welche Kultur?), Fantasie, Science-Fiction, Aliase usw. Jede Methode hat ihre eigenen Stärken und Schwächen - fragen Sie nach einem Vergleich und nach welchem ​​Kriterium ? Wie beurteilen Sie persönlich, ob ein Name "nett" klingt? Sie können Ihre Frage verbessern, indem Sie sie in diese Richtung eingrenzen.
Congusbongus
Vielen Dank! Ich werde es bearbeiten, um es klarer zu machen. Was ich jedoch meinte, war nur ein beliebiger Name, der für den durchschnittlichen einsprachigen Amerikaner aussprechbar war. Geben Sie mir einen Moment und ich werde das einwerfen.
Fund Monica Klage
@ Kongusbongus Ich glaube, ich habe es behoben.
Fund Monica Klage
Sie könnten versuchen, Namen mit verschiedenen Präfixen und Postfixes zu verfassen, z. B. könnte das 'ith' von Smith Namen wie qith, hith, kith machen, die alle einigermaßen vernünftig und aussprechbar klingen. Sie könnten auch eine Liste von Namen erhalten und sie in zwei Hälften teilen. Ersetzen Sie dann durch die andere Hälfte eines anderen Namens. Zum Beispiel wäre Matt Ma und Josh würde Mash
Matthew Pigram am
@MatthewPigram Dafür muss noch eine Liste mit Namen erstellt werden, was ich vermeiden möchte. Trotzdem ist es eine gute Idee, das Pre / Postfixes-Bit.
Fund Monica Klage

Antworten:

14

Die meisten Namensgeneratoren arbeiten über eine Variation der Markov-Kette , die ziemlich bemerkenswerte (re markov le?) Konstrukte sind, die in Spielen und anderen Domänen viele Verwendungszwecke haben.

Der grundlegende Ansatz ruft eine Art Liste auf. Diese müssen nicht ziemlich groß sein. Der Zweck dieser Liste besteht lediglich darin, dem Algorithmus mitzuteilen, welche Silben für eine bestimmte Kategorie von Namen wahrscheinlich miteinander gepaart werden.

Auf diese Weise können Sie verschiedene Listen zusammenstellen, z. B. männliche Namen, weibliche Namen, Familiennamen oder Namen für verschiedene Kulturen / Regionen / Arten.

Die Zeit, die Sie damit verbringen werden, einen Algorithmus zu optimieren, der zufällig zusammengesetzte Silben auf angenehme Weise zusammensetzt, wird wahrscheinlich mehr Zeit in Anspruch nehmen, als nur eine Liste von Namen zu erstellen, die Ihrer Meinung nach gut klingen und zu einem gemeinsamen Thema passen.

Es gibt viele Namenslisten. Laden Sie die neueste US-Volkszählungsdatenbank für moderne Namen herunter, die leicht nach Alter, Geschlecht und ethnischer Zugehörigkeit getrennt werden können, oder greifen Sie auf Listen mit altnordischen Namen oder Ähnlichem zu. Diese sind alle recht einfach über Google zu finden. Dieser letzte Link war buchstäblich mein erster Treffer für "Liste der nordischen Namen".

Sean Middleditch
quelle
Dies und wieder das. Markov-Ketten regieren für Namen, da sie mit Beispielen trainiert werden können (geben Sie eine Datenbank mit Namen an, denen Sie ähnlich klingen möchten) und sogar flexibel sind, wie genau sie mit den Beispielnamen übereinstimmen (2-Buchstaben-Ketten? 3-Buchstaben-Ketten? 4?).
Babis
1
+1 für das blöde Wortspiel. Auch die tolle Antwort, aber meistens für das Wortspiel. Ich werde mir die Volkszählung ansehen und sehen, ob ich keine Liste der zu verwendenden Silben erstellen kann. Ich werde dies wahrscheinlich akzeptieren, nur weil darin die Terminologie erwähnt wird, anstatt sie nur zu beschreiben.
Fund Monica Klage
3

Die meisten Namen in Sprachen folgen einer Reihe von Mustern. Zum Beispiel können russische oder griechische Namen fünf oder zehn verschiedene Präfixe haben. Wenn Sie also einen Namen finden, der mit -ov endet , können Sie vermuten, dass er russisch ist, weil er irgendwie zum Muster passt.

Wenn Sie echte Namen (oder echte Namen) möchten, sollten Sie mit dem Erstellen Ihrer Liste beginnen (die nicht so lang sein sollte), da es sich nicht lohnt, echte Namen einiger Sprachen zu analysieren, deren Muster zu finden und einen Algorithmus zur Erstellung solcher Namen zu erstellen der Aufwand meiner Meinung nach.

Wenn Sie zufällige Namen möchten, die in einer bestimmten Sprache ein Name sein können, können Sie eine kleine Liste von Regeln erstellen, die befolgt werden müssen (wie eine Teilmenge der oben genannten). Was Sie bereits tun, ist Folgendes: Sie haben eine Regel über Vokale und Konsonanten aufgestellt. Sie könnten noch ein paar hinzufügen, wie Nachnamen in diesen 10 Silben enden sollten, oder auf einige Konsonanten können nur Vokale wie 'q' gefolgt von 'u' und auf andere Konsonanten wie 's' gefolgt von 't folgen 'oder' k '. Auch dies ist mehr, um einige Wörter zu erstellen, die tatsächlich ausgesprochen werden können und sich ein bisschen real anfühlen, als um tatsächliche Namen zu erstellen.

Etwas, das relevant sein kann, ist die Art und Weise, wie "Papers, Please" Namen generiert. http://papersplease.wikia.com/wiki/List_of_names

Exaila
quelle
Ich denke, dies ist das Beste, was ich bekommen werde, nur aufgrund der Komplexität des Problems. Vielen Dank für die Hilfe, auch wenn es nicht das ist, was ich wollte.
Fund Monica Klage
In den Beispielen " Papers" ist es bemerkenswert, dass es beim letzten Änderungsprotokolleintrag nicht darum geht , Namen zu generieren , sondern darum, einige der generierten Namen auszuschließen, da sie Namen von echten Personen ähneln (möglicherweise nicht so wichtig; obwohl dies geringfügig erscheint Für Benutzer verwirrend, gibt es einfach zu viele bekannte Personen, um alle ihre Namen auszuschließen, weil die Namen unerwünschten Wörtern ähneln (kann auch vorkommen, wenn nur echte Vor- und Nachnamen kombiniert werden) oder weil die Namen urheberrechtlich geschützt sind (möglicherweise sehr relevant, je nach Gesetzgebung).
ODER Mapper
Ich habe die Antwort geändert, die ich akzeptiert habe, weil Sean einen Link zu einer detaillierteren Beschreibung anstelle einer Übersicht ohne diese und einen Link zu einer Liste von Namen bereitgestellt hat, die ich mir ansehen konnte. Trotzdem danke für die Hilfe.
Fund Monica Klage
0

Ich denke, der einfachste Weg, dies zu tun, besteht darin, einen vorhandenen Zufallsnamengenerator oder eine vorhandene Liste von Zufallsnamen zu verwenden, die Ihren Anforderungen entsprechen. Speichern Sie es dann irgendwo als Liste. Wenn Sie einen zufälligen Namen benötigen, wählen Sie ihn einfach zufällig aus der vorhandenen Liste aus.

user55564
quelle
Das versuche ich zu vermeiden. Ich möchte ein System haben, das sie im laufenden Betrieb erstellen kann, anstatt eine Liste zur Auswahl zu haben. Außerdem habe ich nach einer bereits vorhandenen Liste gesucht. Der Grund, warum ich sagte, ich müsste einen machen, ist, dass ich keinen kostenlos finden konnte.
Fund Monica Klage