BoxCatTeam / SRCat

Honkai: Star Rail Toolbox | 崩坏:星穹铁道工具箱
https://srcat.boxcat.org
MIT License
176 stars 7 forks source link

要考虑一起制定一个星穹铁道通用抽卡格式吗? #5

Closed LaoshuBaby closed 1 year ago

LaoshuBaby commented 1 year ago

星穹铁道的抽卡抓包和原神的返回比较类似,感觉可以套用在原神抽卡交换格式上的经验,指定类似UIGF的UIGSR(或者其他名字!可以再议!)的交换格式,希望能趁相关工具还不多的时候团结一心联合起来!

目前星穹铁道还没出现paimon.moe这样的pompom.moe之类的东西(哦不,已经有了,pom-pom.moe),希望这次能制定一个让全世界各地工具开发者都用得上的格式(毕竟原神的交换格式基本上就分成了paimon.moe和UIGF两套)

为了避免在每个项目中都引用一遍对太多开发者造成打扰,我把目前所有使用了的项目全都记录在 https://github.com/LaoshuBaby/HSR-UIG/issues/1 中了

bakaomg commented 1 year ago

可以有(

LemonPrefect commented 1 year ago

@LaoshuBaby @bakaomg 如果需要一个统一的“文件结构”,推荐采用 protobuf 等基于二进制的包含结构的可序列化的不易直接读取数据形式。 这类形式对于程序来说足够简单好用,传输起来足够方便,且比 JSON 开销小。 除此之外,其不易伪造,可以一定程度上避免对数据的直接修改导致的 parse 失败,而且能够支持 JSON 无法支持的数据结构。 最重要的是,他可以做数据版本控制,新旧版本的数据只需要改动模型就能兼容读取,而 JSON 变更字段则只能全部重新 parse。 这些点更符合“数据交换”文件所需要的条件。 另:不建议兼容任何 Microsoft Excel Workbook 格式,因为他本来就不是用来干这个的,程序 parse 起来常常十分费劲。

关于 protobuf 的更多细节,详阅:https://protobuf.dev/

LaoshuBaby commented 1 year ago

如果需要一个统一的“文件结构”,推荐采用 protobuf 等基于二进制的包含结构的可序列化的不易直接读取数据形式。 这类形式对于程序来说足够简单好用,传输起来足够方便,且比 JSON 开销小。 除此之外,其不易伪造,可以一定程度上避免对数据的直接修改导致的 parse 失败,而且能够支持 JSON 无法支持的数据结构。 最重要的是,他可以做数据版本控制,新旧版本的数据只需要改动模型就能兼容读取,而 JSON 变更字段则只能全部重新 parse。 这些点更符合“数据交换”文件所需要的条件。 另:不建议兼容任何 Microsoft Excel Workbook 格式,因为他本来就不是用来干这个的,程序 parse 起来常常十分费劲。

关于 protobuf 的更多细节,详阅:https://protobuf.dev/

!居然被回复了捏

(不过我原来那个issue已经转给UIGF做discussion了,接下来的讨论应该还是UIGF主持,毕竟有UIGF和UIAF的先例,搞统一标准会更有帮助一些)

说起来我也不是第一次试着去设计一种标准了,但是最后要做到既能简单方便的各种软件各种语言读写,同时不丧失人应急情况下直接拿文本编辑器阅读的可能性,还常见——就只有json和xml这俩古董——那一般最终都要塌缩成json的。目前的UIGF也是用的json。

不过对未来综合原神和星铁两个游戏的新结构的尝试——欢迎去discussion评论捏!https://github.com/orgs/UIGF-org/discussions/7

而xlsx——拜托,搞程序(尤其是搞开放标准)的谁会拿这玩意做交换格式啊,用纯csv都不用xlsx(乐)

TremblingMoeNew commented 1 year ago

~而xlsx——拜托,搞程序(尤其是搞开放标准)的谁会拿这玩意做交换格式啊,用纯csv都不用xlsx(乐)~

你再骂(恼

UIGF一开始差点只有xlsx规范.jpg

bakaomg commented 1 year ago

SRGF v1.0 出来了,而且已经进行适配,这个 issue 就关了(