异星工厂吧 关注:58,498贴子:349,240
  • 13回复贴,共1

我有一个不成熟的想法

取消只看楼主收藏回复

后期卡的一种优化方案,这个方案很简单,就是把一个大模块的计算,变成一个配方的计算。图中是chatgpt的经典夸夸认可,专业的大佬可以随意评价。


IP属地:江西来自Android客户端1楼2023-04-04 13:58回复
    这个想法有点类似封装的思想,因为工厂很多规划思想跟计算机的相关思想很类似。具体来说,我们后期的玩法很多情况下就是模块的拓展,而我们玩家设计的很多蓝图模块都非常优秀,保证输入的情况下,输出是稳定的,ok那么我们现在只考虑输入输出都是稳定的情况。


    IP属地:江西来自Android客户端2楼2023-04-04 14:01
    收起回复
      那么我们假定这个输入输出的稳定是以10分钟为单位,那么我们可以以十分钟为单位,计算出这个模块的平均输入输出,那么就得到了这个模块的"配方",于是我们暂停这个模块内部的实时运算,转而用这个生成的"配方",这样就能把一个模块的运算量减少到一个配方的运算量。那么基本思想就是这样


      IP属地:江西来自Android客户端4楼2023-04-04 14:05
      回复
        当然里面有些坑我会进行一些补充,比如,既然暂停了实时运算,那么我们在游戏中就会看到这个模块一动不动。那么我的想法是这样,我们在玩家不看这个模块超过1分钟后,将这个模块的实时运算暂停,启用这个模块的"配方",当玩家再看到这个模块时,则暂停配方,启用实时运算,反正玩家也不知道一分钟后模块是啥样,所以通常来说应该不影响正常游戏体验。


        IP属地:江西来自Android客户端5楼2023-04-04 14:11
        回复
          当然,这个模块是由玩家在游戏中自己框选的,这样能保证玩家自己知道哪些地方被"优化"了


          IP属地:江西来自Android客户端6楼2023-04-04 14:16
          回复
            不稳定的情况暂时不考虑。因为玩家可以自行选择稳定的模块进行"优化"。


            IP属地:江西来自Android客户端7楼2023-04-04 14:17
            回复
              希望有专业的人可以聊聊里面的问题。想法可行,但能不能通过mod实现我就不知道了。


              IP属地:江西来自Android客户端8楼2023-04-04 14:20
              回复
                我说了不是封装,不是编程面向对象的封装,我也不完全是外行。我说的是单纯的测试整个模块的输入输出部分,计算出稳定"配方",然后让模块内部暂停实时运行,启用稳定"配方",至于如何暂停,方法很多,最简单的就是直接停电整个模块。如何模拟配方我用永续箱加传送带用原版电路就能实现,你觉得mod会不能实现吗。


                IP属地:江西来自Android客户端18楼2023-04-04 19:00
                回复
                  举一个简单例子,我们现在有一个900/min的铁板冶炼模块,通过10分钟测试算出这个 铁板冶炼模块 的"配方"为 原料900铁矿,产物900铁板,时间60s。于是在玩家看不到了之后,我直接通过电闸断电,然后电力接口消耗为这个模块的正常消耗,通过永续箱和电路来模拟这个配方,输入的永续箱检测到输入了900个铁矿,60s后,则输出的永续箱输出900个铁板,且内部可缓存1800个铁矿。


                  IP属地:江西来自Android客户端19楼2023-04-04 19:12
                  回复
                    由上述例子可见,从实现层面上,完全不需要考虑内部是怎么运行的,只管输入输出就行了。


                    IP属地:江西来自Android客户端20楼2023-04-04 19:15
                    回复
                      做了个简易计算1分钟的配方的电路




                      IP属地:江西来自Android客户端21楼2023-04-04 20:15
                      回复
                        接下来永续箱只需要根据这个数据来控制对应的传送带开启就好了,原版完全可以实现这个逻辑。


                        IP属地:江西来自Android客户端22楼2023-04-04 20:16
                        回复
                          1.定义靠玩家确实是游戏的大忌没错,但是既然要进行这个优化了,玩家是通常是自愿遵守游戏规则的,这只能算一个工具,不能算游戏内容。
                          2,何时拆装在前面已经说明了,而且不要用编程的封装思想,这里说的完全不是编程那个意思,所有不确定的因素导向的结果只有模块内部是否发生了变化,不然这个模块就要一个黑盒子
                          3我后面发了几张图不知道你看没看,这个逻辑在游戏内原版电路控制就能实现。要考虑的因素实际上并不多,因为这些因素导向的结果通常都是一致的。


                          IP属地:江西来自Android客户端24楼2023-04-05 00:37
                          收起回复
                            对于这个输入不稳定什么的我再解释一遍,这是一个"配方",什么是配方,配方就是输入原料满足后,经过配方的时间,输出产物。配方没有输入还能虚空生产么。


                            IP属地:江西来自Android客户端26楼2023-04-05 12:25
                            收起回复