用时间与创作者扩展玩法:老资历、歌曲大排序与“闪耀的 Producer”

3129 字
16 分钟
用时间与创作者扩展玩法:老资历、歌曲大排序与“闪耀的 Producer”

从“猜出歌名”走向“理解曲库”#

完成曲目猜猜看和曲名填字后,网站已经能够利用曲名、STAFF、发布时间、歌姬和声库等字段进行游戏。但这两个玩法的核心仍然是“认出一首歌”。

下一阶段,我想做一些不要求玩家立刻记住答案,却能让人逐渐建立曲库印象的玩法。发布时间是最适合的切入口:它容易比较,又能自然体现中文虚拟歌声文化的发展阶段。另一方面,歌曲 STAFF 中积累的大量 P 主信息,也为另一种人物猜谜玩法提供了基础。

于是,这一阶段形成了三个模块:

  • “谁是老资历?”与反向的“谁是小资历?”;
  • “歌曲大排序”;
  • “闪耀的 Producer”。

谁是老资历:用连续比较建立时间感#

“谁是老资历?”的规则很直接:每轮展示两首发布时间不同的歌曲,玩家选择其中发布时间更早的一首。答对加一分,答错扣除一点生命值,三点生命耗尽后结束。

页面使用两张大卡片展示歌曲。曲名位于视觉中心,同时显示 STAFF、演唱歌姬、特殊标注和演唱会/生日会次数。发布时间在作答前隐藏,选择后再以醒目的 YYYY-MM 形式揭晓。

承接歌曲,而不是每轮完全重抽#

这个玩法没有在每一轮都随机抽取两首新歌。玩家选择的歌曲会保留到下一轮,再与一首新歌比较。这样一来,玩家会逐渐记住一首歌在整个时间轴上的相对位置,而不是只完成彼此独立的选择题。

但这种设计也有一个问题:如果出现一首非常早期的歌曲,玩家可能连续多轮都选择它,后续判断会变得过于机械。为此,我增加了一条承接规则:当同一首较早歌曲连续三次成为正确选择时,下一轮改为保留上一组中较新的歌曲,让时间锚点向前移动。

如果上一轮已经揭晓过承接歌曲的发布时间,那么新一轮不会再次把它隐藏。玩家可以利用已经获得的信息判断新出现的歌曲,这让连续回合真正形成了知识积累。

难度随得分递进#

题目不会从一开始就要求玩家区分同一年内的月份,而是按照得分逐步缩小时间差:

  • 0—4 分:优先选择相差 2—3 年的歌曲;
  • 5—9 分:优先选择相差 1—2 年的歌曲;
  • 10—14 分:固定比较相差 1 年的歌曲;
  • 15 分以上:进入同年、不同月的比较。

新歌曲还会参考演唱会/生日会次数进行加权,权重为 1 + min(次数, 3)。这让更为人熟知的现场曲目更容易在前期出现,但又不会完全垄断题库。

当目标时间范围内没有合适候选时,服务层会选择与当前难度最接近的合法歌曲,同时始终保证两首歌不是同一作品,也不会拥有完全相同的发布时间。

谁是小资历:复用规则,而不是复制一套游戏#

后来,我为这一模块加入了“谁是小资历?”:页面和生命值规则不变,但玩家需要选择发布时间更新的歌曲。

实现时没有复制整个游戏服务,而是增加 oldernewer 两种比较方向。正确答案、按钮文案、历史记录、结算说明和承接逻辑都根据方向计算。

“连续三次”的规则也随之反转:小资历模式中,如果同一首较新的歌曲连续三次成为正确答案,下一轮就改为保留较早的另一首。这样两个模式共享相同的状态机,却保持各自完整的玩法语义。

图片增强与移动端布局#

为了让卡片更有识别度,项目增加了一份独立的图片清单,通过 VCPedia 的 MediaWiki pageimages 接口批量查询页面缩略图。查询结果会被缓存,开发和生产构建不会临时访问数据网站;没有主图或远程图片加载失败时,则显示主题色占位图。

图片只是增强信息,不是游戏成立的前提。歌曲数据、图片 URL 和游戏规则彼此分离,避免外部资源失效导致玩法无法运行。

移动端是这一页面调整最多的地方之一。两张卡片需要在常见手机视口内同时出现,因此图片、留白和信息字号都要响应式变化。长曲名还需要限制行高和可用高度,避免多行标题与 STAFF 重叠。

每张卡片还会从一组具有可靠文字对比度的颜色中随机取得主题色。正确、错误和选中状态仍然使用边框、图标与文字表达,避免只依赖背景颜色。

结算与整局回顾#

玩家可以随时点击结算,确认后立即结束游戏;生命值归零也会自动结算。弹窗会展示最终得分、完成轮数、正确数、错误数和评价:

  • 0—4 分:初来乍到;
  • 5—9 分:小有资历;
  • 10—14 分:资深听众;
  • 15—24 分:曲库考古家;
  • 25 分以上:活化石级资历。

结算页会保留所有出现过的题目,包括两首歌曲、实际发布时间、玩家选择与正误。尚未作答时手动结算的题目则标记为“未作答”。与单纯显示分数相比,这份回顾更适合玩家复盘自己不熟悉的年代。

歌曲大排序:从单次比较走向整体时间线#

如果老资历玩法是在两首歌之间作出判断,那么“歌曲大排序”就是一次观察整段时间线。

玩法提供两种模式:

  1. 时间线排序:系统抽取 5 首或 10 首歌曲,玩家拖动卡片,将它们按照发布时间排列;
  2. 年份归位:系统提供年份,将每首歌曲放到正确年份。

两个模式都可以使用与曲目猜猜看相同的曲库范围和快速预设。

相对顺序计分#

时间线模式最初只按照完全归位的歌曲数量计分。这个算法对局部正确的排列并不友好:玩家可能只交换了相邻两首歌,却得到很低的成绩。

后来计分方式改为“两两相对顺序”。五首歌曲共有 10 对关系,十首歌曲共有 45 对关系。只要任意两首歌曲的前后关系正确,就获得一分。

这种方式能够更准确地体现玩家对整体年代的判断。结算时除了显示“正确关系数/总关系数”和百分比,还会在每张卡片上标记正确名次以及与正确位置相差几位。只有完全归位的卡片才显示绿色完成状态。

年份备选池与唯一分配#

年份归位模式要求本局歌曲来自互不相同的年份。每张卡片保留一个下拉框,但某个年份一旦分配给歌曲 A,就会从其他卡片的选项中消失;清空或更换后,旧年份自动回到候选池。

卡片下方还有一个按时间排序的年份备选池。桌面端可以把年份拖到歌曲卡片,移动端则可以先点选年份,再点选目标卡片。下拉、拖拽、触控点击和键盘操作最终都修改同一份分配状态,不会产生彼此不一致的答案。

两种模式均支持投降。确认投降后锁定操作并揭晓完整答案,但不计算成绩,也不生成正常评价。

闪耀的 Producer:从歌曲 STAFF 中看见创作者#

曲库越来越大后,歌曲背后的创作者也逐渐形成了另一套值得整理的数据。项目目录中的 P 主统计表最终成为“闪耀的 Producer”的事实来源。

首版收录 104 位 P 主,其中 44 位被标记为“名 P”。每条记录包含:

  • P 主名称和别名;
  • 初投稿日期与年份;
  • 出道曲;
  • 五首代表曲 A—E;
  • 殿堂及以上、传说、神话曲数量;
  • 名 P 标记。

生成脚本会在开发、测试和构建前读取 Excel,并输出独立的 producers.generated.json。P 主数据不会混入歌曲 JSON,歌曲数据库与人物数据库只在界面层并列展示。

导入时还处理了实际表格中的数据问题,例如把泠鸢yousa的异常日期统一为 2013-02-05,并将 Suya 重复出现的代表曲替换为另一首不同作品。名称唯一性、日期、非负数量、五首代表曲和名 P 标记都会在构建前校验。

两种 P 主范围#

玩家可以选择:

  • 名 P 模式:精选更具代表性、曲目更加出圈的 44 位 P 主,也是优先推荐的范围;
  • 全 P 主模式:使用全部 104 位 P 主。

游戏支持名称、英文大小写、标点差异和括号内别名搜索。不存在或已经猜过的名字不会进入记录。

P 主线索如何比较#

猜测表格包含 P 主、初投稿年份、出道曲、殿堂及以上、传说、神话和代表曲七列。

  • P 主名称只有猜中时标绿;
  • 初投稿年份相同标绿,相差不超过两年标黄,并用箭头表示答案更早或更晚;
  • 三类数量分别比较,相同标绿,接近时标黄;“接近”的阈值为 max(2, ceil(答案数量 × 20%))
  • 出道曲只有完全相同才标绿;
  • 五首代表曲拆成标签,与答案重合的具体曲目单独标绿。

如果一次猜测与答案的初投稿年份完全相同,答案行会自动揭示初投稿年份和出道曲,但不会消耗提示次数。

三次递进提示#

目前提示顺序为:

  1. 揭示初投稿年份、出道曲和代表曲 E;
  2. 揭示殿堂及以上、传说、神话数量和代表曲 D;
  3. 揭示代表曲 A、B、C,使五首代表曲全部可见。

答案名称会一直保持隐藏,直到玩家猜中或投降。开发环境还保留了指定答案工具,便于对特定 P 主的线索和结算流程进行测试。

答对或投降后,结算弹窗会展示完整日期、出道曲、三类数量、五首代表曲、模式、猜测次数和提示次数。P 主统计表也被接入数据库模块,方便不游玩时直接检索资料。

三个玩法背后的共通结构#

这三个模块看起来差异很大,但都依赖几项共同设计:

  • 题库先由构建脚本规范化,UI 不直接读取 Excel 或 Markdown;
  • 游戏规则放入独立服务层,React 页面负责展示状态和发送操作;
  • 随机选题可以注入固定随机源,便于编写可重复测试;
  • 结算结果保存完整历史,而不仅是一个总分;
  • 桌面拖拽始终提供移动端或键盘替代操作。

当底层曲库持续增加时,这种分层能让同一份数据服务于完全不同的玩法,也让规则调整不必反复改动页面组件。

小结#

“谁是老资历?”把发布时间变成连续的相对判断;“歌曲大排序”把相对判断扩展为完整时间线;“闪耀的 Producer”则把关注点从作品转向创作者。

它们没有要求玩家一次记住大量资料,而是在选择、反馈和复盘中逐渐建立认知。对一个以资料库为基础的小游戏合集来说,这也是数据真正转化为玩法的过程。

项目仓库:LonakoBc/luo-yi-ba
在线试玩:luo-yi-ba.pages.dev

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
用时间与创作者扩展玩法:老资历、歌曲大排序与“闪耀的 Producer”
https://lonako-blog.bocchi0708.workers.dev/posts/post2026-8-8-1/
作者
Lonako
发布于
2026-08-08
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Lonako
Hello, I'm Lonako !
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
站点统计
文章
13
分类
7
标签
35
总字数
19,588
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.3
文章许可
CC BY-NC-SA 4.0