DD字符名字生成器

面向 D&D(龙与地下城)跑团的 DND 角色名生成:六族音节池组合,一次生成多组,开团前快速补 NPC 与玩家角色。

Coren Ashford
Aelrith Amakiir
Brugrim Ironhelm
Merco Tealeaf
Gormok 灰牙氏族
Raios Dawn
(以上为服务端直出的演示名,点「生成」按当前设置重抽)

使用方法

  1. 在「种族」下拉框选一档(示例默认人类 Human),六族的音节池互不混用。
  2. 在「生成数量」填 1~50 的整数(示例 8),非整数或超范围会给出具体提示。
  3. 勾选「附带家族名 / 氏族名」可把人类 Ashford 这类姓拼到名字后;取消勾选只出名。
  4. 点「生成」;在数量框里按回车键也会立即触发。结果区默认带有 6 条服务端直出的演示名。
  5. 点「复制结果」把当前整组名字复制成每行一个的纯文本,可直接贴进跑团记录。

DD字符名字生成器能解决什么

三个典型场景:一是开新团时玩家卡在起名环节,按角色种族点一次出 8 个候选(示例:人类出一组 Coren Ashford、Jorlin Highmoor 这类「音节名 + 家族名」);二是地下城主临时需要一批 NPC,选兽人一次抽出十几个 Gormok、Thoknak 配灰牙氏族这类部落式全名;三是跑团外的轻量用途——写奇幻短篇、给桌游角色占位。注意本页的定位是「按 D&D 玩家手册(PHB)各族的命名习俗做音节组合」,不是通用英文名,也不做账号用户名;通用奇幻风格命名由站内奇幻风格名字生成器承担,精灵、矮人、兽人等单一族深挖页分别由精灵名字生成器、Dwarf名字生成器、Orc名字生成器承担,本页不做单族海量词库。

原理与变量:音节池与随机源

实现上是「前缀 + 后缀(+ 姓)」的音节拼接法:每族维护三个数组,例如人类是 16 个前缀、8 个后缀、16 个家族名,名 = 前缀随机一个 + 后缀随机一个(16 × 8 = 128 种),附带姓氏时 16 × 8 × 16 = 2048 种全名组合;DD字符名字生成器的六族合计 5216 种组合,全部组合数都由数组长度实算得出,不是估值。取随机数不用 Math.random(),而用 crypto.getRandomValues(new Uint32Array(1)):取模前先做拒绝采样,把 2^32 里无法被池大小整除的余数区间丢掉——2^32 mod 36 = 4,若直接取模,池中前 4 个元素的概率会略高于其余,拒绝采样把这点偏差归零,这也是安全编码场景的通行做法。各族的拼接规则不是同一套模板:人类与精灵是「名 + 家族名」,矮人是「名 + 氏族名」,半身人的姓氏取自茶叶、树篱这类田园词源,兽人把部落名当姓用,提夫林按 PHB 习俗使用「憧憬」或「抗拒」的美德词当姓(Dawn、Ambition 等),所以切种族后抽出的名字气质完全不同。

完整示例(数值仅作演示)

默认设置:人类、8 条、附带家族名。点一次生成,得到的名字形如 Coren Ashford、Wilwin Greywell——每个名字都来自「16 前缀 × 8 后缀 × 16 家族名」这 2048 种组合之一。换成提夫林、5 条、不勾姓氏,得到 Raios、Nemith 这类地狱语系音节短名,正好对应美德姓规则被关闭后的形态。演示区那 6 条(Coren Ashford、Aelrith Amakiir、Brugrim Ironhelm、Merco Tealeaf、Gormok 灰牙氏族、Raios Dawn)覆盖了六族各一条,可与下面的对照表逐行对上。

输入范围与种族对照表

数量允许 1~50:低于 1 或高于 50、填了小数或非数字都会按字段与范围报错,不会静默取整后照跑。对照表按六族列出明名示例、全名示例、组合数与命名习俗,默认显示 12 行,点「加载更多」补出后 6 行,可导出带 BOM 的 CSV。

六族命名规则对照(数值仅作演示)
种族明名示例全名示例含姓组合数命名习俗
人类CorenCoren Ashford2048音节名 + 家族名
人类WilwinWilwin Greywell2048家族名多为地形词源
精灵AelrithAelrith Amakiir768名含流音,家名如花语
精灵SylrielSylriel Siannodel768元音连缀、尾音 -iel
矮人BrugrimBrugrim Ironhelm640名 + 氏族名
矮人DurdinDurdin Stoneforge640氏族名出自锻造词源
半身人MercoMerco Tealeaf640田园词源家族名
半身人RosanaRosana Underbough640名短音节、姓两词根
兽人GormokGormok 灰牙氏族480部落名当姓
兽人ThoknakThoknak 血拳氏族480硬辅音、喉音为主
提夫林RaiosRaios Dawn640美德词当姓
提夫林NemithNemith Ambition640地狱语名 + 美德姓

输入范围、边界与精度说明

数据链路是:读种族与数量 → 校验数量 → 按池做拒绝采样取下标 → 拼接去重输出。边界上,数量为空、非数字、小数、小于 1、大于 50 各有独立提示文案;勾选「去重」后若请求数超过当前池的组合上限,会明确提示上限是多少,而不是悄悄重复。DD字符名字生成器不做大小写混排以外的改写,输出为纯文本,因此同一种族反复生成会稳定呈现同一批词根——这是词库法的特征而非缺陷,想要更多变化只能扩充音节池。

常见问题

名字里的「DD」到底是什么意思?

本工具英文原名是 D&D Character Name Generator,DD 就是龙与地下城(Dungeons & Dragons,D&D)的缩写,中文页名按数据源直译保留了下来,所以它不是「字符特效」或「前缀 DD」的含义。

生成会重复吗?

单次生成内部按「抽取后移除」处理,同一批结果内不重复;跨批次不查重,因为连续两批各 50 条已超过人类族 128 个明名的一半,跨批去重会显著缩小可选面。

为什么不同种族名字风格差很多?

六族各自维护独立音节池与拼接规则:精灵用元音连缀,兽人用硬辅音加部落名,提夫林用地狱语音节配美德词,规则本身来自玩家手册的种族命名章节,不是随机洗词。

随机数用的是 Math.random 吗?

不是,用的是 crypto.getRandomValues 的 32 位整数加拒绝采样。取模偏差 2^32 mod 36 = 4 对不做处理的取模法意味着前 4 个词根出现概率略高,拒绝采样把这一偏差归零。

可以用于商业作品或 NPC 命名吗?

音节组合结果不构成受版权保护的文本,可自由使用;但把名字与特定种族、设定组合成品牌或完整作品时,仍受你自身创作素材的授权约束。

为什么最大只能一次生成 50 条?

50 条已足够一次团备 NPCs 使用,同时避免把结果区刷成数千行的长列表导致移动端滚动卡顿;需要更多可以多点几次,每次都是独立均匀抽样。

能加自定义词根吗?

本页不提供自定义池输入;需要完全自控的命名请用站内昵称生成器或用户名生成器,它们面向的是账号与昵称口径而非种族习俗。

生成过程有网络请求吗?

没有。词库内联在页面里,随机数走浏览器本地 crypto 接口,全程无请求,可在开发者工具 Network 面板确认。

相关工具