Pembuatan nama

10

Saya membuat game (atau berencana untuk, setidaknya) dan untuk melakukan itu, saya perlu cara untuk secara otomatis menghasilkan nama untuk "bos" NPC (penjelasan panjang dan tidak relevan di sini). Sesuatu seperti ini adalah contoh yang baik tentang apa yang saya maksud.

Saya punya ide bahwa saya hanya bisa membangun database nama berdasarkan kebangsaan, mungkin pasangan pertama / terakhir, dan menugaskan mereka secara acak, dengan daftar nama yang diabaikan sehingga saya tidak mendapatkan sesuatu seperti Homer Simpson dan dituntut atau sesuatu.

Masalahnya adalah bahwa saya perlu membangun basis data nama yang besar agar bisa berfungsi. Ini akan memakan waktu selamanya atau biaya uang, kecuali seseorang sudah memiliki daftar nama yang tersedia secara gratis.

Saya punya ide lain di mana saya membuat pasangan vokal dan konsonan acak, membalik beberapa, dan menambahkannya bersama, tetapi sebuah program cepat yang melakukan itu menghasilkan nama-nama seperti ini:

  • Seermeecpa
  • Cime
  • Ofmiahwumafi
  • Gozidi
  • Diusahakan

(Bagi siapa pun yang tertarik dengan kode ini, Anda dapat melihatnya di sini )

Ini adalah ... semacam suap. Ya, kecuali "Gozidi" - yang itu bisa bekerja. Namun, tingkat keberhasilannya jelas tidak terlalu baik.

Adakah yang bisa saya lakukan untuk membuat nama-nama itu terdengar lebih bagus (lihat di bawah), atau haruskah saya mulai membuat daftar itu? Dapatkah saya entah bagaimana meniru cara manusia memutuskan apakah sebuah nama layak atau tidak, dengan setidaknya beberapa akurasi? Saya lebih suka sesuatu seperti ini daripada mencari dalam daftar besar.

Yang saya maksud dengan "lebih baik" adalah bahwa, alih-alih kombinasi karakter acak (yang artinya, untuk bersikap adil), hal-hal yang terdengar seperti nama sebenarnya. Mereka bisa berasal dari budaya apa pun (atau terdengar seperti mereka), nyata atau imajiner, apa saja, asalkan stereotip Anda bodoh, orang Amerika monolingual seperti saya dapat mengatakan mereka tanpa terlalu banyak kesulitan.

Jika Anda membutuhkan klarifikasi tambahan, silakan bertanya. Saya tidak begitu yakin apa yang harus saya letakkan di sini.

Tambahan: Sejauh yang saya tahu, sebenarnya tidak ada tag yang cocok dengan pertanyaan ini. Jika ada orang yang sudah di sini lebih lama dapat merekomendasikan beberapa, itu akan luar biasa.

Dana Gugatan Monica
sumber
Sayangnya pertanyaan Anda sepertinya terlalu luas sekarang. Berbagai metode pembuatan nama akan sesuai dengan berbagai jenis nama - realistis (juga, budaya mana?), Fantasi, sci-fi, alias dll. Setiap metode memiliki kekuatan dan kelemahan mereka sendiri - apakah Anda meminta perbandingan, dan pada kriteria apa ? Bagaimana Anda menilai secara pribadi apakah suatu nama terdengar "bagus"? Anda dapat meningkatkan pertanyaan dengan mempersempitnya di bawah ini.
congusbongus
Terima kasih! Saya akan mengeditnya untuk membuatnya lebih jelas. Apa yang saya maksud adalah nama apa pun, dan bisa diucapkan oleh orang Amerika biasa saja, satu bahasa. Beri saya waktu sebentar dan saya akan memasukkannya.
Dana Gugatan Monica
@congusbongus, saya rasa saya memperbaikinya.
Dana Gugatan Monica
Anda dapat mencoba dan menulis nama menggunakan berbagai awalan dan postfix, misalnya 'ith' dari Smith dapat membuat nama seperti qith, hith, kith yang semuanya terdengar masuk akal dan dapat diucapkan, Anda juga bisa mendapatkan daftar nama dan memotongnya menjadi dua, lalu ganti dengan bagian lain dari nama lain. Misalnya Matt akan menjadi Ma, dan Josh akan membuat Mash
Matthew Pigram
@ MatthewPigram Itu masih membutuhkan kompilasi daftar nama, yang merupakan sesuatu yang ingin saya hindari. Namun, itu ide yang bagus, bit pre / postfixes.
Dana Gugatan Monica

Jawaban:

14

Sebagian besar generator nama bekerja melalui beberapa variasi Markov Chain , yang merupakan konstruksi yang cukup luar biasa (re markov le?) Yang memiliki banyak kegunaan dalam game, serta domain lainnya.

Pendekatan dasar memang memunculkan semacam daftar. Ini tidak perlu cukup besar. Tujuan dari daftar ini hanyalah untuk menginformasikan kepada algoritma suku kata apa yang cenderung dipasangkan bersama untuk kategori nama tertentu.

Ini memungkinkan Anda untuk mengumpulkan daftar yang berbeda untuk misalnya nama laki-laki, nama perempuan, nama keluarga, atau nama untuk berbagai budaya / wilayah / spesies.

Waktu yang Anda habiskan untuk mengutak-atik algoritma yang secara acak merakit suku kata yang dibuat menjadi mode yang menyenangkan kemungkinan akan lebih dari yang Anda habiskan hanya dengan membuat daftar nama yang menurut Anda terdengar bagus dan sesuai dengan tema umum.

Ada yang banyak daftar nama yang tersedia. Unduh basis data sensus AS terbaru untuk nama-nama modern yang mudah dipisahkan berdasarkan usia, jenis kelamin, dan etnis, atau ambil daftar nama-nama Norse lama atau sejenisnya. Ini semua sangat mudah ditemukan melalui Google; tautan terakhir itu benar-benar hit pertama saya untuk "daftar nama Nordik."

Sean Middleditch
sumber
Ini dan lagi ini. Markov rantai aturan untuk nama, karena mereka dapat dilatih dengan contoh-contoh (pakan itu database nama Anda ingin terdengar mirip dengan) dan bahkan fleksibel dalam seberapa dekat mereka cocok dengan contoh nama (rantai 2 huruf? Rantai 3 huruf? 4?).
Babis
1
+1 untuk permainan kata-kata bodoh. Juga jawaban yang bagus, tetapi sebagian besar untuk permainan kata-kata. Saya akan melihat Sensus dan melihat apakah saya tidak dapat membuat daftar suku kata untuk digunakan. Saya mungkin akan akhirnya menerima ini, hanya karena itu menyebutkan terminologi, bukan hanya menggambarkannya.
Dana Gugatan Monica
3

Sebagian besar nama dalam bahasa mengikuti serangkaian pola. Misalnya nama Rusia atau Yunani mungkin memiliki lima atau sepuluh awalan yang berbeda, jadi jika Anda menemukan nama yang diakhiri dengan -ov, Anda dapat menduga bahasa Rusia karena agak cocok dengan polanya.

Jika Anda ingin nama asli (atau nyata seperti) saya pikir Anda harus mulai membangun daftar Anda (yang seharusnya tidak terlalu lama) karena menganalisis nama asli dari beberapa bahasa, menemukan polanya, dan membuat algoritma untuk menghasilkan nama-nama seperti itu tidak layak upaya menurut saya.

Jika Anda ingin nama acak yang bisa menjadi nama dalam beberapa bahasa, Anda bisa membuat daftar kecil aturan untuk diikuti (seperti subset di atas). Sudah, apa yang Anda lakukan adalah: Anda membuat aturan tentang vokal dan konsonan. Anda dapat menambahkan beberapa lagi seperti nama keluarga harus diakhiri dengan 10 suku kata ini atau beberapa konsonan hanya dapat diikuti oleh vokal seperti 'q' diikuti hanya dengan 'u' dan beberapa yang lain dapat diikuti oleh konsonan lain seperti 'diikuti' oleh 'atau' k '. Sekali lagi, ini lebih untuk membuat beberapa kata yang sebenarnya bisa diucapkan dan terasa sedikit nyata daripada membuat nama sebenarnya.

Sesuatu yang mungkin relevan adalah cara "Makalah, Tolong" menghasilkan nama. http://papersplease.wikia.com/wiki/List_of_names

Exaila
sumber
Saya merasa inilah yang terbaik yang akan saya dapatkan, hanya dari kerumitan masalahnya. Terima kasih atas bantuannya, bahkan jika itu bukan tujuan saya.
Dana Gugatan Monica
Dalam Makalah, Tolong contoh, perlu dicatat bagaimana entri changelog terbaru bukan tentang menghasilkan nama, tetapi tentang bagaimana mengecualikan beberapa nama yang dihasilkan, karena mereka menyerupai nama orang sungguhan (mungkin tidak begitu penting; mungkin terlihat sedikit membingungkan bagi pengguna, ada terlalu banyak orang nyata yang agak dikenal untuk mengecualikan semua nama mereka), karena nama-nama itu menyerupai kata-kata yang tidak diinginkan (mungkin juga terjadi ketika hanya menggabungkan nama depan dan belakang yang asli), atau karena nama-nama itu adalah hak cipta (mungkin sangat relevan, tergantung pada undang-undang).
ATAU Mapper
Saya telah mengubah jawaban mana yang saya terima karena Sean memberikan tautan ke deskripsi yang lebih rinci, dan bukan gambaran umum tanpa itu, dan tautan ke daftar nama yang bisa saya lihat. Terima kasih atas bantuannya.
Dana Gugatan Monica
0

Saya pikir cara termudah untuk melakukan ini adalah dengan menggunakan generator nama acak yang ada atau daftar nama acak yang ada yang memenuhi persyaratan Anda. Kemudian simpan di suatu tempat sebagai daftar. Saat Anda membutuhkan nama acak, pilih saja dari daftar yang ada secara acak.

pengguna55564
sumber
Itulah yang saya coba hindari. Saya ingin memiliki sistem yang dapat membuat mereka dengan cepat, daripada harus memiliki daftar untuk dipilih. Juga, saya mencari daftar yang sudah ada sebelumnya. Alasan saya mengatakan saya harus membuatnya adalah karena saya tidak dapat menemukannya secara gratis.
Dana Gugatan Monica