【中文万智牌项目】大学院废墟网站,中文万智单卡信息集中站!

体娱   2024-12-06 02:07   英国  

我的大学同学@大学院制造工人欧琳,或者他的另一个外号煎蛋,过去几年一直在开发这样一个项目:


https://sbwsz.com


网站名为Strong belief will succeed zealously,坚定的信念会带来热忱的成功



我开个打赏,有人愿意赞赏的话我就把钱转交给他


以下是该项目的文字简述:



概述

大家好,我是欧琳的吟颂,大学院废墟的站长,也是当前中文万智牌完整规则的译者。这一年以来可能有不少朋友已经使用过大学院废墟了,但它的功能和数据一直还处于开发迭代中,所以在这之前我一直没有正式介绍过这个项目。现在,大学院废墟的数据已经基本成型,我想是时候向大家介绍一下这个项目了。

简而言之,大学院废墟(https://sbwsz.com)是中文万智牌的完整数据库,包含每一张曾以中文印刷过的万智牌信息和大多数中文牌的卡图。相比于Scryfall等其他卡查网站,大学院废墟的数据更为全面:

高清卡牌图片

在相当长的一段时间内,卫生纸官方数据库Gatherer中提供的卡牌图片分辨率都相当低,只有265x370。自2022年起,卫生纸开始在官网的系列预览页面中提供745x1040分辨率的高清卡图,但大多数卡查并没有利用这些卡图,仍旧使用来自Gatherer的低分辨率卡图。此外,卫生纸有一个称作Hunterer的非公开API,通过这个API能够获得自2017年依夏兰系列以来的高清卡图。大学院废墟整理了这些高清卡图,以取代长期以来流传的低清卡图。

Gatherer从第十版才开始提供中文卡牌的卡图。第十版之前的系列长期以来也流传着一套带水印的中文卡图,它是多年前北京小街牌店和多明尼亚世界扫描完成的,但时至今日清晰度也不能令人满意。2019年,万智烽火的枕妞臂前辈发起了一次整理这些老系列中文卡图的行动并已经基本完成,但因故没有公开。今年我联系到妞大,并受他的委托将这些卡图公开出来,使这些花费心血的工作不至于蒙尘。

秘罗地之前的旧中文卡牌文本补全

在Gatherer中,中文卡牌的数据是从2003年的玄铁系列开始的,大多数数据库也是如此,但中文牌早在1996年便已付印,这些卡牌的文本长期以来没有得到整理和录入。此外,近期系列中也有相当多的中文卡牌缺失,例如凯德海姆之后的系列中的双面牌。大学院废墟收录了这些缺失的文本。

Oracle 文本翻译

Oracle 文本是每一张万智牌的实际规则文本,在规则更新时,Oracle 文本会得到勘误以让旧牌适用于新的规则。官方的 Oracle 文本只提供英文版本,在大多数卡查中查询到的中文文本都只是牌面印刷的文本,它不会随着规则更新而更新,不一定能反映牌张的当前运作规则。大学院废墟将所有卡牌的 Oracle 文本一一翻译,向牌手提供准确的规则文本。

中文 FAQ 整理与翻译

万智牌的每个系列都会提供发布释疑,其中包含了对该系列中机制和卡牌的规则解释说明,俗称 FAQ,与 Oracle 类似地,在规则更新时 FAQ 也会得到更新。中文系列的 FAQ 存在中文版本,但它们普遍都只出现在该系列发布释疑的文档中且不会更新,不一定能反映牌张的当前运作规则。大学院废墟将所有 FAQ 条目一一翻译,帮助牌手理解卡牌的规则。

非中文卡牌翻译

中文牌自1996年第四版开始印刷,在这之前仍有十几个系列没有中文版本;近年来,随着卫生纸产品线的拓展,越来越多的产品不提供中文版本,例如神秘补充包、神秘博士等。《万智牌:竞技场》上线以来,其推出的炼金卡牌也从未有过官方的中文翻译。大学院废墟以营地译名为基础翻译了这些系列的牌名和规则文本,确保每一张卡牌都有中文版本。非官方的译名会被标注为蓝色,以示区别。

对斑隆洛之后停印中文的系列,大学院废墟以 MTGso 公开的翻译文本为数据源。

学院图书馆

https://lib.sbwsz.com

学院图书馆是大学院废墟附带的博客。我在这里更新万智牌完整规则的中文翻译,以及一些其他官网的翻译。在这里你还能找到一些古老的文章。

营火余烬(旅法师营地旧论坛存档)

https://sbwsz.com/iplaymtg

营地在2015年左右从一个论坛转型成了现代化的门户网站,旧的论坛旋即关闭,其中的许多珍贵资料也佚失了。所幸互联网档案馆将旧营地的帖子保存了一部分下来,我存档了这些内容供有需要的朋友查看。

万智牌助手QQ机器人

万智牌助手是一个QQ机器人,提供卡牌查询、规则查询等功能。它使用大学院废墟的数据作为后端,可以查询大学院废墟中的所有卡牌。


开放使用说明

大学院废墟的数据库和卡牌图像向所有人公开,供有需要的开发者使用。它包括两部分:卡图和文本数据。

文本数据库被储存为 SQLite 文件,以 MTGJSON 的数据格式为基础,部分数据格式也继承自 MTGJSON。

中文内容存储在以下几张表中,简要说明如下:

  • zhs:存储每一张中文卡牌。它的结构类似于 MTGJSON 数据库的 cardForeignData 表,但扩展了部分字段。访问 MTGJSON 的文档以获取更多信息。

  • 它通过 uuid 与 MTGJSON 数据库的主表 cards 相关联。

  • atomicZhsNew:存储每一张卡牌的原子化中文数据(包括牌名以及 Oracle 翻译的中文版本)。

  • 它通过 oracleId 与 name 两个字段共同与 cards 表相关联。

  • cardRulingsZhs:存储卡牌的 FAQ 条目。

  • 它通过 hash 字段与 cardRulings 表相关联,需要计算 cardRulings 表中各列文本的 md5 值(且需要将其中的牌名替换为 CARDNAME)来关联两张表。

  • typeTranslations、setTranslations:存储类别名称与系列名称。

卡图数据库与 Scryfall 类似,分为 large、medium 和 small 三种尺寸,文件名统一命名为{SET_CODE}/{SET_CODE}_{NUMBER}.jpg(对于双面牌则是{SET_CODE}/{SET_CODE}_{NUMBER}_{SIDE}.jpg)。

我通过 OneDrive 共享数据,您可以从下面的链接下载:

https://1drv.ms/u/s!AjzXQWtIR0tLwekuE_PXMBXXeZHVQg?e=6Mi6Mg

https://1drv.ms/f/s!AjzXQWtIR0tLsKgaKlJpg0m0XxgTfQ?e=IuBDTL

如对数据的使用有任何疑问,可以通过 QQ 联系我:452198708。

贡献

大学院废墟仍然缺失一些数据,主要是卡牌图片。如果您有意帮助我补充这些卡图,您可以联系我。您可以查看这个页面以了解缺失的卡牌图片:

https://lib.sbwsz.com/misc/missing_cards.html

大学院废墟的翻译项目托管在 ParaTranz。如果您想要贡献翻译,可以申请加入项目。目前还有一些早期系列的背景叙述没有翻译完。

https://paratranz.cn/projects/10112

鸣谢

感谢以下诸位朋友在翻译过程中提供的帮助与贡献:

y12345e、ashausesall、析曜、氢氧化钠、暗鳞、SCP-999、开关、Trent Touch、澪、轻脚、lieyanqzu、Sunchy123、我今天很好

感谢 Scryfall 和 MTGJSON 提供的基础数据库,mbcoguno 存档的旧系列文字卡表,旅法师营地提供的部分旧牌译名。

感谢孩之宝的手下留情,折腾了这么久还没有把万智牌弄死。

感谢万智烽火的志丞(枕妞臂)和李聪将烽火交予我,授权我公开万智烽火扫描的旧系列卡图。

感谢余波、贾秋淼、李永斌、李勇、骆斌为万智烽火提供大套扫描卡图。

感谢亓良川、姜岩、周大素几位前辈在多明尼亚世界论坛时期扫描的卡图,你们是这薪火相传的第一棒。

感谢 MTGCN 翻译组,你们的无私奉献是我开始做这件事情最初的动力。

感谢北京卡豆和 MTGso 接过中文本地化的艰巨工作。

感谢在这个中文万智牌社区最艰难的时刻仍然坚守的每一位创作者和牌手。此后如竟没有炬火,我也不会是唯一的光。

感言

2013年,我刚入坑万智牌。彼时的我时不时就会有疑问:为什么老牌手们时不时就会提起的好多牌,明明有中文,但是卡查上查不到?反击咒语、盖亚的育苗地、野杂种狗、昂扬天使,还有映奇宝珠的余韵,无论是在magiccards.info还是万智风行,我都找不到这些牌的中文版。后来我知道这是因为卫生纸的官方卡查Gatherer就从来没有录入过这些牌,Gatherer中的简体中文牌,是从2003年的玄铁系列开始的。除此之外,还有好多牌压根没有中文版,像是刚出的指挥官2013里那位炫酷主将,大家唤作班特鸟的,我就看不太懂他的异能到底是什么(甚至没看出她的性别)。那时候我就在想,有没有人能做一个万智牌的数据库,把所有万智牌的中文全部收集进来呢?

我当时在用一个叫做万智牌助手的APP,他们的卡牌数据是明文的表格。于是我想着,为什么不我自己来干呢?我发现一个台湾卡牌网站里竟然有这些老牌的数据,于是用上了我当时唯一掌握的技术VBA,在Excel里编写宏打开网页抓取数据,就这么爬了几个老系列的数据,转换成表格,竟然能用。我在贴吧发了一阵这个APP的牌库扩展,但是这个APP本体已经弃更,随着时间推移,更多的功能开始出现问题,我又没有修改APP的技术,只好放弃维护数据。

https://tieba.baidu.com/p/2913776014

一晃到了2019年,我学到了好些新技术,magiccards.info也变成了Scryfall,我期望的数据库是有了。虽然Scryfall继承的仍然是magiccards.info的数据,意味着中文数据仍然是缺失的;但是有了结构化的数据库,至少能做的事情会多一些。恰逢Google发表了一石激起千层浪的那篇论文《Attention is all you need》,开源了他们基于注意力机制的机器翻译模型GNMT。GNMT的代码仓库中宣称,GNMT比之前基于统计机器翻译的模型翻译质量有质的提升,并且可以基于自定义语料训练模型,针对不同的需求定制翻译。

了解到GNMT之后,我停滞了几年的想法又复苏了:也许我能用机器学习把Oracle文本全都翻译一遍?说干就干,我从头开始学机器学习的相关概念,清洗语料,生成数据集,训练模型。但是当时Transformers架构仍然不够成熟,再加上我也不懂机器学习,只会调包,数据集的大小也远远不够,最终这次尝试没有成功。但这也证明了这确实是一条可行的路径,使得我构建万智牌中文数据库的想法更加明确了。

https://weibo.com/1565485737/HkLBlCTy9

这回没过去多久,大概是2021年吧。那时候QQ群有一个叫做MTG Tools的机器人,提供卡查CR查询等一大堆便捷功能,后来QQ群机器人被腾讯杀了一大波,这个机器人也不见了。于是我也用Scryfall的数据搭了个数据库,做了一个卡查机器人。这个机器人运作了好几年,前前后后有几百个QQ群加过,很多朋友应该都用过。

机器人稳定运行了两年,我重拾了构建自己的数据库的想法。营地的卡查此时已经烂到天怒人怨,Scryfall的中文数据始终不全,而MTGso的数据也是基于Scryfall的。我入坑已经这么多年了,当年我心心念念的中文数据库仍然没有做出来吗?现在我已经有这个技术了,那我就自己来吧!

补充数据库中没有的中文老牌并不难,老牌的文字牌表我十年前就找得到,十年后也不是问题。反倒是新系列里各种各样的异画牌和纪念牌Scryfall收录很不全面,很是费了我一番工夫。待我终于收集完这些数据,摆在我面前的下一个问题就是,Oracle文本的翻译。

Oracle文本会随着万智牌规则的更新而更新,但只有英文版本的文本会更新,其他语言是不会的。这也就意味着三万多张牌中的一大半都要重新翻译,人力显然不可能完成这个任务。不过幸好,机器学习的发展日新月异,当年我用GNMT没有干成的事情,现在已经能用GPT完成了。这也为我的数据库送上了最后一块拼图。还是和GNMT差不多的步骤,清洗语料构造数据集,然后喂给GPT微调,GPT生成的翻译就已经有七八成是不用修改直接能用的了。我花上了几个月校对机器翻译的文本,最终,我的数据库里每一张牌的Oracle文本都有了准确的中文翻译。

这才有了今天的大学院废墟。我十年前的夙愿终于得偿,中文万智牌终于有了一个完整的数据库。

只是我没有预料到,这个项目最终完成的这一天,已经没有中文万智牌了。

星云频道
感谢关注星云频道,我们将为您带来最优秀的卡牌游戏资讯和攻略! 您也可以在这里了阅读到大量较低门槛的科普类文章,这些文章收录在“游戏人”-“星云推荐”栏目下。 如果您有想要投稿的文章,请回复“投稿”查阅相关信息