94 个真实节日 · 61 个国家地区 · 9 大类,每条都带「什么时候 / 日期准不准 / 是什么 / 去哪看」四件套,并已接进游戏——在日程表上点一下就飞过去。
数据没有一条是我拍脑袋编的:坐标不手打、维基条目逐条联网核实、中文标题从英文条目的语言链接取、查不到就诚实留空。
| 维度 | 数量 |
|---|---|
| 节日总数 | 94 |
| 覆盖国家地区 | 61 |
| 分类 | 9 类:狂欢游行 15 · 传统民俗 19 · 宗教信仰 11 · 灯火烟花 11 · 音乐现场 10 · 自然季节 10 · 艺术电影 8 · 竞技冒险 7 · 美食与酒 3 |
| 带英文维基条目 | 94 / 94(100%) |
| 带中文维基条目 | 63 / 94(其余诚实留空,不编假链接) |
| 每条外部资源 | 中文维基 · 英文维基 · 中文视频 · 英文视频 · B站 · 实拍图库(共 627 个外链) |
每个节日存了什么:中文名 / 英文名 / 当地原名(如 さっぽろ雪まつり、สงกรานต์、Þorrablót)/ 国家 / 城市 / 经纬度 / 分类 / 日期精度分档 / 起止日期 / 人话日期规则 / 2-3 句说明 / 6 条外部链接。
世界上的节日大多数不在公历固定日。所以数据库把日期精度分成三档,界面上照实标:
| 精度 | 数量 | 含义 | 例子 |
|---|---|---|---|
| 📌 exact 固定日期 | 23 | 公历每年同一天 | 奔牛节 7月6-14日、那达慕 7月11-13日 |
| ≈ approx 每年浮动·月份稳定 | 40 | 月份稳定但具体日子每年调 | 慕尼黑啤酒节(9月中起16-18天)、番茄大战(8月最后一个星期三) |
| 🌙 movable 农历/宗教历·逐年不同 | 31 | 跟着农历、伊斯兰历、印度历、复活节走 | 春节、里约狂欢节、排灯节、平溪天灯节 |
倒计时因此是近似值,这一点在页面上直接写明。补精确日历的两条路已写进缺口表(GAP7)。
数据库不是手写的 JSON,是一个可重跑的生成脚本 MetaZero-OS/scripts/festivals_build.py,跑一次就重新核实一次:
| 闸 | 做什么 | 实测拦下了什么 |
|---|---|---|
| ① 坐标不手打 | 优先从 travel-2d 既有的 3689 座城市库取;库里没有的(戛纳、瓦哈卡、拉利贝拉…)走维基百科坐标接口 | 77 条来自城市库、17 条来自维基坐标,手打坐标 0 条 |
| ② 维基条目逐条联网核实 | 英文条目查不到 → 自动走维基搜索取真标题;中文标题不由我猜,一律从英文条目的语言链接取 | 第一版我猜的中文标题错了 45 条(如「布拉格之春国际音乐节」根本不存在),全部被拦下并自动纠正 |
| ③ 日期精度显式分档 | movable/approx 的起止日只用于排序与「大约什么时候」 | 界面强制标注,不把农历伪装成公历 |
过程中还犯了一个错并当场改掉:一开始逐条查维基,被限流打回 429。按 API 纪律铁律,不是加大力气重试,而是换方法——改成维基官方支持的批量查询(50 条/次),94 条从 94 个请求降到 2 个请求,一次通过。
搜索自动纠正的 5 条(已逐条人工复核):
| 我原来写的 | 实际条目 |
|---|---|
| San Fermín | Festival of San Fermín |
| Brussels Flower Carpet | Flower Carpet (Brussels) |
| Ivan Kupala Night | Kupala Night |
| Kelaat M'Gouna | Kalaat M'Gouna |
| Lotus Lantern Festival | Yeondeunghoe |
另有 5 条搜索给出了不相干的条目(如把「塞伦盖蒂动物大迁徙」搜成了美国黑人大迁徙),我人工钉到了正确条目——自动纠正不等于自动正确,这一步必须人看。
游戏内(📅 按钮,右下角按钮圈新增第 8 颗)
独立网页(不用进游戏也能看)
新增 4 个模块,模块总数 71 → 75,并新增第 9 套配方:
| 编号 | 模块 |
|---|---|
| C11 | 全球节日库 94 节 · 61 国 |
| D9 | 节日实体 🎊 |
| E11 | 📅 日程表 + 一键飞过去 |
| F10 | 节日环游循环 |
🎊 节日环游之旅(新配方,50 个模块):这是唯一一条挂在真实世界日历上的组合——七月打开是阿波舞与那达慕,二月打开是里约狂欢节与札幌雪祭。同一个存档,不同月份就是不同的世界。
最强反对:「94 个节日对 195 个国家来说太少,而且日期不精确,作为『日程表』其实不好用。」
回应:这条部分成立。
可证伪锚:如果有人逐条去查这 94 条的维基链接与举办地,发现有任何一条指向不存在的条目或错误城市——那我这套「机器闸」就是失败的。目前的实测是:英文条目 94/94 存在,坐标 94/94 有来源。
| 产物 | 位置 |
|---|---|
| 🎊 世界节日日历(网页) | https://metazero-terminal.pages.dev/travel-2d/festivals |
| 📅 游戏内日程表 | https://metazero-terminal.pages.dev/travel-2d/rpg → 右下角 📅 |
| 🧩 模块组合实验台(含节日环游配方) | https://metazero-terminal.pages.dev/travel-2d/modules |
| 📋 节日数据库 | web/terminal/travel-2d/data/festivals.json |
| ⚙️ 生成器(可重跑核实) | MetaZero-OS/scripts/festivals_build.py |