"Get rid of computer performance and enjoy the ultimate technology!" —— Promethium Tech Pack Spaceship
“摆脱电脑性能,畅享终极科技!” —— 黑瓶飞船
翻到下面以查看中文介绍
Mod introduction
Mod effect
- The p-value (i.e. the multiplier of this ship being simulated) is determined by the quality of the ship's center pivot
- When the airship requests x cargoes from the ground, the ground launches px cargoes and the airship receives x cargoes.
- When the ground requests x cargo from the ship, the ship launches x cargo and the ground receives px cargo
What does it do?
This mod is designed to optimize game lag issues caused by multiple ships of the same function running at the same time (common in late game when making engineering bases and promethium tech packs). If each of your ships is a different function, then it probably won't affect you much; if you like copying and pasting ships together, then it's perfect for you!
Assuming that capacity and capacity remain the same, if a single ship can serve the function of several previous ships, then you can reduce the number of ships, which in turn will have the effect of improving the ups. This is especially true of ships that make promethium tech packs, which generate a lot of astroliths as they fly around the shattered edge, resulting in a sharp drop in ups. Even if you only have one of these ships, with this mod your xenomorph egg consumption, quantum processor consumption, and black vial output will all be p times what they were before, and less time spent running on the Broken Edge will also mean higher ups. so this mod is suitable for any late-stage archive - even if you don't have a ship with the same functionality.
Is it part of a cheat mod?
One might ask if it is possible to reduce the number of star rocks and add multiples of them to the grapple arm after capture, if only to solve the lag caused by too many star rocks? I've thought about this, but I think it would be easy to implement, but not as “balanced”. For example, if the number of star rocks decreases, should the blood level of the star rocks also be multiplied? If the ship uses a lot of blaster rockets with the increased blood, should the damage of the blaster rockets be doubled? I think its hard to achieve the same experience as the original.
Instead, the mod essentially assumes that there are several ships that are in the exact same state at any given moment, except that you can only see one of them, and the others are “hidden”. That's one of the reasons I wrote this mod, it doesn't affect any part of the game other than the cargo interaction, and I can say it's completely “balanced” without any cheating. The only cheat is that it pretends to increase your computer's configuration :)
How it works
How the multiplier is calculated
The simulation multiplier p is related to the quality of the platform's hub (and arguably the quality of the platform's starter pack).
Hub quality | Quality level | Simulation multiplier |
---|---|---|
normal | 0 | 1 |
uncommon | 1 | 2 |
rare | 2 | 3 |
epic | 3 | 4 |
legendary | 5 | 5 |
The reason why the analog multiplier for the Legendary Space Platform Hub isn't 6x is because I found 6x to be too hard to use and a pain in the ass when calculating requirements.
If you're interested, the actual formula used is:
p = 1 + math.celi(Space Platform Hub quality level x 0.79)
This way, it's also compatible with some extended quality mods.
Ground => Space
Cargo will go through the following steps to get from ground to space:
- the ship requests x cargo from the ground (In practice, mod automatically generates a dynamic logistics group to ensure that the request count of items are correct.)
- the ground receives the ship's request and learns that the ship needs px cargoes
- the ground transports px cargoes upwards, but each rocket deducts p-1/p cargoes during the transportation ( rounded upwards! )
- the ship finally receives x cargo
You will no doubt notice that the processing in step 3 is the trickiest, especially in the following cases: * What about individual rockets with cargoes that are not a multiple of p? * What about cargoes with very small rocket loads (e.g. a rocket load of 1)?
Don't worry, this mod provides a cache cargo area (which is invisible) for such cases.
In simple terms, the excess deduction is added to the cache area and attempts to attach to the next rocket that transports the same cargo.
For example if a single rocket load is 100 and p=3, then: * the first rocket deducts 67 cargo, 1 cargo is added to the cache, and the ship receives 33 cargoes * The second rocket deducts 67 cargo, 1 cargo is added to the cache, and the ship receives 33 cargoes. * Third rocket deducts 66 cargo, 2 cargoes are removed from cache, ship receives 34 cargoes.
For very low rocket loads, the same logic applies and will not be repeated here. For example, if the individual rocket load is 1 and p=3, then the first two rockets are “empty” and the third rocket contains 1 cargo.
Space => Ground
The cargo travels from space to the ground in the following steps:
- the ground requests x number of cargoes from the spacecraft
- the spacecraft receives the request from the ground and learns that the ground needs x number of cargoes
- the ship drops p rockets, each containing x cargo, but the ship only loses x cargo, not px
- the ground finally receives px cargo
You'll no doubt notice that step 3 directly drops p times more cargo than the number requested by the ground.
This is the better solution I got after discussing with BAYUNZIYUE. For the higher quality of space platform hubs, it is better for it to drop several times the number of goods directly instead of returning some of the goods back again, etc. In fact, you can absolutely use a normal quality Space Platform Hub to transport some of the more precious items for precise drop.
There is also the rare case of “Cannot create rocket due to insufficient expansion hubs” in step 3, where the cargo that should have been dropped downwards is returned to the cargo bay. You should build as many docking stations as possible to avoid this.
How to use it
If you've already seen how the multiplier is calculated, then you'll definitely want to upgrade the quality of the Space Platform Hub.
Unfortunately, there is no way to upgrade the hubs in the original game (they don't fit in the green map, and copying and pasting doesn't work either). But this is great for this mod, there is no way to change the quality of the hubs and have the equivalent cargo of the ship increase or decrease out of nowhere. This proves once again that the mod is “balanced”, doesn't it?
Back to the point, in case you can't upgrade your hubs, you need to make new ships with high quality starter packs. A new problem arises: it's very difficult to change the quality of space platform hubs in the blueprints (especially if the hubs are heavily wired).
To solve this problem, I added a button to the bottom right toolbar for modifying the quality of space platform hubs.
- When holding a blueprint, left-clicking on this button will increase the quality of the space platform hubs within the blueprint.
- Right clicking on this button while holding a blueprint lowers the quality of the Space Platform Hub within the blueprint.
Lastly, if you have any comments or suggestions, let me know in Discussion!
Acknowledgments
- Special thanks to BAYUNZIYUE. The initial idea of this mod came entirely from him, and I was only responsible for writing the specific logic. Meanwhile, we found a series of problems during the use of the mod, and discussed many times whether there is a better solution for improvement. Without him, this mod would not be possible.
- Special thanks to plexpt, who told me to go to the forums for help when I was troubled by rocket launches. This was a very important node, and it was only by going to the forums that I realized how to write the code for the rocket launcher.
- Special thanks to tanvec, who helped me with the documentation and showed me where to start modifying the dynamic logistics group, and provided some help on whether the blueprints were modifiable.
- Special thanks to the BlueprintSignals project, which taught me how to build the buttons in the bottom right corner that handle blueprints.
- Special thanks to PHIDIAS, who provided some code examples for reference in terms of whether blueprints are modifiable and how they should be modified.
- Special thanks to everyone who used my mod, and to all the players who made suggestions!
模组简介
模组效果
- p值(即这艘飞船被模拟的倍数)由飞船中心枢纽的品质决定
- 飞船向地面请求x个货物时,地面发射px个货物,飞船收到x个货物
- 地面向飞船请求x个货物时,飞船投放x个货物,地面收到px个货物
它有什么作用?
这个模组是为了优化多艘相同功能飞船同时运行而导致的游戏卡顿问题(常见于游戏后期制作工程基座、钷素科技包时)。如果你的每艘船都是不同功能,那它可能对你影响不大;如果你喜欢将飞船复制粘贴,那它非常适合你!
假定产能、运力不变,如果一艘飞船就能担任之前数艘飞船的职能,那么就可以减少飞船数目,进而达到改善ups的效果。尤其是制作钷素科技包的飞船,它们在破碎边缘飞行时会生成大量星岩,从而导致ups急剧下降。即使你只有一艘这样的飞船,有了这个模组,你的异虫卵消耗、量子处理器消耗、黑瓶产出都会变为之前的p倍,更少时间在破碎边缘运行同样意味着更高的ups。所以这个模组适合任何后期的存档——即使你没有相同功能的飞船。
它属于作弊模组吗?
有人可能会问,如果仅仅为了解决星岩过多而导致的卡顿,能不能减少星岩数目,抓到之后再向抓取臂添加数倍星岩?我也想过这个问题,但是我觉得实现它很简单,但是没有那么“平衡”。比如说,星岩数目减少,那么星岩的血量是否也应变为数倍?增加血量的前提下,如果飞船用了大量的爆破火箭弹,爆破火箭弹的伤害是否要翻倍?我认为它很难达到和原版一样的体验。
而这个模组本质上是假设有数个飞船,它们在任何时刻状态都是完全相同的,只不过你只能看到其中一艘,另外的飞船都被“隐藏”了。这也是我编写这个模组的原因之一,它不会影响除天地货物交互以外的任何部分,我可以说它是完全“平衡”的,没有任何作弊成分。唯一作弊的部分可能是它假装提高了你的电脑配置:)
工作原理
倍率的计算方式
模拟倍率p与太空平台枢纽的品质有关(也可以说与太空平台启动包的品质有关)。
枢纽品质 | 品质等级 | 模拟倍率 |
---|---|---|
普通 | 0 | 1 |
精良 | 1 | 2 |
稀有 | 2 | 3 |
史诗 | 3 | 4 |
传说 | 5 | 5 |
之所以传说太空平台枢纽的模拟倍率不是6倍,是因为我发现6倍太难用了,在计算需求时很麻烦。
如果你感兴趣的话,实际使用的计算公式为:
p = 1 + math.celi(太空平台枢纽品质等级 x 0.79)
这样,它也能兼容一些扩展品质的模组。
地面 => 太空
货物从地面到太空将经历如下几个步骤:
- 飞船向地面请求x个货物(实际上,MOD会自动生成一个动态的物流编组以确保请求的货物数目是正确的)
- 地面收到飞船的请求信号,得知飞船需要px个货物
- 地面向上运输px个货物,但运输过程中每个火箭都会扣除p-1/p的货物(向上取整!)
- 飞船最终收到x个货物
你肯定会注意到,步骤3的处理是最棘手的,尤其是以下情况:
- 单个火箭的货物不是p的倍数怎么办?
- 火箭载荷极小的货物(例如火箭载荷为1)怎么办?
不用担心,这个模组提供了一个缓存货物的区域(它是不可见的),用于应对这种情况。
简单来讲,多扣除的部分会添加到缓存区,并尝试附加到下一个运输相同货物的火箭中。
例如单个火箭载荷为100,p=3,那么:
- 第一发火箭扣除67个货物,缓存区添加1个货物,飞船收到33个货物
- 第二发火箭扣除67个货物,缓存区添加1个货物,飞船收到33个货物
- 第三发火箭扣除66个货物,缓存区移除2个货物,飞船收到34个货物
对于火箭载荷极低的情况,也是同样的处理逻辑,在此不再赘述。例如单个火箭载荷为1,p=3,那么前两发火箭都为“空火箭”,第三发火箭包含1个货物。
太空 => 地面
货物从太空到地面将经历如下几个步骤:
- 地面向飞船请求x个货物
- 飞船收到地面的请求信号,得知地面需要x个货物
- 飞船向下投放p个火箭,每个火箭包含x个货物,但飞船只会损失x个货物,而非px个
- 地面最终收到px个货物
你肯定会注意到,步骤3直接投放了p倍的货物,而非地面请求的数目。
这是我与BAYUNZIYUE讨论后得到的较好的解决方案。对于太空平台枢纽品质较高的情况下,它最好直接投放数倍的货物,而非将部分货物再返还等方式。实际上,你完全可以使用普通品质的太空平台枢纽,来运输一些较为珍贵的物品,以精确投放。
还有一点就是步骤3可能出现“因扩展接驳站不足而无法创建火箭”的极少有的特殊情况,此时本应向下投放的货物会返还到货仓。你应该建造尽可能多的扩展接驳站以避免此类情形。
如何使用
如果你已经看完倍率的计算方式,那么你一定想将升级太空平台枢纽的品质。
很遗憾,原版游戏没有升级枢纽的方法(枢纽无法放入绿图,复制粘贴也不行)。但这对于这个模组来讲实在是太棒了,不会出现枢纽品质变化而导致飞船的等效货物凭空增多或减少的情况。这再一次证明了这个模组很“平衡”,不是吗?
回归正题,在无法升级枢纽的情况下,你需要用高品质启动包制作新的飞船。此时又出现了新的问题:蓝图中的太空平台枢纽品质很难更换(尤其是枢纽大量连线的情况下)。
为了解决这个问题,我在右下角工具栏加了一个按钮,用于修改太空平台枢纽的品质。
- 手持蓝图时,左键点击该按钮可以提高蓝图内太空平台枢纽的品质。
- 手持蓝图时,右键点击该按钮可以降低蓝图内太空平台枢纽的品质。
最后,如果你有任何意见或建议,欢迎在讨论区告诉我!
致谢
- 特别感谢BAYUNZIYUE。这个模组最初的构思完全来源于他,我只是负责编写具体逻辑。同时,在模组使用过程中我们发现了一系列问题,并多次讨论是否有更好的改进方案。可以说,没有他就没有这个模组。
- 特别感谢plexpt。在我被火箭发射困扰的时候,他告诉我可以去论坛寻求帮助。这是很重要的节点,去论坛查阅相关资料我才明白了火箭发射的代码应该如何编写。
- 特别感谢tanvec。他帮助我查阅文档,指明动态物流编组应该从哪里开始修改,并对蓝图是否可修改提供了一些帮助。
- 特别感谢BlueprintSignals项目,它教会了我如何在右下角构建处理蓝图的按钮。
- 特别感谢PHIDIAS。在蓝图是否可修改、应该如何修改的方面,他提供了一些代码示例作为参考。
- 特别感谢使用我模组的每一位玩家,以及所有提出建议的玩家!