RNGdle 如何运作
三种抽取方式。藏在数字里的完整徽章目录。一个诚实的 EP 总分。
玩法规则
- 自由抽取 — 可以无限练习。数字来自浏览器的加密随机数(拒绝采样,不产生模偏差),并混入你自己的指针操作时机。每 100,000,000 次抽取中,有一次会命中天花板头奖:正好是 1,000,000。
- 每日数字 — 每个 UTC 午夜,系统会根据日期生成一个 0 到 1,000,000 之间的新共享数字。地球上的所有玩家看到的都一样,每天揭晓一次。
- 官方抽取 — 登录玩家每天每人可以获得一次由服务器种子生成的个人抽取,并计入你的连续记录和 排行榜.
- 每次抽取都会与完整徽章目录比对;每个命中的特征都会获得一个徽章。
- 一次抽取的 EP 是它所有徽章 EP 之和,总分会落入 Trash 到 Divine 的八档稀有度等级之一。
- 分享结果时不会剧透:分享文案只会展示特征方块和徽章名称,不会展示分析过程。
EP — 能量点
EP 是游戏里的计分单位。每个徽章都有与其特征稀有度匹配的固定 EP:普通偶数几乎不值分,而六位回文数可能价值数千 EP。
roll EP = Σ badge EP Trash < 170 < Common < 305 < Uncommon < 800 < Rare < 1,015 < Epic < 1,225 < Anomaly < 2,230 < Mythic < 5,265 < Divine
所有模式都使用同一套徽章引擎:自由抽取、每日数字和官方服务器抽取,对相同数字会给出完全相同的 EP。你在本地看到的结果,就是排行榜记录的结果。
官方抽取是个人专属的:服务器通过 mulberry32(hash(SESSION_SECRET : UTCdate : userId)) 推导数字。它是确定且可验证的,但无法提前预测。每位用户每天一次,数据库会强制执行;在连续的 UTC 日期抽取会增加你的连续记录。
每日种子
seed = hash("rngdle-" + YYYYMMDD)
number = floor(mulberry32(seed) * 1_000_001)UTC 日期会成为公开种子。mulberry32 是一个小巧、完全确定的伪随机数生成器:输入同一个 32 位种子,在任何设备上都将永远产生同一段数字流。每日抽取不需要服务器,任何人都可以验证。
深入计分(数字页面)
除了徽章游戏,每个数字页面还有一套基于信息论的稀有度分数。如果某个特征出现在 1,000,001 个数字中的 c 个里,它会获得 -log2(c / 1,000,001) bits,最高为 20。特征按 bits 从高到低排序,再按每增加一个特征就乘以 0.5 的衰减规则相加:最佳特征计全分,第二个计一半,第三个计四分之一,以此类推。
每个数字还会计算各位数字之和,并根据这个和在整个范围内的稀有程度计分,所以没有任何抽取是真正的零分。数量都是精确的:我们在构建时分析了每一个数字。
稀有度等级(深入分数)
下面七档等级用于评定数字页面上的信息论分数。首页游戏使用独立的八档 EP 等级,同样是根据完整分布校准的。
| 等级 | 分数 | 含义 |
|---|---|---|
| Trash | ≤ 4.2 | 所有抽取中排名后约 1%。一个真正让人记不住的数字。 |
| Common | ≥ 6 | 一个日常数字。没什么好写进家书的。 |
| Uncommon | ≥ 6.9 | 有一点闪光。比大约一半的数字更好。 |
| Rare | ≥ 7.8 | 排名前约 28%。现在开始有意思了。 |
| Epic | ≥ 9.3 | 排名前约 12%。值得截图。 |
| Anomaly | ≥ 12.6 | 排名前约 4%。机器短暂地眨了下眼。 |
| Mythic | — | 排名前约 1%。马上告诉所有人。 |
全部特征与精确数量
在 1,000,001 个数字中按稀有程度从高到低排列。各位数字之和会按每个和分别计分。
| 特征 | 数量 | 约 1 / | 含义 |
|---|---|---|---|
| 命名数字 | 12 | 83,333 | 互联网或历史赋予了它名字的数字。 |
| 2 的幂 | 20 | 50,000 | 某个指数的 2 次幂,例如 65536 = 2¹⁶。 |
| 递增序列 | 22 | 45,455 | 每一位都比前一位恰好大 1,例如 123456。 |
| 递减序列 | 26 | 38,462 | 每一位都比前一位恰好小 1,例如 654321。 |
| 斐波那契数 | 30 | 33,333 | 出现在斐波那契数列中。 |
| 全同数字 | 45 | 22,222 | 每一位都是同一个数字,例如 777777。 |
| 完全立方数 | 101 | 9,901 | 整数的三次方,例如 91125 = 45³。 |
| ABAB 模式 | 180 | 5,556 | 两个数字交替出现,例如 1212 或 565656。 |
| 怪兽级连号 | 181 | 5,525 | 同一个数字连续出现五次或更多。 |
| ABCABC 模式 | 900 | 1,111 | 一个三位数字块重复两次,例如 456456。 |
| 整千数 | 1,000 | 1,000 | 1,000 的整倍数。 |
| 完全平方数 | 1,001 | 999 | 整数与自身相乘,例如 729 = 27²。 |
| 三角数 | 1,414 | 707 | 三角形中的点数:1、3、6、10…… |
| 递增连续 | 1,865 | 536 | 包含连续 4 位或更多每次加 1 的数字,例如 883456。 |
| 递减连续 | 1,962 | 510 | 包含连续 4 位或更多每次减 1 的数字,例如 965432。 |
| 回文 | 1,989 | 503 | 正着读和倒着读都一样。 |
| 四连数字 | 2,520 | 397 | 同一个数字连续出现四次。 |
| 两种不同数字 | 4,537 | 220 | 恰好由两种不同数字组成。 |
| 三连数字 | 33,219 | 30 | 同一个数字连续出现三次。 |
| 奇偶交替 | 34,875 | 29 | 奇数位和偶数位严格交替。 |
| 质数 | 78,498 | 13 | 只能被 1 和自己整除。 |
| 哈沙德数 | 95,428 | 10 | 能被自己的各位数字之和整除。 |
| 锯齿 | 136,425 | 7 | 数字严格交替向上、向下。 |
| 快乐数 | 143,071 | 7 | 反复计算各位数字平方和后会到达 1。 |
| 各位均不重复 | 167,832 | 6 | 任何数字都没有重复出现。 |
| 半素数 | 210,035 | 5 | 恰好是两个质数的乘积。 |
| 首位 < 末位 | 399,996 | 3 | 第一位数字小于最后一位。 |
| 无零数字 | 597,870 | 2 | 完全不含数字 0。 |
命名数字(42、666、1337……)按唯一数字计分:1,000,001 个数字中有 1 个。
常见问题
每日数字是怎么选出来的?
系统使用 UTC 日期,通过 floor(mulberry32(hash("rngdle-YYYYMMDD")) * 1,000,001) 计算数字。它是确定生成的,所以所有玩家都会得到同一个数字,任何人都能复现。
稀有度分数如何计算?
每个特征贡献 -log2(count / 1,000,001) bits,最高限制为 20。特征按 bits 排序,再对后续特征应用 0.5 衰减后求和。
稀有度等级是什么?
游戏根据全部 1,000,001 个数字的精确 EP 分布计算阈值,把徽章 EP 总和分为 Trash 到 Divine 的八档等级。数字页面还额外使用七档信息论分数。
想继续深入?去看看 数字模式库 ——这里有 14 个带示例和统计的模式。