[译]虚无3目前的状况
在虚无世界3.6publish-alpha版发布前(具体时间为2022/3/24),作者Tslat(AKA:Scimiguy)也发表了一篇长篇大论,大致是在阐述AoA3从他接手以后所有的进度和之后的规划。
在此作为对虚无3关注度比较高的国内up之一,我决定还是将这一段话翻译一下,放给大家看。
注:此文仅为对Tslat陈述的翻译,up主本人(tankofpacer)尽可能不带任何自己的评价与情感到翻译之中,仅传达原作者的意思。
原文链接(需科学):https://docs.google.com/document/d/16DkYdYZ6A8QZBw5jh6Is325k1tWHcWuGphwYmLNaJX0/edit
反馈也请到git和curseforge相关界面以及DC上进行反馈!
add:在最后的FAQ中,有大家比较关心的1.16.5版本的内容,已标红。

虚无世界3目前的状态
虚无3近期达到了瓶颈。而虚无3本身计划的更新就很少,因此很多人没有意识到这件事。但对于更多的人来说,“更新很少”是一个摆在眼前的事实,当然,这对于mod的状态很不利,所以,究竟发生了什么?这又是为什么?好吧……说来话长。
虚无3最近怎么样?
简而言之——啥也没有。事实上,在最近的几周甚至几个月里,虚无3做的并不多(或许是指整个团队的工作并不多,译者注)。产生这样的结果有多方面的因素,这也是我想写这篇文章的原因。我觉得尽可能让社区了解AoA以及AoA的开发者们的最新情报非常重要。
为何会走到这一步……
为了能正确阐述我们的立场,回顾一下我们是如何走到这一步的或许很重要。
我最开始拿到AoA的时候,我单纯的只是想为了自己去修复其中的一些烦人的小bug,仅此而已。渐渐地我开始思考:既然我能发现并解决对我来说很烦人的bug,那我不妨问问其他人是不是也遇到了恼人的bug并尝试解决,我应该公开说明这件事,并告诉大家等我修好了bug,大家可以从我这里拿走一份拷贝。
这就是我当初的全部计划了。不过很明显这个计划后来被改写了很多,但这就是我对于AoA的主要目标——修好它。
一段时间后,这个计划演变成了长期维护,但仅针对于改进现有的内容和功能,以及改变游戏流程、改善其游戏性,而非添加新的内容或者其他项目。老实说,情况差不多是这样,但这么说又不够严格。我完全相信,AoA在其现有内容的基础上仍有很大潜力,但暂时不必走的太远。
然而,正因如此,早期的多个版本我都在大量修复积压的问题、改进某些东西,之后直接放出一个大版本(比如1.1,1.2),毕竟批量漏洞修复并不需要进行单独更新——在我看来,做多个版本更迭只是浪费时间。
这种模式趋于稳定,后来就变成了一个版本更新一个内容(技能/世界生成/生物/界面/战利品等),每次对一个内容进行大量检修后发布主要版本。
在相当长的一段时间内,这种模式效果很好。但相当一部分原因是,这些更新仅仅是在摆弄现有的东西,只是在调整代码参数的顺序来让一切运作的更加流畅罢了——即便这些更新总是“看起来很大”并且“很难完成”。
然而,一旦开始牵扯到其他人,事情就变得复杂了。涉及添加全新的内容(物品,方块,生物等等)的更新,需要我提前进行团队的全局协调分配,之后他们干他们的,我干我的。但是在AoA这样一个体量如此之大的模组上,这种模式就出现了很大问题——在所有的计划最终敲定之前,我们需要进行不断的修改,优化,查缺补漏,甚至可能需要在一切都完成之后再进行修改返工。如果只有你一个人在做这些事情,那倒没什么问题,但涉及到做其他事的人的时候麻烦就大了,因为你不能一直更改其他人掌管的事情。
如果只是我自己承受痛苦,那没问题,但要是把这种痛苦强加在其他无辜而善良的人身上,这不公平。
为了解决这个问题,我尝试将更多的更新计划转移到我的个人共享计划文档上来告知其他工作人员,并允许一定程度的回滚和提前。
不幸的是,这并没有解决问题,因为即使我们投入再多,早就打好了预防针,仍然有数不清的无法预料的技术问题。并且那种问题不断出现。
比如,我要制作一个技能,一切准备就绪后,发现因为某种技术原因我所设想的某个技能根本无法实现,最终不得不放弃——要么是我想要实现它的方式太过于注重性能了,要么是Minecraft或者Forge的某些反人类机制(想用forge开发mod真的有太多东西反人类,我就是这么被劝退的,各位千万不要轻易尝试,译者注),要么就是其他的问题。
那么,现在情况如何?
坦白说,整件事从头到尾让我筋疲力尽,我似乎在过度规划所有事并以失败告终。真的,我没有从整个开发过程中享受到一点乐趣因为我觉得我在自己和其他事情上倾注了过多,多到令我不知所措。我知道,其他的AoA开发者们也都有相同的感受,而我因为让其他人觉得开发过程毫无乐趣而觉得更糟了。我一人抗下所有的无聊与讨厌的东西,把快乐的东西留给玩家——在我严重,其他的开发者也是这样。我希望尽自己所能让整个开发过程变得有趣,这样所有人都能玩得开心。
因为这点破事和一些其他原因(其他的开发者也有自己的工作,也需要自己的私人空间),AoA的开发几乎……几乎停滞。我可以为他们的回归继续计划新的技能内容,但也只是计划,没有任何实质行动。我身上背负着名叫“被期待的更新无论如何都要做出来”的重担,但这个担子压得我什么都做不了,很多时候,我在下班后只是盯着电脑屏幕发呆,我没有做任何事的动力。相信大家都能明白,这对AoA非常不利。
但那还不够糟……
更糟的是,上述所有都只是问题的一部分。在我看来,Mojang的更新非常的引人注目。而Minecraft更新中真正吸引人的是新的内容、新的背景、新的底层引擎,而我们正被这样的更新牵着鼻子走。这是件好事也是件坏事。
一方面,Mojang真的在搞大动作,从社区的角度看,我们能玩到很多非常酷的新东西,从开发者角度看,我们能探索使用新的引擎新的逻辑等等。
另一方面,大势所趋,我必须将AoA更新到新版本。
其他mod也会这样,玩家们也会这样,最终,我们走入了一个恶性循环:
我们会找到一个“真正的好版本”(原文 Really Good Version,译者注),之后玩一阵子,之后被牵到下一个版本内,因为那才是“真正的好版本”。这个问题在当下尤为严重,因为新版本的质量一直比旧版本高,与其同时fabric的出现让玩家适应了“在任何时间都能使用最新版游玩”的想法,而非长期满足于游玩旧版。
属于1.6.4/1.7.10/1.12.2已然过去,在那时,至少在相当长的一段时间里,你不必担心任何即将到来的更新。而现在,每一个新版本都会更吸引玩家,我们甚至没有机会在任何一个版本上安定下来。对于一些小型或者模块化的mod来说问题不大,但对于AoA这样的大型mod来说无疑是一个挑战。我们更新要做的事情会更多,且更新会更慢。
这一切意味着,当我开始将AoA移植到新的版本中,甚至可能会有更吸引人的事件在更新的版本中发生,而我迟早也会不得不将AoA移植过去,这彻底打乱了我的计划,当这种事情发生时我头上笼罩着疑惑和担忧的乌云,他告诉我,我所计划的一切都无法完全确定,或许它在下一个版本就会过时,或许它在技术上不可行,或者干脆不起作用罢了。
再加上团队发展这一本身就非常棘手的问题,这很难不让我陷入停滞,我不想继续用毫无意义的行动浪费自己的时间。事实证明,作为一名开发者,这种极端的沮丧情绪完完全全扼杀了我开发的念头。
我想怎么做?
从社区的角度来看,我们的运作方式就是最好的方式,有以下几个原因:
Mod稳定,大家能选择一个出名的,受支持的mc版本运行
省去更新时间,只需要时不时地更新就能得到新的东西
增加内容更新和修复的开发时间,因为我们不需要再移植上花费太多时间
捆绑wiki编辑器,节省了wiki编辑的繁琐流程
然而,它也有一些缺点:
AoA更倾向于跳过中间版本
新版本中根本没有AoA,至少很长一段时间中是这样
更新周期减缓,如果补丁更新中没有修复某个漏洞,那么从长远来看,修复漏洞会成为问题
可能导致更新日志的准确性,导致wiki出问题
更新范围过大或过复杂时,可能导致严重的开发问题
但是,正如上面所说的,这样的开发流程不再适用于我们。企图遵循这一体系导致我们停滞不前,我们却只能停在原地思考到底发生了什么。
是时候做出改变了。
申明
对于本文剩余部分关于要做的改变描述的起头,我必须先承认一件事,之前,我一直尽最大的努力以社区希望的形式做事。我一直以社区需求为决策的第一参考,归根结底,这一切都是为了大家。
然而,有时候我必须做出不符合社区大众下发的决定,因为在决定时,社区大众并不能看到所有事,通常情况下,很少有人了解这些决定对幕后人员(AoA开发者们)的影响。
所以,对。于这种情况,我打出了自私牌。我做了我想做的那个决定。在你们向我掷出愤怒的干草叉之前,我想向你们保证,我做这些决定是为了社区的利益(至少我看来是这样)。
我之所以必须做出这些决定,是因为如果不做出改变,我们将无法脱离目前的停更状态。我们不想停更。
版本移植
我想把版本移植到1.18.2+。并且在后续新版本推出时保持这个势头,前提是版本移植不会占用太多时间。
理由非常简单,如果一个mod在任何版本中都没有稳定版,那它的任何版本……都是毫无意义的。仅在MC当前的主流版本只有一个(比如1.7.10)时,这些版本是有意义的。但现在,随着社区的发展,这些不稳定的东西不过转瞬即逝。AoA需要跟上时代,停留在旧版是可悲的,也无法让我们享受到新版本(此处指的应该是MC新版本,译者注)的五花八门的功能和内容。
这一点也让我非常头疼,因为不移植就意味着我们需要花更多时间来规划何时才能进行移植。这是个很棘手的问题,通常只会导致我浪费过多时间来进行超额的规划。
1.16.5正处于鼎盛期,但这一势头正在迅速褪去,即使1.16.5很棒,人们依旧希望进入1.18+的时代。属于MC的“黄金时代”已经消逝,就目前而言,Mojang不给mod开发者们任何休息的余地。
我必须承认,这样会产生难以预料的后果,但我深知并深信最终结果功大于过
从长远来看,在任何一个小版本上建立一个完善的世界都和棘手,因为“小版本”从出现到被丢进垃圾桶的时间比以前要短得多
版本移植本身需要投入经历,这会大量消耗开发的时间
由于版本的跳跃,wiki的更新也会变得更复杂。
如果以后这个mod会有一个类似1.7.10(Nevermine)或者1.12.2(AoA3.3)一样的稳定版本,我们肯定会考虑在那个版本安定一段时间。
大体上,我希望AoA能顺应MC社区和mod开发的自然流程,即使我们并不乐意像大家的意愿一样马不停蹄地追赶版本。但不幸的是……看看现在的情况吧。
版本更新
我想将AoA的更新周期变得更短、更小,这意味着每次更新不再是对某个领域的批量更新。
我的计划相当简单:更快更多的更新,而不是憋一个大更新出来,我觉得合适了或者我想更新了我就会放出一个版本。这样有一个很大的好处,可以更快的修复bug,同时和其他的重制/更新内容不冲突,并且能更快的为大家提供新版本而不必苦苦等待。
当然,这样的代价是每次更新的内容会变得更少,但生活就是这样。
就目前而言,对于AoA进行大规模大周期的更新已不再可行。如果仅仅是修复一大堆bug而已,这没为什么问题,但一次修改大量mod内容是非常痛苦的,甚至让开发者觉得可怕。我再也不相信这是可持续的mod开发方式,至少目前AoA的发展进度(又名:完全静止)已然证明了这一切。
这也能让AoA的开发者们更加自由,不必为了某一次更新成批制作新的内容,而是更能调整好自己的节奏,一步一步认真来。
最后,关于这一点,我必须指出,这同时意味着更新内容可能不完全和预期相符,并可能需要多次后续更新才能使特定内容达到完善。尽管如此,我认为这能让所有相关人员都满意。
版本编号
事实上我已经在测试版中为这件事操心一段时间了。这不是什么大事,但它会让我们的mod变得更加正式。
由于AoA更新方式的改变,以及版本跳跃的出现,当前的版本号略显拙劣。
如果我发布了1.16.5的补丁更新,但是最新版本在1.18.2,那么版本号应该和最新的mod版本不同吗?这样可能就得在新版本的mod后更新旧版本号的内容,实在是迷惑行为。
为了解决这个问题,我将MC的版本号与mod版本“烤”在了一起,例如,版本不应该是“AoA 3.5”,而是“AoA3.5-1.16.5”
这不是什么突破性的改变,大多数其他mod已经做到了这一点(理由充分)。所以更现实地说,我们在顺应时代。
不过,另一个很重要的一点,比如,在1.16.5和1.18.2上可能都有3.5.5版本,但这些版本可能包含不同的内容/更新,因此在wiki上使用包含MC版本的完整版本号来区分不同版本非常重要。
更新内容
我想改善我们曾今的更新方式。之前,我们一直在挑选mod的某个领域,把所有更新重点放在上面,更新并改进它,之后发布。
这种方式在当时或多或少起了作用。
现在我们越来越关注AoA的内容更新,那这就变成了麻烦。AoA的不同内容紧密交织在一起——这是件好事。技能和战利品机制都和不同的维度和怪物相关,反之亦然。这让一切都变得更加引人且实用,大大减少了孤立的内容。我不想改变这一点。而AoA强大的内聚变成了一道不可逾越的障碍,想要更新一方面,就必须连带上另一方面的更新。当我尝试同时进行大规模更新时,就会导致以下三种情况之一的发生:
第一,“半成品”更新,所有东西都只做了一半,之后需要一点一点慢慢修复。
第二,把所有东西都改完后再集成大规模更新,这样更新会变得非常慢。
第三,打破这种“内聚”,只更新割裂的每个部分,但这样的成品并不完美。
(就像你想要一个蛋糕,你不想拿到一个半生不熟的蛋糕,想要等一个完美的蛋糕出炉又会花太多时间,这时候有人给了你面包,然后是奶油,然后是水果,但是你想要的是蛋糕,不是这当中的任何一个,译者注)
不管是上述三种哪一种都非常糟糕,因此我想尽可能避免这种事。
为了做到这一点,我想停止以某个区域为中心的更新,而是专注于通用更新。与其挑选更新内容,不如……呃……“技能”和与之相关的内容,或许我会选出一个技能并对其进行深入研究,之后将任何与其相关的东西比如维度、生物等其他内容一起更新出来。
这意味着后续的更新可能看起来不是围绕某项内容展开的——因为我可以先更新一项技能,再更新一些怪物,然后是世界生成,然后又是一项技能,等等等等。
但这意味着我可以将所有事情联系在一起,让我的工作变得更加顺利,而不必操心上面提到的任何问题。
担忧
显然,这样的变化会引起大家的担忧,我甚是理解,并非常乐意讨论并接受你们的反馈,并尝试调整一切我能调整的,以解除大家的疑虑。
归根结底,我一直以来的首要目标都是,尽我所能,为你们,为整个社区做出最好的内容。尽管这当中某些改动看起来会适得其反,但我保证,为了你们的利益,我是出于善意做出改动的。
一方面是要跟随MC版本、模组开发进度和社区标准,一方面是要从总体上简化AoA的开发,另一方面是要减轻所有的所有为开发者们带来的压力。
即便停了这么多之后你还是对我所做的一切都不满意我也完全能理解,你有权利去不满。
请放心,我在这方面花费了很多心思,我确信这些变化对mod开发以及社区可持续发展是必要的。
非常欢迎大家向我发泄不满,我很乐意与你们讨论!
FAQ
结束前,我会做一个快速的FAQ环节,希望能解决大家的某些疑问。
Q:这是否意味着AoA将把所有时间花在版本移植上,而不是更新内容?以前就是这样。
A:从过去来看确实是这样,然而,随着更新的组合变得更加流畅,AoA的代码也会逐渐扎实,这种问题将不复存在。
Q:这是否意味着你厌倦了AoA的开发?
A:不!我仍然对其感兴趣。任何开发过程都会时不时地让人觉得枯燥,但那不是问题,我们总能找到让自己更快乐,工作更高效的方法。
Q:这是FAQ中的第三个问题吗?
A:是的!数的不错。
Q:原计划中的技能更新会发生什么?
A:差不多是被砍掉了。我们不会抛弃这些技能,它们会继续更新,但“技能更新版本”将不复存在,且不会出现在1.16.5中。我会发布一个稳定的AoA 1.16.5版本的publishalpha版本,包含目前版本的所有技能内容。
译者注:关于这个问题,有必要放一下原文
Q: What’s going to happen with the skill update?
A: It’s more or less being chopped off. I’m not giving up on the skills, they’ll continue to be updated, but it won’t be as one big ‘skill update’, and it won’t be in 1.16.5. I will do a public alpha release of a stable 1.16.5 build of AoA however with the current skill content included
也就是,1.16.5的其他技能几乎没可能实装了,就算继续做,大概率也是其他内容。
Q:你们会抛弃所有老牌主流版本的AoA吗?
A:不,在可能的情况下,我们会继续为1.16.5的AoA发布布丁版本,但它将不再是我们开发的重点,非主流版本只有在重大问题修复处理时才会进行更新。
Q:那么1.18.2的AoA到底怎么样了?
A:1.18.2的移植已近在进行并会在一周左右后完成(此文发布于2022/3/24)。然而,AoA的部分内容依旧是从1.7.10残存至今的,或许会有些情况让这些老古董出问题,那是DC上的其中一个讨论内容。
The End
他们从此过上了幸福快乐的日子……
这件事已经困扰我很久了,我花了很长的时间来想一个解决方法,以及如何处理未来的AoA。我跟很多人谈论过这件事,包括社区内的成员以及其他AoA开发者。并非所有人都同意这样的举措,但我相信,这是延长mod寿命的最佳途径,即使这并不一定理想
你觉得呢?
来吧,到DC上把你的想法丢给我!

原文链接:https://docs.google.com/document/d/16DkYdYZ6A8QZBw5jh6Is325k1tWHcWuGphwYmLNaJX0/edit
对于虚无3的后续更新,up的态度还是视频里那句话:我对此抱有期待,但也只是期待罢了。
另:原版更新真的太快了,大型mod开发完完全全被劝退