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.
quelle
Antworten:
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".
quelle
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
quelle
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.
quelle