踏步与前进 您所在的位置:网站首页 optifine版本区别 踏步与前进

踏步与前进

2024-07-01 12:40| 来源: 网络整理| 查看: 265

第二期,一些问题的解答

观前声明:本文主要讨论Forge和Fabric代表的理念,部分细节未经考证,可能与实际不一致,敬请谅解。如有发现,可在评论区指出,但请勿人身攻击。

背景

以下是对Minecraft、Forge、Fabric等历史发展的说明,如了解可跳转至“理念”一节。

Minecraft:Java版(以下简称MC,本文不讨论基岩版)作为一款沙盒游戏,具有极高的自由度,因此广受世界各地玩家喜爱。有些人不满足于原版的游戏内容,开发了mod加载器,可以借助mod修改原版游戏,或添加更多内容。由于不同加载器之间通常相互不兼容,多数加载器相继淘汰。目前主流的mod加载器有3个:Forge、Fabric、Quilt。由于Quilt尚处于测试阶段,而且暂未与Fabric存在明显差异化发展,本文不讨论Quilt。

历史

Forge作为老牌mod加载器,很早就已出现,官网的最早正式版适用于MC 1.1。Forge较为大型,本体包含了加载器、mod列表显示功能和大量API。1.13开发时,扁平化使MC代码大量重写,Forge难以及时更新,直到1.13.2才完成正式版更新。与此同时,一大批新的轻量级mod加载器涌现出来,其中Fabric经受了历史的考验,发展至今。

生态

在Forge一家独大的时代,MC出现了很多优秀的老牌mod,也造就了1.7.10和1.12.2的辉煌。这时,具有优化、光影、连接纹理、自定义实体模型等功能的OptiFine出现。早期OptiFine既可以安装在原版上,又可以作为Forge mod加载,出现在几乎每个整合包中(虽然其实条款不允许)。

1.14后,Fabric正式版发布。1.16后,Fabric与Forge出现明显竞争,出现了Fabric专属mod,很多辅助类mod(如投影)转为基于Fabric,一些经典mod(如机械动力、暮色森林)发布Fabric版,OptiFine也出现了几乎完美的替代,由钠、Iris、Continuity等mod实现。

理念

Forge生态的主要特点是“大型”和“封闭”。Forge本体就包含了加载mod、大量API、mod列表、修复部分游戏bug/特性(如蘑菇破末地门框架)的功能。其中修复游戏bug的功能无法关闭,也无法配置。Forge的本意是避免bug影响正常游玩,然而有些bug被生电视为特性加以利用,而Forge并没有提供是否修复的选项。Forge使用的MCP反混淆的条款很严格,导致Rift最终因版权问题而失败。这两点也能从OptiFine看出(虽然OptiFine与两个加载器兼容性均不令人满意,但与Forge相对较好),OptiFine是一个大型闭源mod(如果可以算作mod)。

相反,Fabric的理念是“模块化”和“开放”。Fabric官方只提供分开的加载器和API,其他部分均由社区提供。Fabric使用的Yarn反混淆使用CC-0条款发布,相当于公有领域,远比MCP的条款开放。Fabric mod大多较为模块化,将不同部分分成多个mod,或在单个mod中提供各功能的配置选项。以Carpet为例,Carpet提供了类似Forge的修复bug功能,然而Carpet支持配置是否修复,而Forge不支持。这向玩家提供了选择的自由。再如OptiFine的替代mod,各项功能分别由不同mod实现,玩家可自行决定使用其中哪些功能,而且各mod均开源,利于社区维护发展。

比较

可以看出,Fabric的理念明显比Forge更加先进。面对MC版本更新,由于Fabric生态的模块化,各模块可以分别及时更新后发布,无须等到全部更新后再发布,而且各模块可通过抽象接口联系,使得部分模块可能不需要更新,从而使得Fabric本体和mod通常均比Forge更新快,也使得Fabric mod比Forge更容易实现多版本支持。有些Fabric 1.18.2的mod在1.19.2仍然可用,而这在Forge几乎不可能。

开源和社区的力量也不可低估。以Iris为例,凭借开源的优势,Iris广受社区支持,陆续实现光追、PBR贴图等功能,大有取代OptiFine光影加载的趋势,而且已开始研发独有功能,未来或将超越OptiFine。另外,由于其开源优势,很多mod主动兼容Iris,而对于闭源的OptiFine来说,这完全不可能实现。得益于社区的力量,Iris对新版的支持也明显快于OptiFine。

一种观点认为:Fabric不支持旧版MC,因此无法取代Forge。然而实际上,Forge的版本断层现象正是其缺陷的体现。没有人希望MC成为过时游戏,也确实持续不断地有新玩家加入MC。而让新玩家玩旧版显然不合理,也不可能让新资源特意支持旧版,一切资源优先支持最新版。随着MC更新,新版和固定的旧版差异会越来越大,停在旧版的玩家会逐渐变成“云玩家”,一个典型的例子是1.7.10的现状,或导致原版/类原版MC和玩法类mod的基础变得完全不同。因此,唯一合理的做法就是持续跟进新版。而在跟进新版这一点上,Forge显然不如Fabric。

还有一种观点认为:Fabric作为轻量化的加载器,不适合开发大型mod。然而机械动力的成功就可以推翻这一观点。诚然,Fabric本体提供的API比Forge少很多,但Fabric社区提供了各类API,如果缺少相关的API,那么这正是为Fabric生态贡献的机会。没有什么功能,Forge能实现,而Fabric无法实现。

从以上可以看出,Fabric理念上远比Forge更加先进。然而,由于历史原因,很多过去的mod基于Forge开发,转移到Fabric需要大量时间和精力。然而,为此付出时间和精力是值得的。转移到Fabric能够更好地融入新生态,而不是使玩家被迫脱离主流版本。

综上所述,如果不是为了某个特定的旧mod,那么完全没有选择Forge的理由,对于mod加载器,唯一的选择就是Fabric。新mod开发应当毫无疑问选择Fabric,而旧mod也建议逐步移动到Fabric。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有