Table of contents
Open Table of contents
02-24-2025
- 开新的生产线
- 轻质框架
- 轻油 重油
- 润滑油 + 内燃机 -> 电动机
- 之前的生产线可能需要根据计算来扩展
2025-02-05
之后需要的电和污染,瓶子都是线性增加的, 所以需要解决这些问题
虫子太多了(解决污染)
- 节能插件能降低1/5污染(主要就是采矿机10/m, 其他的是3-4/m), 一个采矿机需要2个节能插件, 搞个节能插件的生产线来解决这个问题
- 当下先搞防御,有空可以发展下军事
- 可以多搞点子弹
- 目前先用墙壁和炮塔来防御
新科技需要发展新的线路(解决电的问题)
- 离心机和核能之类的
- 比如混凝土啥的
- 铁棒啥的就拉跟小线 搬来搬去就行
蓝瓶需要扩容(科技发展)
- 可以先扩容一倍
January 16, 2025
设计思路
异星工厂的玩法是什么?
效率
目标是什么?
尽快的发展科技树来达到最终的目标—发射火箭
所以效率高== 如何提高科技树推进的速度
如何推动科技树呢? 需要用瓶子在科技中心研究科技, 所以推动的重点在于瓶子的数量(生产的最终的目的是瓶子)和科技中心的研发速度(后面的插件可以加速)
客观来说, 我们可以通过倒推计算, 来得到 每一层的原材料的比例, 根据比例做生产的设计
但主观来说, 似乎以上的实现过于麻烦, 如果在前期的设计上过于注重于数量的精准, 会拖慢科技树发展的速度
所以我们需要权衡科技树推进和设计, 尤其是在前期, 过于的精准于数量(比如设计的没有余地) 会导致后期的扩展极其困难(过早优化是万恶本源), 所以可能前期的发展需要注重于推动科技本身, 在后期的流水线产品达到稳定后, 再开始进行精良的设计
宏观来说, 设计的含义在于”可持续性和可复制性”
可持续性, 我们需要留一些空间的余地, 留一些可以扩展的余地
空间就是物理空间,
扩展的余地, 我们需要定义好每个组件的输入输出的接口, 可以轻松的接入到其他的模块
微观来说, 关于每个模块的数量的比例, 比如需要机械臂和传送带来实现1:1或者1:2, 其实这个也是可以抽象出来做一个可复用的模块的
前期, 靠手搓, 中期, 靠一些组件的复用
游戏的本质
factorio就是沙盒游戏
沙盒游戏里的主要的特色就是科技树, 还有生产线
所以玩法上, 1提高效率来通关 2做优美的生产线 3用科技树来开发稀奇古怪的东西
但回归factorio
- 物流系统
- 固体生产线
- 流体生产线
- 能量供应
- 虫子
他其实多了几个制衡关系, 不是单纯的发展科技,,
这个游戏想让人体会到什么呢?
- 类似编程, 就是科技树的原材料就是输入, 结果就是输出, 如何做生产线就是设计的组件
- 如何抽象出范式就是蓝图
- 如何抽象出方法就是类似于一些接口的定义的抽象
- 需求是变化的
- 比如后期可能铁板需要扩展钢板, 如果设计上没有余地, 就很难扩展出个接口
- 尤其前期的模块 需要 留一下发展的空间
- 但和编程不同的是, 它是有时效性的, 不需要维护特别久, 所以不需要特别纠结于设计模式本身, 需要和科技树的推进权衡一下
好的设计
好的设计是可以复用的, 比如铁,铜之类的挖掘可以用同一个蓝图
比例相同的流水线也可以抽象出一个蓝图
但不管怎么说, 不能过度设计
2022-04-27T20:42:22+08:00
玩factorio发现自顶向下比自底向上效率更高,且更符合人性。为什么呢?因为顶层是简洁的,有秩序感,并且顶层是底层的发展结果。当从上往下看,底层的庞大而混乱的结构,抽象成了当前如此简单的黑盒结果,所谓封装。假如底层有铁板/铁齿轮等如此重要的组件,那就需要认真搞稳定。
4月最后,开始nullius的red设计,但现在卡在purple的自动化上。玩factorio上瘾是因为很想继续推动整体发展。它就是研究复杂度的媒介。但nullius按照过去玩本体的思路(计算-模块),有点局限,应该还有其他东西来完善它本身。
About dev and design of factorio.
graph TD;
AW[铁矿] --> A;
AX[铜矿] --> F;
AW --> A;
N --> A;
AX --> F;
N --> F;
AC --> P;
N --> P;
A[铁板] --> C[钢材];
A --> D[铁齿轮];
A --> E[管道];
A --> L[弹匣];
A --> AA[铁棒];
F[铜板] --> G[铜线];
AC[石矿] --> P[石砖];
G --> H[电路板];
A --> H;
F --> I[Red];
D --> I;
A --> J[传送带]; %% 一次
D --> J;
A --> K[机械臂]; %% 一次
D --> K;
H --> K;
J --> AD[Green];
K --> AD;
F --> M[穿中弹匣]; %% 一次
C --> M;
L --> M;
N[煤炭] --> O[手雷]; %% 一次
A --> O;
P[石砖] --> Q[墙壁];
M --> R[Grey];
O --> R;
Q --> R;
S[石油气] --> T[硫磺];
U[水] --> T[硫磺];
S --> V[塑料];
N --> V;
V --> W[集成电路];
G --> W;
H --> W;
C --> X[内燃机]; %% Yellow
D --> X;
E --> X;
T --> Y[Blue];
W --> Y;
X --> Y;
H --> Z[插件];
W --> Z;
F --> AB[中电线杆]; %% 可去掉
AA --> AB; %% 可去掉
C --> AB; %% 可去掉
AC --> AE[铁轨]; %% 一次
C --> AE;
AA --> AE;
P --> AF[电炉]; %% 一次
C --> AF;
W --> AF;
AE --> AG[Purple];
AF --> AG;
cZ --> AG;
AK[重油] --> AL[润滑油];
F --> AH[轻质框架];
C --> AH;
V --> AH;
H --> AJ[电动机]; %% 一次
X --> AJ;
AL --> AJ;
A --> AL[硫酸];
T --> AL;
U --> AL;
A --> AU[电池];
F --> AU;
AL --> AU;
C --> AI[机器人构架]; %% 一次
H --> AI;
AJ --> AI;
AU --> AI;
H --> AM[处理器];
W --> AM;
AL --> AM;
AH --> AN[Yellow];
AI --> AN;
AM --> AN;
F --> AP[太阳能板]; %% 以下都是一次
C --> AP;
H --> AP;
A --> AQ[雷达];
D --> AQ;
H --> AQ;
AV[轻油] --> AR[火箭燃剂];
AS[固体燃料] --> AR;
A --> AT[蓄电器];
AU --> AT;
AM --> AO[White];
AH --> AO;
AP --> AO;
AQ --> AO;
AR --> AO;
AT --> AO;
结构
可扩展(留空间,多接口). 降低依赖
- 给重要度大并且未研发生产的对象留空间
- 接口多加个箱子,四个方向。
模块化
- 按照比例分类。(排序按照重要度)
- ##TODO 用数据分析可视化一下。
- 按照层数分类。层数越低,密集度越高,复杂度越低。
- 底层(矿石)
- 中层(组装机)
- 高层(信息时代 研发中心 核武器)
- 输入输出为1.
连接。
- 连接灵活。
- 位置
- 运输 (学习铁路)
细节:
- 科技研发重要度:科技>武器>=生产
- 提高科技发展速度:
- 在电路板后加组装机生产插件
- 将瓶子生产自上而下模块化扩展
- 电路板扩展 再加一组 3个
- 平衡瓶子数量产出
分类
- 科技
- 生产
- 武器
- 新武器打虫子
- 弹药和炮塔自动化
- 瓶颈 -> 留余
0119 通关 太空mod有很多新的剧情。再就是铁路信号,通过信号来规划线路,没有用过,蛮好奇。它能怎么用,用来做什么。
0125 nullius 和 重新计算。
Nullius
plan
现在的目标不是精准完美的计算,而是protype。细节考虑点到为止。分几个方面:1. 基建 2. workflow的正常运行
基建
- 气体类的主要工具是化工厂,固体(铁相关)主要是熔炉/铸造厂。red之后的组装机。破碎机(可手搓,搞沙子用,估计需求不大)
- 气体回收和废水回收(得搜一下)
- 管道,需要大量。
wf
- 先到red再看以后的科技树
graph TD;
A[发动机] --> B[red];
C[铁齿轮] --> B;
D[塑料] --> A;
E[铁板] --> A;
F[铁丝] --> A;
G[铁棒] --> A;
H[乙烯C2H4] --> D;
I[Cl2] --> D;
H --> J[HCL];
I --> J;
K[甲烷CH4] --> H;
I --> H;
K --> L[水];
I --> L;
M[CO2] --> K;
N[H2] --> K;
M --> L;
N --> L;
O[CO] --> M;
L --> M;
O --> N;
L --> N;
P[石墨] --> O;
L --> O;
P --> N;
L --> N;
Q[空气] --> M[CO2];
Q --> I[Cl2];
R[海水] --> S[盐水];
R --> T[废水DROP];
S --> I[Cl2];
S --> N[H2];
S --> U[O2];
AD[铁矿] --> V;
AD --> AE[碎石DROP];
V[铁锭] --> E;
V --> G;
G --> F;
E --> C;
G --> C;
G --> Y[管道];
Y --> Z[地下管道];
AA[沙子] --> Z;
AB[砂岩] --> AA;
AB --> AC[石矿];