使用方法
- 「生成数量」默认 12,可填 1 到 50 的整数;填 0、负数或超过 50 都会提示「一次可生成 1~50 个名字」。
- 「随机种子」默认 20261019,可填 1 到 99999999。同一个种子必然得到同一批名字,换个数字整批重排;小于 1 会提示「随机种子请填 1 以上的整数」。
- 在数量或种子输入框里直接按回车即开始生成,改动任一控件也会立刻重算。
- 结果区先给出名字清单,下方对照表逐条列出序号、种子、全名、教名与后半截;默认展开六行,点「加载更多」看全。
- 「复制结果」复制名字清单,「复制对照表」复制制表符表格,「导出 CSV」带 UTF-8 字节序标记,表格软件里不乱码。
- 页面不联网、不写本地存储,刷新后回到默认数量 12 与默认种子 20261019。
这个中世纪名字生成器能解决什么问题
本页解决的是「给一批欧洲中古风格角色起成体系的名字」。跑团开团前的 NPC 名单、小说草稿里的配角表、游戏原型里的村民队列,需要的都是一串属于同一个世界、又能彼此区分的名字:同一世界才不跳戏,能区分才好检索。
它的结构与站内其它名字类工具走的不是一条路。「奇幻风格名字生成器」「精灵名字生成器」「矮人名字生成器」「龙名字生成器」偏向种族与音韵,靠语素拼出异质感;「用户名字生成器」关心的是账号能不能用。本页走的是历史路线:前半截是真实见于中世纪文献的教名,后半截是地名、职业或绰号,相乘得到的名字带着档案味,而不是音节味。
固定种子带来的复现能力是它最实用的地方。给几十个配角起名时,想到哪写到哪的结果是下一次续不上:名单一变,已出场的人物就对不上。把种子记进设定文档,任何人在任何设备上都能还原出同一批名字,连载与修订才站得住。
本页还把命名空间摆在最前面。24 个教名与 30 个后半截相乘只有 720 种组合,批量抽 30 个就有 45.3470% 的概率撞名。先把这个数字摊开,是为了让你在按下生成之前就知道这批名字要不要去重。
这个工具在本站也叫 Medieval名字生成器,两个叫法指的是同一个页面。
计算原理与变量说明
名字由两个维度相乘得到:
- 教名 24 个:
Aldric Eadric Godwin Rowena Isolde Cedric Wulfstan Eadgyth Aethelred Gytha Osric Hildegard Alaric Brunhild Dunstan Elfrida Garrick Hedwig Leofric Mildreth Osbert Rosamund Sigbert Wynstan - 绰号与地名 30 个:
Blackwood Stonebridge Ashdown Ravensworth Thornbury Ironhand Winterbourne Hartsgrove the Bold the Quiet Falkenhurst Meadowbrook Stormcrow Ashford Dunmarrow Fairehaven Grimsby Hollowbrook Kingsward Longshanks Marlowe Northgate Oakenshield Redcliff Sedgemoor Thistledown Underhill Valeworth Westmarch Yarrowfield
命名空间按乘法原理是 24 × 30 = 720 种。页面没有隐藏的第三维度,也没有会缩小空间的开关,这个数字就是全部可用空间。
随机序列怎么来。本页用一个线性同余发生器:从种子出发,每一步把当前值乘以 1103515245、加 12345,再截取低 31 位,即 s = (s × 1103515245 + 12345) & 0x7fffffff。这里的乘法必须是 32 位有符号整数乘法(代码里写作 Math.imul),直接写普通乘法会因为超出双精度整数的安全范围而丢掉低位,序列就不再闭环,换台设备复现出来就是另一批名字。
取词映射。两个维度共用同一条映射:把当前值除以 2147483647 再乘表长,向下取整。第 k 条名字从种子 seed + k − 1 出发,先走一步取教名,再走一步取后半截。这样安排的直接后果是:改数量不影响前面已经生成的任何一条,改种子则整批换掉。
为什么坚持用固定种子而不是系统随机源。两者的语义正好相反:固定种子的序列要「每次都一样」,系统随机源要「每次都不同」。本页是前者——把种子发给同好,对方输入同一个数字就能拿到同一批名单。
为什么教名表只放 24 个。这张表刻意选的是真正见于中世纪文献的形式,Aldric、Eadric、Wulfstan、Eadgyth、Aethelred 这类带古英语词根的名字集中在诺曼征服前后的英格兰与法兰克地区。表短不是偷懒:表一旦拉长到几百个,撞名问题消失了,但「同一批名字像同一个地方的人」这个效果也会一起消失。
为什么后半截不叫姓。因为中世纪欧洲在很长一段时间里没有现代意义的固定姓氏。Osric Ashdown 里的 Ashdown 是地名,Ironhand 是绰号(铁手),Longshanks 也是绰号(长腿),the Bold 与 the Quiet 是带定冠词的描述性称号。世袭姓氏从 12 到 15 世纪才逐步定型,把架空设定放在这之前,就该用「名 + 绰号」而不是「名 + 姓」。
为什么绰号里混着带冠词的形式。the Bold、the Quiet 这类写法保留了定冠词,读起来是「那个大胆的某某」而不是「大胆家族的某某」,这正是绰号与姓氏的形态差别。要当姓氏用,请自行删掉 the 并把首字母大写;本页保留原貌,是为了让差异看得见。
完整示例(数值仅作演示)
示例条件:数量 12、种子 20261019。第 k 条名字用种子 20261019 加 k 减 1,结果由上面的两段命名空间与线性同余算法复算得到:
- 种子 20261019 → Sigbert Valeworth
- 种子 20261020 → Osric Ashford
- 种子 20261021 → Wynstan Westmarch
- 种子 20261022 → Hildegard Dunmarrow
- 种子 20261023 → Wynstan Yarrowfield
- 种子 20261024 → Alaric Fairehaven
- 种子 20261025 → Aldric Stonebridge
- 种子 20261026 → Alaric Grimsby
- 种子 20261027 → Eadric Ashdown
- 种子 20261028 → Brunhild Kingsward
- 种子 20261029 → Eadric Ravensworth
- 种子 20261030 → Dunstan Longshanks
换种子看复现性:种子 1 的头两条是 Alaric Ironhand 与 Aldric Marlowe;种子 42 的头两条是 Brunhild Fairehaven 与 Godwin Stonebridge;种子 2026 的头两条是 Godwin Falkenhurst 与 Dunstan Underhill。三组都能在任何设备上复算出来,因为它们只依赖种子与两张固定的表。
再读一遍这一批的实际构成:12 条里 Wynstan、Alaric、Eadric 各出现两次,后半截则没有重复。教名表只有 24 个,教名重复的概率因此远高于后半截——这不是算法偏心,而是两段表长度不等的直接后果。上述名字均为演示用虚构人名,不对应任何真实历史人物。
命名空间与撞名概率对照表
下表列出命名空间的构成。两个维度的取值都是固定的,总数恒为 720。
| 维度 | 取值个数 | 取值示例 | 说明 |
|---|---|---|---|
| 教名 | 24 | Aldric / Hildegard | 见于中世纪文献的洗礼名 |
| 绰号与地名 | 30 | Ashford / Ironhand | 地名、职业或绰号 |
| 全名空间 | 720 | Osric Ashdown | 24 × 30,无隐藏维度 |
下表按命名空间 N = 720,用生日问题的近似式「1 减去 e 的负 n(n−1)/(2N) 次方」算出「随机抽 n 个名字,至少出现一对重复」的概率。它衡量的是两两配对的次数随数量平方增长这件事。
| 生成数量 n | 至少一对重名 | 直观判断 |
|---|---|---|
| 5 | 1.3793% | 百分之一,几乎碰不到 |
| 10 | 6.0587% | 十几次里遇到一次 |
| 20 | 23.1941% | 接近四分之一 |
| 30 | 45.3470% | 已接近掷硬币 |
| 50 | 81.7570% | 大概率已重名 |
| 100 | 99.8967% | 几乎必然 |
读表的要点:空间看着七百多很宽裕,实际抽到 20 个就有 23.1941% 的概率出现重复,抽到 30 个已经到 45.3470%。本页单次最多 50 个,对应 81.7570%——十次里有八次会碰到重名,这也是页面不去强行去重的原因。
结果边界、舍入与适用说明
- 生成数量范围 1 到 50,步长 1;小于 1 或大于 50 都会给出「一次可生成 1~50 个名字」的提示,一次铺开太多行的意义本来也不大。
- 随机种子范围 1 到 99999999,步长 1;小于 1 会提示「随机种子请填 1 以上的整数」,超过上限也会给出提示,不会拿截断后的值继续算。
- 本页不做去重。重复是独立抽取的正常表现:空间只有 720 个,抽 30 个的撞名概率已经是 45.3470%。要「保证不重名」必须改成洗牌后切片,本页提供固定种子就是为了让这一步也可复现。
- 名字只含拉丁字母与空格(带冠词的绰号含小写 the),不含标点与数字,可直接用作角色名或存档标识。
- 同一种子在任何设备上都复现同一批名字,算法只依赖种子与两张固定的表,不依赖语言环境、时区或系统随机源。
- 教名表混有男名与女名,页面不做性别筛选;需要按性别分配时请自行从结果里挑,或换种子重抽。
- 带定冠词的后半截(the Bold、the Quiet)当作姓氏使用时需要改写成 Bold、Quiet,本页按绰号原貌输出,不做自动改写。
- 名字的词形取自真实历史语料,不承诺与在世人物或商标不冲突;用于出版或商用前请先核对重名情况。
常见问题
同一个种子为什么每次生成的结果都一样?
因为整条随机序列由种子加线性同余递推式推出,没有引入时间或系统随机源。起点相同,序列就相同,结果自然一致。想要每批都换,把种子改成另一个数字,或者按批次递增种子。
才生成 30 个,为什么就有将近一半概率重名?
因为命名空间只有 720 个,而重名看的是名字两两配对的次数:30 个名字有 435 对,配对数随数量按平方增长。这是生日问题,直觉几乎总会低估,按 45.3470% 这条实际数字来理解更稳妥。
能不能保证这一批名字互不重复?
页面不提供这个开关。独立抽取无法承诺不重名,抽 50 个的撞名概率已经是 81.7570%。要拿互不重复的一批,请把结果导出后去重,不足的部分换种子再补;真正需要严格不重名时应改用洗牌后切片,本页的固定种子正是为了让这一步可复现。
后半截写的是地名还是姓?
多数是地名、职业或绰号,不是现代意义的姓。Ashdown、Blackwood、Stonebridge 指向地貌与聚落,Ironhand、Longshanks 是身体特征绰号,the Bold、the Quiet 是带定冠词的称号。世袭姓氏要到 12 至 15 世纪才逐步定型,写 11 世纪之前的故事用「名 + 绰号」更贴近史实。
教名看起来男女混在一起,能按性别筛吗?
页面不做性别筛选,24 个教名是一张混合表。Hildegard、Rowena、Isolde、Eadgyth、Gytha、Elfrida、Hedwig、Mildreth、Rosamund、Brunhild 通常作女名,其余多作男名,但中世纪文献里的性别归属本身有地域差异。需要严格区分时请自行核对,或换种子重抽后挑选。
把生成结果写进小说,还需要改什么?
建议先统一拼写,再决定后半截当绰号还是当姓用。带 the 的两条要去掉冠词才能当姓;同一批里教名重复(本例 Wynstan、Alaric、Eadric 各出现两次)可以靠身份说明区分,比如「磨坊的 Wynstan」与「渡口的 Wynstan」,这恰好是中世纪文献里的通行做法。
这个工具免费吗?
免费,无需注册即可使用。
输入的数据安全吗?
安全。计算在当前浏览器本地完成,不会上传输入内容。